9. 可变长度( (VLEN )
DMA 通道可以利用源资料中的第一个位元组或字 (对于字, 使用[12:0]位元)作为传输长度,这样就允许了可变长度传输。有 4 种可选的可变长度传输模式(为了便于描述,我们假设传输长度参数的值为 LEN,源资料中的第一个位元组/字所指示的传输长度为 S) :
10. 传输模式
传输模式用于选择 DMA 通道传输资料的模式。共有四种传送模式:
实验步骤
1)打开鼎轩 WSN 实验箱,检查实验箱设备,确保实验箱设备完整、连接 无误后,连接电源线,打开电源开关;
2)用烧录线连接汇聚网关上的烧录接口与电脑 USB 接口; 3)双击打开目录(/cc2530-simple-demo/ DMA_Test )下的工程图标 dmatest.eww 打开工程;
4)点击 IAR 中的图标按钮编译程序;
5)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨 上去,点击调试并下载按钮将程序下载到汇聚网关上;
6)用串口线连接汇聚网关上的数据输出口和 PC 机 USB 接口,打开串口助 手,正确选择串口号(视具体电脑而定) 、波特率(9600),其他配置如下图都不更改。打开串口,可以看到输出的结果,如下图:
7 ) 修改实验代码,使用串口接收事件作为触发源触发 DMA 传输。 程序代码
程 序 源 文 件 路 径 为 /cc2530-simple-demo/ DMA_Test/dmatest.c 实验总结
DMA 传输可以自启动,也可以由触发源启动,若要触发源启动,只需设置
dmaConfig.TRIG
为对应的触发事件号码就可以了,数据手册有详细的对照表。
实验六 CC2530 Flash读写实验
一、实验目的
掌握 CC2530 芯片 Flash 的读写操作,同时为后面的综合实验做准备。
二、实验内容
使用 DMA 写 Flash, 将源缓冲区的数据使用 DMA 写到 Flash 的地址 0x01000处,然后读取到目的缓冲区中,使用串口查看。
三、实验环境
硬件:鼎轩 WSN 实验箱(汇聚网关、烧录线、平行串口线) ,PC 机; 软件:IAR 软件,串口助手。
四、实验步骤
1)打开鼎轩 WSN 实验箱,检查实验箱设备,确保实验箱设备完整、连接 无误后,连接电源线,打开电源开关;
2)用烧录线连接汇聚网关上的烧录接口与电脑 USB 接口; 3)点击目录(\\CC2530_simple_demo\\cc2530-simple-demo\\Flash_DMA_Write) 下的工程图标 Flash_DMA_Write.eww 打开工程;
4)点击 IAR 中的图标按钮 编译程序;
5)完成编译后若没有错误信息,将实验箱节点编程开关上汇聚网关开关拨
上去,点击调试并下载按钮 将程序下载到汇聚网关上;
6)用串口线连接汇聚网关上的数据输出口和 PC 机 USB 接口,打开串口助 手,正确选择串口号(视具体电脑而定) 、波特率(9600) ,其他配置如下图都不更改。打开串口,可以看到输出的结果,如下图:
7 ) 改变写入的地址,或是写入的数据,重新试验,深入理解程序中的读写函数。
程序代码
程序源文件路径为/cc2530-simple-demo/ DMA_Test/ Flash_DMA