硬汉嵌入式论坛

 找回密码
 立即注册
查看: 274|回复: 6
收起左侧

[有问必答] AT32 SPI+DMA使用问题

[复制链接]

2

主题

4

回帖

10

积分

新手上路

积分
10
发表于 2025-9-12 14:14:55 | 显示全部楼层 |阅读模式
我在使用AT32F437 SPI通信的时候遇到一个问题,我使用SPI +DMA方式。

在接收数据时,配置发送通道数据长度(目的是产生时钟信号)和接收数据长度和接收缓存,然后开启发送通道和接收通道,
但是接收BUF始终接收的前几个字节是0xff,我感觉是接收通道还没等到发送通道发送就开始接收数据了,逻辑分析仪抓波形是没问题的。
Snipaste_2025-09-12_13-26-23.png

回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118308
QQ
发表于 2025-9-12 16:40:27 | 显示全部楼层
你的目标芯片是什么,也是AT32的SPI从机吗
回复

使用道具 举报

0

主题

65

回帖

65

积分

初级会员

积分
65
发表于 2025-9-13 10:52:53 | 显示全部楼层
at32 spi dma 通讯可以参考我这个代码: https://github.com/dukelec/cdbus ... /usr/cdctl_spi_wr.c
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2025-9-13 19:40:29 | 显示全部楼层
eric2013 发表于 2025-9-12 16:40
你的目标芯片是什么,也是AT32的SPI从机吗

AT32做主机控制SPI flash
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2025-9-13 19:45:40 | 显示全部楼层
eric2013 发表于 2025-9-12 16:40
你的目标芯片是什么,也是AT32的SPI从机吗

主机读取从机数据的时候,给我的感觉是,主机发送通道还没发出时钟信号,接收通道的DMA就开始接收数据,所以接收到的数据前几个字节是0xff
回复

使用道具 举报

2

主题

4

回帖

10

积分

新手上路

积分
10
 楼主| 发表于 2025-9-13 19:46:48 | 显示全部楼层
dukelec 发表于 2025-9-13 10:52
at32 spi dma 通讯可以参考我这个代码: https://github.com/dukelec/cdbus ... /usr/cdctl_spi_wr.c

好的,我看一下代码然后实验一下,之前用GD32和At32f403A系列都没出现过这个问题
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
118308
QQ
发表于 2025-9-14 16:38:21 | 显示全部楼层
yang140 发表于 2025-9-13 19:40
AT32做主机控制SPI flash

如果是外接SPI Flash不该有这种问题,应该是主机配置有些问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-9-26 08:42 , Processed in 0.042155 second(s), 28 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表