求助 华大 HC32L130 串口DMA接收不定长数据的方法
最近在写一个关于华大单片机的串口接收程序,想节省CPU的开销所以想使用DMA来做串口的接收发送数据,发数据知道长度,但是接收数据不知道长度,有哪位大神用过这方面的东西,求指教 !!! 460系列,接收数据使用TIM0的timeout功能做帧超时。 是不是可以用队列的模式接收呢 用指针因该可以 自己制定一个通讯协议 再简单我也要定好协议 楼主问题解决了吗 这个芯片 没有STM32 的串口空闲中断 STM32 用DMA 加 空闲中断可以接受不定长数据这个只能用定时器 定时5ms开启串口接收中断,接收一个 刷新一次定时器, 定时器超时了 就是接收完了 迷惘186 发表于 2020-9-25 13:14
这个芯片 没有STM32 的串口空闲中断 STM32 用DMA 加 空闲中断可以接受不定长数据
这个只能用定时器 定时 ...
非常同意你的做法,只有串口空闲中断才可以接受不定长的数据。 迷惘186 发表于 2020-9-25 13:14
这个芯片 没有STM32 的串口空闲中断 STM32 用DMA 加 空闲中断可以接受不定长数据
这个只能用定时器 定时 ...
用DMA配合ADT 可以做类似的空闲中断,只是F030在接收的时候需要两路DMA配合,不需要开启接收中断。 弄个接收缓冲区 给大家说一下我最后是用的方法,开个定时器定时去查询寄存器DMAC_CONFA0 中的TC值通过这个来判断是否接收到数据,以及接收到的数据长度。 可以上个代码参考一下吗?提高一下小白代码水平,造福中国人
页:
[1]