|
发表于 2021-9-18 09:02:19
|
显示全部楼层
本帖最后由 inthsunshine 于 2021-9-18 09:18 编辑
也许BSY信号翻转有延迟? 但TXE和RXNE肯定不会, 或者你每次发送完,不关闭SPI试试,
我不用库函数,全部寄存器直接编程, 代码比直接汇编多不了多少, 有时也会看会汇编代码, 并不傻瓜,现在编译器的水平已经不低了,人写的汇编未必会超过它, 越是复杂的程序,用C的出错概率越低,stm32的flash普遍配置比较大(相对51系),即使浪费点代码也是值得的,很多时候用不完
手册上从来不推荐用BSY作为发送接收数据的依据, 你可以改成TXE再试试(这也是手册多次强调的,规范操作还是很重要), 我用TXE和RXNE从来没出错过
BSY我一般是作为主模式一次通信结束的标志(多个数据), 手册上也是这么建议的 |
|