butterflyspring 发表于 2018-6-14 16:01
如果是被其他中断打乱了,可以用DMA 模式,看不到代码都不知你用的是什么模式了 ...
SPI没有用DMA,但是AD的采集用的是DMA方式,他不像是受中断的影响,因为在执行SPI操作之前关了中断也不行。
feixiang20 发表于 2018-6-15 00:52
要么,多参考点资料【STM32F103的SPI通信时钟SCLK的一些现象和疑问】【STM32L431之SPI时钟过高导致无法通信 ...
我单独测试的时候是成功的,所以我认为和时钟频率可能没关系。您发的这几篇文章我看了看,我降低时钟频率也不行。
wenyangzeng 发表于 2018-6-21 09:53
SPI共用和OLED和W25Q16时,OLED和W25Q16应该有不同的片选信号,才不会出现冲突。楼主硬件和软件是否实现 ...
就是用的两个不同的片选信号,而且片选没有冲突,就是在片选有效期间,时钟异常。
す疯Ⅱ恒す 发表于 2018-6-21 10:21
我看你的CS线一直是低电平,即一直选中的状态。我估计是两个CS都选中了导致冲突了。
我建议你:1,先把其中 ...
片选信号一直都没有冲突,应该不是这个问题。
x5y4z3 发表于 2018-6-21 11:29
楼主的程序是否架构于 uC/OS 或啥 OS 之上?!
若是的话,要请留意关于任务等待号志Semaphore 的使用,不 ...
我这个是不带系统的,谢谢您的意见。
结贴:问题算是解决了,因为我也不知道是什么原因,所以我不知道该如何结贴。
我就是改了一个地方:
我的pwm的产生分为两部分:一部分是初始化;一部分是PWM的切换输出(因为是两个通道)。而我在切换的时候调用错了函数,调用成了初始化。我就是把这个初始化函数改成了PWM发射输出函数就没事了。具体的函数可以看之前的帖子,有贴出来。
watercici 发表于 2018-6-22 09:57
结贴:问题算是解决了,因为我也不知道是什么原因,所以我不知道该如何结贴。
我就是改了一个地方:
我的pw ...
好! 您这个总结的好啊!...
真是不得不让人佩服了哈~ ;P
波形图有点小,放大点看下
bugyang1 发表于 2018-6-25 17:53
波形图有点小,放大点看下
前面有那种放大的,就是只有5个或3个时钟的图。
bugyang1 发表于 2018-6-25 17:53
波形图有点小,放大点看下
放大的就是看的是小局部的了,看不全