SAM4E单片机在UART异步串口通信协议中的应用_第1页
SAM4E单片机在UART异步串口通信协议中的应用_第2页
SAM4E单片机在UART异步串口通信协议中的应用_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SAM4E单片机在UART异步串口通信协议中的应用这次试试使用UART,实现开发版和PC间的通信。功能比较简单,就是把PC发向开发版的内容发送回去。这次主要介绍一下UART的配置,至于通信,则使用较为简单的不断查询UART状态寄存器的循环实现。一、准备工作UART作为异步串口通信协议的一种,所以必须先要准备一根串口线。用串口线将PC的串口和开发板的DBGU口连起来。同时,在PC上需要准备好串口通信软件。二、电路DBGU有两个引脚分别与PA10和PA9相连,这两个复用引脚的外设A即为UART0。三、PIO配置需将PA9和PA10引脚两个引脚复用为外设A引脚。四、UART测试为测试线缆的连接、串口通信软件是否正确,可以先使用UART的测试模式。在使用“自动回应模式”或者“远程回环模式”时,接收引脚均会和发送引脚相连,即发送端会接收到发送的数据。以下为在UART_MR中选择“远程回环模式”时的代码:1UART0-》UART_MR=UART_MR_CHMODE_REMOTE_LOOPBACK;若PIO配置、线缆连接、PC端软件均无问题,则现在在PC端即可接收到原本发送的数据了。测试成功后注意删除相关的测试代码。五、UART配置PMC时启用UART时钟1PMC-》PMC_PCER0=(1《《ID_UART0);波特率设置波特率的计算方法为:MCK/(CD*16),其中CD在UART_BRGR中设置。因为CD必须为整数,所以能使用的波特率的值就较为有限了。同时,我所使用的串口通信软件只支持选择常用的波特率。而在通信过程中,对双方波特率的误差有一定的限制(如芯片手册中提到,不推荐USART在波特率误差超过5%时使用)。所以这更减少了波特率的选择范围。在使用默认MCK,即4MHz的情况下,我选择使用一个较为慢速的波特率:19200Hz。将CD的值设为13,使实际波特率为19230Hz左右,即误差大概为0.1%。1UART0-》UART_BRGR=UART_BRGR_CD(13);UART控制需要在UART控制寄存器(UART_CR)中使能接收器及发送器:1UART0-》UART_CR=UART_CR_RXEN|UART_CR_TXEN;UART数据包格式本芯片的UART支持的格式仅有:8位数据位、发送时停止位为1位。但我们可以设置校验位,不过为了简单起见,这里不使用校验:1UART0-》UART_MR=UART_MR_PAR_NO;六、数据收发通过不断查询状态寄存器的相关字段,以了解收发的状态,然后进行操作即可:123456789101112while(1){/*接收*/while((UART0-》UART_SR&UART_SR_RXRDY)==0);data=UART0-》UART_RHR;/*发送*/while((UART0-》UART_SR&UART_SR_TXRDY)==0);UART0-》UART_THR=

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论