pic的外设模块使用起来有点和别的单片机不一样.
就是除了要设置成外围模块以外,还要设置相关管脚的输出方向.
以spi为例,spi模块使用4个管脚,即SCK,SDI,SDO,SS,正常使用一般要设定SCK为输出, SDI为输入,SDO为输出,如果使用从机模式,SS要设定为输入.
别的单片机一般,不要设定外设模块的管脚输出方向,这样看好像PIC挺麻烦,实际上却是一个优点.
那就是如果使用spi的部分功能,例如只是驱动74hc595,那么只用spi的输出功能,那就可以设定SDI,SS为输出用作普通IO输出口功能,这样一下子就富余了2个IO输出脚!
如果用spi接74hc165做输入,那么可以把SDO设定为输入IO功能,SS用作输出功能!这样也一下子就富余了2个IO脚,分别用作输入输出.
而实际应用,74hc595,74hc165用作输出,输入扩展的时候非常多,使用spi驱动74hc595,74hc165远比IO口模拟时序驱动要高效的多!!!!
所以说,PIC确实是一个怪味豆,越咀嚼越有意思. |