打印
[AT32F437]

spi_i2s_data_transmit spi 发送问题

[复制链接]
2037|13
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zsf90|  楼主 | 2024-7-7 17:38 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
在调试 ST7789 驱动 LCD,遇到了点问题就是不知道为啥片选信号 CS 不正常,正常情况应该一个数据发送完成后 CS 拉高的,但是逻辑分析仪上显示的是一个数据没有发送完成 CS 就拉高了,大家帮我看看是怎么回事。
这是代码:





逻辑分析仪:


使用特权

评论回复
沙发
我喜欢打游戏| | 2024-7-15 14:57 | 只看该作者
执行spi_i2s_data_transmit函数之后还要在做一次标志位的判断,

使用特权

评论回复
板凳
liu96jp| | 2024-8-6 14:55 | 只看该作者
在调试 ST7789 驱动 LCD 时,如果片选信号 CS 不正常,即在一个数据发送完成之前 CS 就被拉高,这通常意味着驱动程序或硬件配置存在问题

使用特权

评论回复
地板
kaif2n9j| | 2024-8-6 16:02 | 只看该作者
确保 SPI 传输函数在发送完所有数据后正确地拉高 CS 信号

使用特权

评论回复
5
d1ng2x| | 2024-8-6 17:07 | 只看该作者
如果系统中有中断或其他任务切换,可能会干扰 CS 信号的控制。确保在发送数据期间没有其他任务或中断干扰 SPI 通信

使用特权

评论回复
6
w2nme1ai7| | 2024-8-6 18:12 | 只看该作者
要确保 CS 信号线连接正确,没有短路或断路

使用特权

评论回复
7
q1d0mnx| | 2024-8-6 19:20 | 只看该作者
检查电源和地线,确保电源和地线连接稳定,没有电压波动或接地不良

使用特权

评论回复
8
p0gon9y| | 2024-8-6 20:30 | 只看该作者
需要确保 SPI 时序符合 ST7789 的要求。如果时序不正确,可能会导致 CS 信号提前拉高

使用特权

评论回复
9
y1n9an| | 2024-8-6 22:00 | 只看该作者
尝试降低 SPI 速率,看看是否能解决问题。有时候过高的速率可能导致信号不稳定

使用特权

评论回复
10
chenqianqian| | 2024-8-7 08:27 | 只看该作者
用的硬件SPI还是软件SPI片选信号

使用特权

评论回复
11
ex7s4| | 2024-8-7 08:46 | 只看该作者
检查 CS 信号控制代码,确保在发送数据之前 CS 被拉低,在发送完数据之后 CS 被拉高

使用特权

评论回复
12
t1ngus4| | 2024-8-7 10:00 | 只看该作者
在代码中添加调试打印或使用调试工具(如调试器)来跟踪 CS 信号的控制逻辑

使用特权

评论回复
13
呐咯密密| | 2024-8-7 11:02 | 只看该作者
很明显的一个问题,Sspi_i2s_data_transmit()函数在将最后一个字节数据赋值到SPI发送寄存器之后便会结束,此时SPI硬件接口并不能及时的将数据送出去,就会导致CS提前拉高,所以要在发送完成之后再进行一次标志位判断。

使用特权

评论回复
14
g0d5xs| | 2024-8-7 15:00 | 只看该作者
查阅 ST7789 数据手册:仔细阅读 ST7789 的数据手册,确保所有操作都符合其要求

使用特权

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

本版积分规则

2

主题

7

帖子

0

粉丝