打印
[技术问答]

AC7801FDLA芯片,SPI作为从机DMA方式通信问题

[复制链接]
2495|11
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
fanchenxinok|  楼主 | 2022-1-17 10:59 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
hi  all,
使用Autochip官网提供的SDK,SPI作为从机DMA方式接收数据,主机端每隔250毫秒和300毫秒发送数据,但是从机接收几条数据就一直收不到数据了一直都是0. 但是用中断方式接收是完全OK的。代码如下:
                        memset(&rxMessage, 0, sizeof(stComMessage));
                        if(spiParms.spi_dma_enable != TRUE) {
                                //中断方式
                                SPI_ResetTransmitReceiveStatus(SPI0);
                                /*接收数据.*/
                                SPI_ReceiveInt(SPI0, (uint8_t*)&rxMessage, sizeof(stComMessage));
                                SPI_Slave_WaitFinish(0, COM_DIR_RX, 10);//等待接收完毕
                                SPI_ResetTransmitReceiveStatus(SPI0);
                        }
                        else { //DMA方式
                                /*接收数据.*/
                                s_dma_rx_finish = FALSE;
                                SPI_ReceiveDMA(SPI0, DMA0_CHANNEL0, (uint8_t*)&rxMessage, sizeof(stComMessage), DMA_RX_Callback);
                                SPI_Slave_WaitFinish(1, COM_DIR_RX, 10);//等待接收完毕
                        }



AUTOCHIP提供的SPI_ReceiveDMA和SPI_TransmitDMA接口有什么BUG吗?

使用特权

评论回复

相关帖子

沙发
james03| | 2022-1-18 10:47 | 只看该作者
帮顶,没用过AC78013的SPI从机,猜测可能是SPI状态或DMA状态没用清除

使用特权

评论回复
板凳
JasonLee27| | 2022-1-18 13:23 | 只看该作者
DMA从机最大的问题在于你一定要在主机发起通信前把数据准备好,否则一定会异常,应用笔记里面有主从机通信的例程,可以参考以下 SampleCode.rar (1.94 MB)

使用特权

评论回复
地板
fanchenxinok|  楼主 | 2022-1-18 15:11 | 只看该作者
JasonLee27 发表于 2022-1-18 13:23
DMA从机最大的问题在于你一定要在主机发起通信前把数据准备好,否则一定会异常,应用笔记里面有主从机通信 ...

我就是参考官网的samplecode, 我是两个板子通信,先启动从机 只做接收动作,再启动主机去发送,有时候收一帧就收不到任何东西了。

使用特权

评论回复
5
JasonLee27| | 2022-1-20 14:36 | 只看该作者
fanchenxinok 发表于 2022-1-18 15:11
我就是参考官网的samplecode, 我是两个板子通信,先启动从机 只做接收动作,再启动主机去发送,有时候收 ...

这种一般都是两边同步的问题,所以sample里面都是额外用了一个gpio来做主从机的同步,从机通过gpio来通知主机,确保从机一定是先准备好数据,主机才开始通信

使用特权

评论回复
6
tpgf| | 2022-2-4 17:07 | 只看该作者
这个是几线制的spi啊

使用特权

评论回复
7
paotangsan| | 2022-2-4 17:11 | 只看该作者
必须保证时钟同步

使用特权

评论回复
8
renzheshengui| | 2022-2-4 17:17 | 只看该作者
本身就是有时钟线的

使用特权

评论回复
9
wakayi| | 2022-2-4 17:24 | 只看该作者
感觉这样做需要配置的东西比较多啊

使用特权

评论回复
10
wowu| | 2022-2-4 17:32 | 只看该作者
不需要做的这么麻烦把

使用特权

评论回复
11
xiaoqizi| | 2022-2-4 17:41 | 只看该作者
不需要再用额外的引脚了啊

使用特权

评论回复
12
ynndmalh21| | 2022-2-9 12:12 | 只看该作者
这个一定要时钟同步才可以的,不然没有希望的。

使用特权

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

本版积分规则

16

主题

67

帖子

0

粉丝