添加收藏夹  设为首页  深圳服务热线:13751165337  13692101218
51电子网联系电话:13751165337
位置:首页 > IC型号导航 > 首字符A型号页 > 首字符A的型号第1464页 > ATMEGA323-8AI > ATMEGA323-8AI PDF资料 > ATMEGA323-8AI PDF资料1第81页
ATmega323(L)
数据传输 - 中
USART发送器
USART发送器通过设置启用
发送使能
在( TXEN )位
UCSRB寄存器。当发射器被启用,对正常的端口操作
TXD脚被USART覆盖,并给出了函数作为发送器的串行
输出。波特率,操作和帧格式的模式之前,必须设置好
做任何传输。如果使用同步操作, XCK引脚上的时钟
被覆盖,并作为传输时钟。
数据传输是通过加载与数据的发送缓冲器为反式启动
mitted 。 CPU可以通过写UDR I / O位置加载发送缓冲器。该
在发送缓冲器缓冲的数据将转移到移位寄存器时移
注册准备发送一个新的框架。移位寄存器加载了新的数据,如果是
在空闲状态(没有正在进行的数据传输)或后立即previ-的最后一个停止位
一帧被发送。当移位寄存器加载了新的数据,就会转移
在由波特率寄存器, U2X位或XCK给出的速度一个完整的帧depend-
决于操作模式。
下面的代码示例显示了基于轮询一个简单的USART发送功能
数据寄存器空
( UDRE )标志。当数据帧少于8位,
写入UDR最显著位被忽略。对USART进行初始化
之前的功能都可以使用。在汇编代码,该数据要发送,假定
要被存储在寄存器R16的。
汇编代码例程
(1)
USART_Transmit :
;
等待发送缓冲器为空
SBIS
UCSRA , UDRE
RJMP
USART_Transmit
;
把数据( R16 )到缓冲区,发送数据
OUT
RET
UDR,r16
以5到8发送帧
数据位
C代码示例
空间
USART_Transmit (
无符号字符型
数据)
{
/*
等待发送缓冲器为空
*/
{ } ( ( UCSRA & ( 1<<UDRE ) ) ! ) ;
/*
将数据放入缓存,将数据发送
*/
UDR =数据;
}
注意:
1.本代码假定的头文件包含。
该功能只需通过检测UDRE等待发送缓冲器为空
标志,用新的数据加载之前进行传输。如果数据寄存器空间
中断被利用,则中断例程将数据写入缓冲器中。
81
1457G–AVR–09/03

深圳市碧威特网络技术有限公司