- 1、本文档共3页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
USART实验
串口传输中查询与中断的优劣:
整体上讲查询方式会使程序运行一直处于等待状态,而中断方式可以保证程序的正常运行,很好的实现多任务方式。下面就具体项目中上位机和ARM板的通信方面详细说明一下:
上位机发送命令方面:
在上位机与ARM板的通信中,上位机给ARM板发送数据必须使用中断方式,这样才不会使系统处于一直等待状态,影响其它任务的正常运行,保证了整个控制系统的实时性和快速响应。
ARM板上传数据方面:
由于ARM采集到的信息是通过CAN中断进行的,像上位机发送信息也一块在CAN中断处理中完成了,并且上位机可以一直处于等待状态,对于ARM向上位机回发信息采用中断目前来讲意义不大。
串口中断(发送和接收)的产生机制:
AT91对于串口中断有专门的寄存器控制,实现简单的串口中断可以通过一下设置实现:
首先是串口初始化,以保证串口可以正常通信。
然后是写AIC相应寄存器注册相应串口中断。
然后是写中断服务子函数。
最后是使能AIC控制器中相应的串口中断和串口中断控制器中相应的接收发送中断。
需要指出的是在7X256芯片中设置了PDC模块(外设数据控制器),使用PDC避免了处理器干涉并减去了处理器中断处理开销。这显著减少了数据传输所需时钟周期数并提高了微控制器性能,使其更加高效。介于此我们的串口中应用到了这一外设,所以在相应的串口驱动中需要添加PDC接收发送使能语句。
串口出错检验:
根据串口传输协议,项目中主要是设置开始位、停止位和无奇偶校验位用于保证串口传输的正确性。
串口相关控制寄存器:
控制寄存器 US_CR
模式寄存器US_MR
中断使能寄存器US_IER
中断禁用寄存器US_IDR
中断屏蔽寄存器US_IMR
通道状态寄存器US_CSR
接收器保持寄存器US_RHR
发送器保持寄存器US_THR
波特率发生器寄存器US_BRGR
接收器超时寄存器US_RTOR
发送器时间保障寄存器US_TTGR
FI DI比率寄存器US_FIDI
错误数目寄存器US_NER
IrDA滤波寄存器US_IF
串口初始化代码:
int CMain (void)
{
AT91F_US0_CfgPMC(); //使能串口时钟
AT91F_US0_CfgPIO(); //设置引脚连接模块将对应IO连接到UART0
AT91C_BASE_US0-US_CR = 0X50; //使能接收发送器
AT91C_BASE_US0-US_MR=AT91C_US_USMODE_NORMAL |AT91C_US_NBSTOP_1_BIT |AT91C_US_PAR_NONE
|AT91C_US_CHRL_8_BITS
|AT91C_US_CLKS_FDIV1
|AT91C_US_OVER ;
//设置串口模式:普通模式 1位停止位 无奇偶校验 传输数据长度为8位 时钟分频输入 重采样模式
AT91C_BASE_US0-US_BRGR =39; //设置串口波特率 根据计算公式实际波特率为19200
AT91F_PDC_EnableTx (AT91C_BASE_PDC_US0); // PDC发送传输使能
AT91F_PDC_EnableRx (AT91C_BASE_PDC_US0); // PDC接受传输使能
}
简单中断接收方式代码:
int rBuf[3];
int CMain (void)
{
AT91F_AIC_DisableIt(AT91C_BASE_AIC,0xffffffff); //禁止所有中断
//------------注册串口接收中断--------------
AT91F_US0_CfgPMC(); //使能串口时钟
AT91F_US0_CfgPIO(); //设置引脚连接模块将对应IO连接到UART0
AT91C_BASE_US0-US_CR = 0X50; //使能接收发送器
AT91C_BASE_US0-US_MR=AT91C_US_USMODE_NORMAL |AT91C_US_NBSTOP_1_BIT |AT91C_US_PAR_NONE
|AT91C_US_CHRL_8_BITS
|AT91C_US_CLKS_FDIV1
|AT91C_US_OVER ;
//设置串口模式:普通模式 1位停止位 无奇偶校验 传输数据长度为8位 时钟分频输入 重采样模式
AT91C_BASE_US0-US_BRGR =39; //设置串口波特率 根据计算公式实际波特率为19200
AT91F_AIC_ConfigureIt(AT91C_BASE_AIC,AT91C_ID_US0,AT91C_AIC_PRIOR_HIGHEST,AT91C_AIC_SRCTYPE_INT_HIGH_LE
您可能关注的文档
- JSP程序设计案例教程模块二核心技术模块( 教学单元10 数据库元数据操作和分页).ppt
- JSP程序设计案例教程模块三高级应用模块(教学单元18 单元实践3).ppt
- JSP程序设计案例教程模块三高级应用模块(教学单元17 图形处理).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元12 JavaBean典型应用).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元13 Servlet基础).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元11 JavaBean操作基础).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元14 Servle典型应用).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元8 数据库增-删-改操作).ppt
- JSP程序设计案例教程模块二核心技术模块( 教学单元15 单元实践2).ppt
- JSP程序设计案例教程测试题库.doc
- GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 中国国家标准 GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs).pdf
- 《GB/T 39560.10-2024电子电气产品中某些物质的测定 第10部分:气相色谱-质谱法(GC-MS)测定聚合物和电子件中的多环芳烃(PAHs)》.pdf
- GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- 中国国家标准 GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 中国国家标准 GB/T 39560.302-2024电子电气产品中某些物质的测定 第3-2部分:燃烧-离子色谱法(C-IC)筛选聚合物和电子件中的氟、氯和溴.pdf
- GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样.pdf
- 《GB/T 39560.2-2024电子电气产品中某些物质的测定 第2部分:拆解、拆分和机械制样》.pdf
- 《GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯》.pdf
- 中国国家标准 GB/T 39560.303-2024电子电气产品中某些物质的测定 第3-3部分:配有热裂解/热脱附的气相色谱-质谱法(Py/TD-GC-MS)筛选聚合物中的多溴联苯、多溴二苯醚和邻苯二甲酸酯.pdf
文档评论(0)