2015-5-27 23:47| 发布者: kaloha| 查看: 3334| 评论: 0
ATmega32 在进行通信之前首先要对 USART 进行初始化。初始化过程通常包括波特率的设定,帧结构的设定,以及根据需要使能接收器或发送器。对于中断驱动的 USART 操作,在初始化时首先要清零全局中断标志位 ( 全局中断被屏蔽 )。重新改变 USART 的设置应该在没有数据传输的情况下进行。TXC 标志位可以用来检验一个数据帧的发送是否已经完成, RXC 标志位可以用来检验接收缓冲器中是否还有数据未读出。在每次发送数据之前 ( 在写发送数据寄存器 UDR 前 )TXC 标志位必须清零。以下是 USART 初始化程序示例。例程采用了轮询 ( 中断被禁用 )的异步操作,而且帧结构是固定的。波特率作为函数参数给出。在汇编程序里波特率参数保存于寄存器 r17:r16。当写入 UCSRC 寄存器时,由于 UBRRH 与 UCSRC 共用 I/O 地址,URSEL 位 (MSB) 必须置位。
( ATmega32 USART初始化汇编代码例程 )
( ATmega32 USART初始化C代码例程 )
以上资料参考马潮老师的中文手册,由微雪电子整理并发布,转载请注明出处:www.waveshare.net,否则追究相应责任!
评论
微雪官网|产品资料|手机版|小黑屋|微雪课堂. ( 粤ICP备05067009号 )
GMT+8, 2024-11-25 10:09 , Processed in 0.020070 second(s), 20 queries .