你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
TLLED 发表于 2018-6-14 14:10 可以单独写一个SPI通信程序,单独测试,其他端口不用,查找程序上那儿配置不对。 ...
查看全部评分
时钟紊乱
toofree 发表于 2018-6-21 09:21 有没有使用操作系统?用的硬件SPI还是软件IO模拟SPI?如果是硬件SPI,那么用的什么型号的芯片? 从图片看 ...
watercici 发表于 2018-6-20 13:57 统一回复,该问题没有解决!谢谢大家的意见,为了更好的解决问题,我在说的详细一些: 1:我的SPI是OLED和W ...
wenyangzeng 发表于 2018-6-21 09:53 SPI共用和OLED和W25Q16时,OLED和W25Q16应该有不同的片选信号,才不会出现冲突。楼主硬件和软件是否实现 ...
嗯呢,好的,谢谢。
评分
查看全部评分
你看看是不是外部信号影响。有没有可能是硬件干扰问题。
你要排除软件问题也简单,就找一个SPI的例程,别的啥也不跑,再测测波形。
评分
查看全部评分
统一回复,该问题没有解决!谢谢大家的意见,为了更好的解决问题,我在说的详细一些:
1:我的SPI是OLED和W25Q16共用一个SPI;
2:单独调试的时候SPI通信成功;但是放在程序里面会出问题;
3:目前初始化的时候会有OLED显示和FLASH是否是首次使用的判断,此时二者的时序是正常的
4:但是进入主循环,先进行AD采集,数据处理判断,然后OLED显示,将测试数据写入FLASH,此时二者的SPI时序开始异常,时钟紊乱。
我知道大家不好定位,但是我希望大家给我看看,出现这种情况可能是什么原因造成的,我好有思路,自己在程序中定位。
谢谢!
时钟紊乱
从图片看,可能是软件模拟SPI吧?如果是软件模拟SPI,并且没有使用操作系统,那么有可能是某些中断造成的。
评分
查看全部评分
我用的是软件NSS,不带系统,我昨天给错误的地方定位了一下,发现是在我AD采集的过程中会有一个PWM波输出端的切换,我没有切换只是进行了初始化,(因为原来的函数PWM的初始化和切换打开是在一个函数里面,现在我把初始化和PWM切换输出放在了两个函数里面)。现在我把初始化函数去掉改成打开切换PWM波的输出就没有事情了。但是我仍然不知道为什么?
还有您说的中断造成的是什么意思,能详细的说一下吗?
下面是我的PWM波的初始化和打开函数。
SPI共用和OLED和W25Q16时,OLED和W25Q16应该有不同的片选信号,才不会出现冲突。楼主硬件和软件是否实现了?
评分
查看全部评分
是不同的片选信号,OLED接在了SPI的NSS引脚(软件模式),W25Q16接在了普通IO上
我建议你:1,先把其中一个CS拉高,单独去测试一个器件,然后调换过来再测试。2.如果上面都可以通过,那么把两个器件一起控制的时候一定要分开不同时间驱动,保证同时只有一个CS拉低。保证操作完一个器件之后把该CS拉高。
评分
查看全部评分