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

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管理
行使您的权利
官方最新发布
STM32N6 AI生态系统
STM32MCU,MPU高性能GUI
ST ACEPACK电源模块
意法半导体生物传感器
STM32Cube扩展软件包
关注我们
微信公众号二维码 微信公众号
手机版二维码 手机版