你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

SPI通信出现时钟紊乱  

[复制链接]
watercici 提问时间:2018-6-14 10:30 /
阅读主题, 点击返回1楼
收藏 2 评论39 发布时间:2018-6-14 10:30
39个回答
x5y4z3 回答时间:2018-6-21 11:29:50
楼主的程序是否架构于 uC/OS 或啥 OS 之上?!
若是的话,要请留意关于任务等待号志  Semaphore 的使用,不然同一个 SPI 就被两个任务给占用了!

评分

参与人数 1蝴蝶豆 +3 收起 理由
zero99 + 3

查看全部评分

watercici 回答时间:2018-6-21 11:36:15
x5y4z3 发表于 2018-6-21 11:29
楼主的程序是否架构于 uC/OS 或啥 OS 之上?!
若是的话,要请留意关于任务等待号志  Semaphore 的使用,不 ...

没有,我这是不带系统的
watercici 回答时间:2018-6-21 11:36:39
x5y4z3 发表于 2018-6-21 11:29
楼主的程序是否架构于 uC/OS 或啥 OS 之上?!
若是的话,要请留意关于任务等待号志  Semaphore 的使用,不 ...

谢谢您!
wenyangzeng 回答时间:2018-6-21 12:32:25
watercici 发表于 2018-6-21 10:15
是不同的片选信号,OLED接在了SPI的NSS引脚(软件模式),W25Q16接在了普通IO上 ...

应该不接到NSS上,与W25Q16同样另外接一个IO口,这样2个SPI片选条件才一致。
馒头弟 回答时间:2018-6-21 15:29:27
其他外设功能初始化先屏蔽,一个个打开,再测试看看

评分

参与人数 1蝴蝶豆 +2 收起 理由
zero99 + 2

查看全部评分

xmshao 回答时间:2018-6-21 15:49:52
1. 确认管脚配置上没有冲突;
2.你到底是时钟紊乱还是发送数据紊乱,如果前者硬件及配置原因居多。如果后者,你的
SPI数据是怎样发送的,有无受到其它中断打断或干扰?

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

toofree 回答时间:2018-6-21 16:41:01
从来就没说过用的什么芯片
zhjb1 回答时间:2018-6-21 17:35:18
看了讨论大致了解一点了。SPI方式硬件中断处理两个或以上事件是不会有问题的。我想的可能原因与前边有位网友的一件相似——用1个SPI处理两个事件上排他性做的不够。是否考虑硬件上1个IO口或NSS信号非门给另一个片子,是两者在硬件上排他性,如果此两者也需要控制,在再加个与信号使能这两个事件就应该没有问题了。软件模拟,可以考虑采用状态机的模式来告知OLED或FLASH分别执行。仅供参考。试试吧

评分

参与人数 1蝴蝶豆 +4 收起 理由
zero99 + 4

查看全部评分

watercici 回答时间:2018-6-22 09:31:11
butterflyspring 发表于 2018-6-14 10:39
把调用函数发一下?我不知道你之前的贴叫什么..

您好,问题算是解决了,但是我不知道原因,就是有一个和SPI无关的函数调用错了,就是上面帖子中PWM波的两个函数,本来应该用第二个,结果我写成了第一个,改了之后就没事了。
watercici 回答时间:2018-6-22 09:31:36
TLLED 发表于 2018-6-14 14:10
可以单独写一个SPI通信程序,单独测试,其他端口不用,查找程序上那儿配置不对。 ...

单独测试是没有问题的

所属标签

相似问题

关于意法半导体
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
招聘信息
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
关注我们
st-img 微信公众号
st-img 手机版