官方STCISP中的硬件SPI参考代码是否有BUG?
调试了一个晚上代码一直卡在while (!(SPSTAT & 0x80));这句了刚刚又仔细对了下手册 好像发现了问题
发现 SPCTL 这里用的是0X50 也就是 第一位是0
而手册里介绍BIT7 等于0时候主从关系是由SS 引脚确定的, 而这里参考代码上通讯前SS设置为0了,也就是从机模式。
所以感觉这里 STCISP 中的参考代码是错的 可以拿逻辑分析仪,看看波形是否存在,时序对不对。建议先试试把SSIG设置为1,看看是否再次卡住。 kundi 发表于 2021-4-7 00:29
可以拿逻辑分析仪,看看波形是否存在,时序对不对。建议先试试把SSIG设置为1,看看是否再次卡住。 ...
原先参考的代码SS=0改为=1代码没有卡在WHILE(1)过了, 只要改成=0,代码就卡住
后来初始化代码改成D0后 , SPI 读写都对了 试了一下,确实是楼主说的这样的。 这STC的手册也正是无语,可能习惯不同,弄个PWM输出,你就说是哪个定时器,偏不,改成PWMA/PWMB,看H文件,实际还是用的定时器,这样不会跟定时器打架?
页:
[1]