求助。 关于E230 SPI1数据帧格式错误

[复制链接]
852|16
手机看帖
扫描二维码
随时随地手机跟帖
xlqeft|  楼主 | 2024-7-6 09:48 | 显示全部楼层 |阅读模式
  因为项目需要使用硬件SPI,所以选择GD32E230C8T6。请问有人遇到过这样的问题吗? GD32E230C8T6使用SPI1初始化配置8位数据帧格式,实际发送16位数据帧。初始化4位,实际发送8位数据帧,且低位都为0. 对于这样的问题请问是我配置错误没有注意到SPI1有一些需要注意的事项? 还是说这一直都存在这个bug?  如果是我没有注意到的地方可否详细指出 让我改正。图为初始化代码和Debug时候寄存器值

代码和Debug时候寄存器值

代码和Debug时候寄存器值

使用特权

评论回复
chenjun89| | 2024-7-7 20:39 | 显示全部楼层
难道是自动填充高位

使用特权

评论回复
y1n9an| | 2024-7-29 12:17 | 显示全部楼层
在使用GD32E230C8T6微控制器的SPI1接口时,如果您遇到配置与实际发送数据不一致的问题,可能是由于配置错误导致的

使用特权

评论回复
suw12q| | 2024-7-29 13:23 | 显示全部楼层
确保在初始化SPI1时正确设置了数据帧格式。例如,如果您希望发送8位数据帧,应该在初始化时设置为8位

使用特权

评论回复
w2nme1ai7| | 2024-7-29 14:27 | 显示全部楼层
检查SPI的数据长度设置是否正确。GD32的SPI模块通常允许设置数据长度,确保您设置的长度与实际发送的数据长度一致

使用特权

评论回复
su1yirg| | 2024-7-29 15:30 | 显示全部楼层
可以看看SPI_CTL0寄存器的SPI_FF16位,该位用于选择8位或16位数据帧格式。如果该位设置为1,则表示使用16位数据帧格式;如果设置为0,则表示使用8位数据帧格式

使用特权

评论回复
p0gon9y| | 2024-7-29 16:30 | 显示全部楼层
在发送数据时,确保将数据写入SPI_DATA寄存器时,数据的长度与配置的数据帧格式一致

使用特权

评论回复
tax2r6c| | 2024-7-29 17:38 | 显示全部楼层
要保证SPI的时钟极性和相位(CPOL和CPHA)设置正确,这会影响数据的发送和接收。

使用特权

评论回复
q1d0mnx| | 2024-7-29 19:05 | 显示全部楼层
建议查查SPI的硬件连接是否正确,包括MISO、MOSI、SCK和NSS(如果使用)

使用特权

评论回复
shenxiaolin| | 2024-7-29 22:05 | 显示全部楼层
感谢分享

使用特权

评论回复
lamanius| | 2024-7-30 08:24 | 显示全部楼层
检查您的发送逻辑是否正确,确保在发送数据时没有逻辑错误

使用特权

评论回复
kaif2n9j| | 2024-7-30 10:00 | 显示全部楼层
建议您使用的固件版本是最新的,以避免已知的bug。库函数:确保您使用的库函数正确,并且没有调用错误

使用特权

评论回复
l1uyn9b| | 2024-7-30 13:12 | 显示全部楼层
建议您查看GD32E230C8T6的官方文档和示例代码,或者联系技术支持以获取进一步的帮助。同时,您也可以尝试在论坛或社区中寻求帮助,看看是否有其他开发者遇到类似的问题并找到了解决方案。

使用特权

评论回复
地瓜patch| | 2024-7-31 21:37 | 显示全部楼层
最后解决了么

使用特权

评论回复
建议使用官方案例程序进行下载测试

使用特权

评论回复
烟雨蒙蒙520| | 2024-7-31 22:53 | 显示全部楼层
在GD32E230C8T6的SPI配置中,需要设置数据帧格式为8位或16位。确保在初始化代码中配置了正确的帧格式。

使用特权

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

本版积分规则

1

主题

5

帖子

0

粉丝