如上图,SPI寄存器中每一位都有一个名字。每一个名字都对应一个位操作。如CPHA的宏定义是0x0400,CPOL对应的是0x0800. 配置寄存器时,你可以直接送十六进制数据,但为了容易阅读,通常直接将配置位值通过“与或”方式送给寄存器。0x1001实际上代表的是将TIMOD模式配置为01,SPI选择主模式。
*pSPI_CTL=0x1001|CPHA|CPOL;
实际上就是
*pSPI_CTL=0x1001|0x0400|0x0800;
「该帖子被 andy 在 2014-04-15 09:17:09 编辑过」