- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
# 4.8.3 DMA中断 DMA 初始化如下: void DMAtest(void) { char i; char error = 0; //源字符串 unsigned char sourceString[] = I am the sourceString!\r\n; //目的字符串 unsigned char destString[sizeof(sourceString)]; memset(destString,0,sizeof(destString)); //源地址 dmaConfig.SRCADDRH=(unsigned char)((unsigned int)sourceString 8); dmaConfig.SRCADDRL=(unsigned char)((unsigned int)sourceString ); //目的地址 dmaConfig.DESTADDRH=(unsigned char)((unsigned int)destString 8); dmaConfig.DESTADDRL=(unsigned char)((unsigned int)destString); //选择LEN 作为传送长度 dmaConfig.VLEN = 0x00; //传输长度 dmaConfig.LENH = (unsigned char)((unsigned int)sizeof(sourceString)8); dmaConfig.LENL = (unsigned char)((unsigned int)sizeof(sourceString)); //选择字节byte传送 dmaConfig.WORDSIZE = 0x00; //选择块传送模式 dmaConfig.TMODE = 0x01; //无触发,可理解为手动触发 dmaConfig.TRIG = 0; 4.8.3 DMA中断 DMA 初始化如下: //源地址增量为1 dmaConfig.SRCINC = 0x01; //目的地址增量为1 dmaConfig.DESTINC =0x01; //使能中断 dmaConfig.IRQMASK = 1; //选择8位长的字节来传送数据 dmaConfig.M8 = 0x00; //传送优先级为高 dmaConfig.PRIORITY = 0x02; //将配置结构体的首地址赋予相关SFR DMA0CFGH = (unsigned char)((unsigned int)dmaConfig 8); DMA0CFGL = (unsigned char)((unsigned int)dmaConfig); asm(nop); //启用配置 DMAARM = 0x01; //清中断标志 DMAIRQ = 0x00; //启动DMA传输 DMAREQ = 0x01; } 4.8.3 DMA中断 头文件,宏定义及函数声明 //头文件 #include iocc2530.h #include string.h //LED的定义 #define LED1 P1_0 #define LED2 P1_1 #define LED3 P1_2 #define LED4 P1_3 //源字符串 unsigned char sourceString[] = I am the sourceString!\r\n; //目的字符串 unsigned char destString[sizeof(sourceString)]; //函数的声明 void InitDMA(void); void LED_Init(void); void initUARTtest(void) 4.8.3 DMA中断 LED的初始化 void LED_Init(void) { //p1为普通I/O口 P1SEL = 0x00; //p1.0,p1.1,p1.7输出 P1DIR |= 0x0F; //打开LED1 LED1 = 0; //打开LED2 LED2 = 0; //关闭LED3 LED3 = 0; //关闭LED4 LED4 = 0; } 4.8.3 DMA中断 Main()函数 void main(void) { Delay(100); EA = 0; //LED初始化; LED_Init(); //串口初始化 initUARTtest(); //DMA初始化 InitDMA(); //
您可能关注的文档
最近下载
- 县城排水防涝提升改道工程监理细则.docx VIP
- 新版DFMEA&PFMEA表格模板.xlsx VIP
- 人教版高中物理必修第三册精品课件 第9章 静电场及其应用 专题提升二非点电荷电场强度的求解、电场线和轨迹问题.ppt VIP
- 创伤性休克的治疗 治疗创伤性休克的偏方 如何治疗创伤性休克.doc VIP
- 全国职业大赛(中职)ZZ032建筑信息模型建模赛题第9套.docx VIP
- 医共体综合服务能力提升建设项目可行性研究报告.docx
- GB_T 1348—2019《球墨铸铁件》标准解读.pdf VIP
- 三溴化硼BBr3.doc VIP
- 西安地铁丰庆路基坑围护结构施工方案设计.doc
- 高一【美术(人美版)】抒情与写意——文人画-课件.pptx VIP
文档评论(0)