最近因为做东西,又重新写了一下AVR,在这整理一下
串口通信是这个是比较常用的部分,Atmega32只有一个串口,USART
基本串口编程只需要写两部分,串口的初始化与串口数据接收
串口初始化:
设置波特率,波特率可以通过设置波特率发生寄存器UBRR来确定, UBRR为两字节16位的寄存器,可分为UBRRH和UBRRH,计算公式:
UBRRH= (F_CPU/BAUD/16 -1)/256 UBRRL =(F_CPU/BAUD/16 -1)%256
串口的使能,通过写USART控制和状态寄存器B-USARTB,接收使能、发送使能、接收中断使能(可根据需要进行使能)。
使能语句:UCSRB |=(1< 初始化函数: void USART_init(int BAUD) { UBRRH= (F_CPU/BAUD/16 -1)/256; UBRRL= (F_CPU/BAUD/16 -1)%256; UCSRB|= (1< } 发送单字节数据: voidsend_char(char data) { while(!(UCSRA & (1< UDR = data; } 发送字符串: void send_string(char *string) { for(;*string!='/0';string++) send_char(*string); } 发送二进制数字 void send_bin(uint8_t num) { inti; for(i=7;i>=0;i--) send_char(((num>>i)&0x01)+48); } 接收字符数据 unsigned char getchar(void) { while(!(UCSRA&(1< return UDR; }
设计资源 培训 开发板 精华推荐
- LT8631HFE 400kHz、12V/250mA、3.3V/2.5A 双路降压转换器的典型应用电路
- ZXLD1321 升压模式 DC-DC 转换器的典型应用,用于具有 1A 输出和电流控制的 LED 驱动
- 使用 Analog Devices 的 LTC5800IWR-IPMA 的参考设计
- 使用 LT1054ISW 稳压 200mA、12V 至 -5V 转换器的典型应用
- 【航顺训练营】HK32F103C8T6开发学习板
- LTC2953CDD-1 电压监控器的典型应用电路,用于断开输入电阻分压器以节省功率
- 使用 Analog Devices 的 LTM8020 的参考设计
- 用于工业应用的 C8051F065 MCU 的 C8051F064EK、8051 开发系统
- 使用 Richtek Technology Corporation 的 RT8168B 的参考设计
- LT1720 的典型应用——具有轨至轨输出的双通道、4.5ns、单电源 3V/5V 比较器
- 来翻牌吧!解锁示波器的N种玩法
- 是德科技感恩月直播已结束|高速示波器基础与是德新品示波器解析
- 福禄克首款热成像万用表Fluke-279FC 即将上市!填写问卷赢好礼喽!
- OMNIMATE® 4.0鼠笼式板载连接器
- 直播已结束|富士通铁电随机存储器无加密算法真赝验证解决方案
- 有奖直播:当代物联网智能天线设计趋势
- 泰克专家邀你了解大数据时代全新解决方案,参与翻盖有礼!
- 联想栗子工业智能开发板抢先首发!免费申请进行时~另有12 月 22 日深圳技术沙龙邀您莅临!
- 3小时实战+剖析:TI工程师手把手带你全面入门MSP430(限量售$4.3开发套件,助你参与动手实验)
- 【EE团】超低价接近感应传感器开发套件火爆开团!!!