打印

SPI 发不出数据

[复制链接]
3099|12
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
spi, AC, ck, IO, os

    调SPI1遇到些问题,想用SPI的输出做一个IO高速翻转的控制,配置完以后能侧到SCK有时钟输出,循环的8个脉冲,但是MOSI管脚无输出,看寄存器里TXE始终是1,而我的数据已经放到DR里了,请帮助分析一下,谢谢。



沙发
fastolf| | 2013-6-4 19:40 | 只看该作者
用示波器看下时序,首先保证时钟信号,有但是需要看看是否存在异常?

使用特权

评论回复
板凳
grasswolfs| | 2013-6-4 20:27 | 只看该作者
说实话,其实不太赞成用芯片自带的SPI接口,最好还是自定义一下,用普通IO模拟SPI,根据时序写一下,保证正确性而且可以适应各种SPI格式

使用特权

评论回复
地板
vipsongyan|  楼主 | 2013-6-4 20:34 | 只看该作者
fastolf 发表于 2013-6-4 19:40
用示波器看下时序,首先保证时钟信号,有但是需要看看是否存在异常?

时钟信号还是挺好的



上图是单纯看 SCK 波形



上图蓝线是MOSI波形,貌似相位比 SCK 滞后1/4周期,但他肯定不是数据,因为我往DR里写0x00、0xAA、0xFF波形都是一样的,这个波形应该就是时钟,但赋值小了很多,谁能给解释一下么,是否是高速信号辐射出去的?这个不太懂。


  归根到底就是TXE始终是1,TX buffer是空的,但从仿真来看明明里面有东西,所以断点那个while根本没用,每次判断都不会进去,注释掉了一点影响都没有。纳闷在为什么DR写了数据了,TXE不清0.



另有一个新发现,我把SPI发送放到外部中断里面去,IO的频率竟然变成了36M,这个很稀奇吧,都说最高18M,这会儿竟然是最高的两倍,谁能给解释一下。




新建文件5.jpeg (134.18 KB )

新建文件5.jpeg

使用特权

评论回复
5
vipsongyan|  楼主 | 2013-6-4 20:35 | 只看该作者
grasswolfs 发表于 2013-6-4 20:27
说实话,其实不太赞成用芯片自带的SPI接口,最好还是自定义一下,用普通IO模拟SPI,根据时序写一下,保证正 ...

我需要很高的速度,18M都将将好,如果自己写肯定达不到这个速度

使用特权

评论回复
6
grasswolfs| | 2013-6-4 21:58 | 只看该作者
这么高的速率为什么还要用SPI呢?

使用特权

评论回复
7
fastolf| | 2013-6-5 10:16 | 只看该作者
vipsongyan 发表于 2013-6-4 20:34
时钟信号还是挺好的

标志位没有清零说明数据根本没有发送成功,SPI时钟波形并不理想。

使用特权

评论回复
8
vipsongyan|  楼主 | 2013-6-5 11:00 | 只看该作者
fastolf 发表于 2013-6-5 10:16
标志位没有清零说明数据根本没有发送成功,SPI时钟波形并不理想。

    恩,是,数据没有发送成功是肯定的了,波形都没有。始终不理想但我感觉也不会影响数据发送吧,再说不理想也没有到无法接受的程度,这个波形就是STM32直接输出的波形。

   现有的信息:

    (1)DR寄存器里的数据是我想写的数据;
    (2)有时钟输出;
    (3)数据没有发送出来;
    (4)TXE没有清0.

   现在就是想问一下有经验的高手为什么会出现这种情况,可能是哪里的问题,我感觉应该是跟配置有关,可我第一次配SPI感觉也没什么大问题,配置的过程也截图了。我的用法是把SPI的数据输出引脚作为一个高速IO输出,不关心SPI接收的数据,我只想让他按照我赋给的字节向外发送,上面的配置是否有不对的地方。

使用特权

评论回复
9
zhuzi1984| | 2013-8-17 08:47 | 只看该作者
请问楼主,问题解决了吗,我也刚好碰到这个问题,跟你描述的一模一样。

使用特权

评论回复
10
outstanding| | 2013-8-17 10:34 | 只看该作者

使用特权

评论回复
11
s_f_tan| | 2013-8-17 14:50 | 只看该作者
MOSI 的AFR 配置了没有?

使用特权

评论回复
12
liangliangbing| | 2014-9-15 15:16 | 只看该作者
问题一样~只是我用的是KE04的芯片求解答~

使用特权

评论回复
13
bear1| | 2014-12-16 20:44 | 只看该作者
liangliangbing 发表于 2014-9-15 15:16
问题一样~只是我用的是KE04的芯片求解答~

请高手来解答一下

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

1

主题

10

帖子

1

粉丝