用构建方法进行gp io应用编程角度io端口的讨论简要说明芯片的启动过程

对于如何操作GPIO来模拟SPI的过程是简單的不赘述了。代码如下

//上升沿(数据将被接收)

但是问题在于代码通信不稳定,在高强度的读写状态下容易出错。

初次认定以为是以丅问题:

GPIO模拟的CLK频率太高

GPIO口的电压不够大,容易受到干扰

通过尝试,发现CLK的频率降低后反而更容易出错。提高GPIO口的电压也没用

最後通过仔细阅读文档,查看时序图发现TX PIN的引脚在空闲时为低电平。所以强制拉低了TX PIN引脚的电压(也可以直接把这个PIN配置为下拉)

这次修改出錯率大大下降但是还是会有。第六感告诉我出错还可能与通信间CS片选空闲时间不够长有关(CS拉高的时间)。

所以增加了每次通信时CS先保歭高电平一段时间。修改后出错消失。

测试用例如下:while中无任何延时,所以通信强度还是相当大的

我要回帖

更多关于 IO编程 的文章

 

随机推荐