微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > CC2530的两个串口能同时使用DMA来实现吗

CC2530的两个串口能同时使用DMA来实现吗

时间:10-02 整理:3721RD 点击:

我的协议栈版本是2.5.1a,实现要点是怎样的

HAL的代码是全开源的,你可以随便修改。从硬件来说CC2530的两个串口是等效的,因此用DMA是没有问题的。

不过协议栈现有的代码并不提供对于双DMA的支持。一般如果需要使用双串口的话,建议一个DMA,另一个ISR。

双DMA需要对代码做大修改,要点如下:

1.CC2530有5个DMA控制器,一个串口需要两个(收一个,发一个)。需要为多出来的串口,重新选择两个DMA控制器。这样加密模块就没有DMA可用了。

2.所有的串口DMA驱动所使用的全局变量,都由一份变为两份,即由一个变量,变成一个两个元素的数组。改动的难度不大,但是改的地方非常多。

我曾经改过一次,花了一个下午的时间。但是后来发现可以1 DMA + 1 ISR之后,就没有继续了。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top