- 1、本文档共231页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话: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(); //
您可能关注的文档
最近下载
- 2025年国家能源集团神华工程技术有限公司社会招聘(100人)笔试模拟试题及答案解析.docx VIP
- 监理细则-(真空预压).doc VIP
- 2025至2030年中国交联pvc泡沫行业市场全景评估及投资前景展望报告.docx
- 山东临沂经济开发区城市建设投资有限公司招聘笔试题库2023.pdf VIP
- 家具史:法国洛可可家具.pptx VIP
- 首诊负责制试题及答案.pdf VIP
- 充泥管袋袋装碎石抛石等工程监理实施细则.doc VIP
- 2025年国家能源集团神华工程技术有限公司社会招聘(100人)笔试备考题库及答案解析.docx VIP
- 2024年全国中考语文试题汇编——议论文阅读及答案.docx VIP
- 2025国家能源集团神华工程技术有限公司社会招聘100人考试备考题库及答案解析.docx VIP
文档评论(0)