STM32 和 STC单片机SPI通信字节最后一位出错 STC单片机的SPI通信,主机发送数据给从机正常,然后从机返...

\u6c42\u52a9\uff1aSTC\u5355\u7247\u673a\u7684SPI\u4ece\u673a\u95ee\u9898\uff0c\u7b2c\u4e00\u4e2a\u5b57\u8282\u6700\u540e\u4e00\u4f4d\u51fa\u9519

\u90a3\u6709\u8fd9\u4e48\u7b80\u5355\uff01\uff01
\u60f3\u4e0d\u60f3\u5b9e\u73b0\u8fd9\u6837\u901a\u4fe1\u534f\u8bae\uff1f

\u8f93\u5165\u8f93\u51fa\u4e00\u4f53\u5316\u6a21\u5757\uff1a
\u677f\u5b50\u4e0a\u7684\u786c\u4ef6\u8d44\u6e90\u670952\u5355\u7247\u673a\u4e00\u4e2a\uff0c8*8led\u70b9\u9635\u5c4f16\u4e2a\uff0c4\u4f4d\u4e00\u4f53\u6570\u7801\u7ba18\u4e2a\uff0832\u4e2a\u663e\u793a\u4f4d\u4f4d\uff09\uff0cled\u706f16\u4e2a\uff0c4*4\u77e9\u9635\u952e\u76d8\uff0c74ls154\uff0c74ls373\uff0c\u5206\u7acb\u4e0e\u95e8\uff0c\u6216\u95e8\u7b49\u7b49\u3002
\u4e3b\u7a0b\u5e8f\u8d1f\u8d23\u6240\u6709\u5668\u4ef6\u9a71\u52a8\u4ee5\u53ca\u548c\u5916\u754c\u6570\u636e\u4ea4\u6362\u3002\u6a21\u5757\u4e0a\u6709\u952e\u6309\u4e0b\u540e\u901a\u77e5\u4e3b\u673a\u8bfb\u53d6\u952e\u503c
\u548c\u5916\u754c\u901a\u4fe1\u67094\u79cd\u901a\u4fe1\u534f\u8bae\u53ef\u9009\uff0c1_Wire\uff0cI2C, UART, SPI\u3002 \u6bcf\u79cd\u534f\u8bae\u90fd\u652f\u6301\u603b\u7ebf\u4e0a\u6302\u63a5256\u4e2a\u6a21\u5757\u3002
1_Wire \u603b\u7ebf\u6a21\u5f0f\u65f6\u6240\u6709\u6a21\u5757\u53ef\u4ee5\u6302\u63a5\u5728\u5355\u7ebf\u4e0a \u3002\uff08\u6bcf\u79d2\u4f20\u8f9327531\u5b57\u8282\uff09
I2C \u6a21\u5f0f\u65f6\u6240\u6709\u6a21\u5757\u53ef\u4ee5\u548c\u6807\u51c6\u7684I2C\u5668\u4ef6\u6302\u63a5\u5728\u4e00\u8d77 \u3002\uff08\u6bcf\u79d2\u4f20\u8f9338782\u5b57\u8282\uff09
UART \u6a21\u5f0f\u65f6\u6240\u6709\u6a21\u5757\u8fd8\u53ef\u4ee5\u76f4\u63a5\u88abPC\u673a\u63a7\u5236 \u3002\u3002\uff08\u6bcf\u79d2\u4f20\u8f9337062\u5b57\u8282\uff09
SPI \u6a21\u5f0f\u65f6\u6240\u6709\u6a21\u5757\u53ef\u4ee5\u548c\u6807\u51c6\u7684SPI\u5668\u4ef6\u6302\u63a5\u5728\u4e00\u8d77\u3002\u3002\uff08\u6bcf\u79d2\u4f20\u8f9338782\u5b57\u8282\uff09

SPI\u662f\u901a\u8baf\u65f6\uff0c\u4e3b\u673a\u53d1\u9001\u4e00\u4e2a\u6570\u636e\u540e\uff0c\u4ece\u673a\u4e5f\u4f1a\u8fd4\u56de\u4e00\u4e2a\u6570\u636e\u7684\uff0c\u8fd9\u76f8\u5f53\u4e8e\u4e00\u4e2a\u79fb\u4f4d\u5bc4\u5b58\u5668\uff0c\u8fd9\u8fb9\u6570\u636e\u8fdb\u90a3\u8fb9\u6570\u636e\u5c31\u88ab\u79fb\u51fa\u6765\uff0c\u4f46\u88ab\u79fb\u51fa\u6765\u7684\u8fd9\u4e2a\u6570\u636e\u662f\u968f\u673a\u7684\u3002\u9664\u975e\u662f\u4ece\u673a\u4e3b\u52a8\u53d1\u9001\u6570\u636e\u7ed9\u4e3b\u673a\uff0c\u82e5\u8fd9\u65f6\u4e3b\u673a\u63a5\u6536\u4e0d\u6b63\u786e\uff0c\u90a3\u5c31\u662f\u63a5\u6536\u90a3\u8fb9\u7684\u65f6\u5e8f\u5199\u9519\u4e86\u5427\uff0c\u53ef\u4ee5\u4e0a\u4f20\u622a\u56fe\u8fdb\u4e00\u6b65\u5206\u6790

STC单片机的SPI本来就有很多问题,跟很多器件都无法实现正常的SPI通讯,硬件SPI跟ENC28J60通讯一直都不行。

这种情况尝试一下吧SPI时钟降低一点看看。
SYSCLK/8或者更低

以前用STC单片机硬件spi资源时出现过问题,官方手册上说降低spi通信速率
不过我后来都是用模拟spi的方式去做的,祝你好运
没事可以看看官方文档或者有关书籍,急不来。

是不是最后一位延时有点长呢

扩展阅读:宏晶stc单片机官网 ... stm和stc单片机的区别 ... spwm stm32 ... stc官网 ... stm32 nrst ... stm32新颖毕业设计题目 ... proteus stm32 ... stm32usb phy ... stm32和51单片机哪个简单 ...

本站交流只代表网友个人观点,与本站立场无关
欢迎反馈与建议,请联系电邮
2024© 车视网