AVR ATMEGA8 串口USART
2024-10-18 21:16:39
avr串口配置很简单,配置就几个寄存器就可以进收发;
但有几点要搞明白的是:
1、串口一但被配置成功IO功能自动被占用,这点与LPC或STM8/32不同(需要寄存配置);
2、没有专门的串口开起或闭关功位(整个串口);
3、读写控制寄存器C需要把URSEL位写成1,而读写UBRRH寄存器时须要URSEL写成0;
1: //晶振频率
2: #define F_CPU 6000000UL
3: //波特率
4: #define BAUD 9600
5:
6: //M8串口1初始化
7: void UsartInit(void)
8: {
9: unsigned int tmp;
10: FifoInit(&RxFifo, sizeof(RxFifo.data));
11: FifoInit(&TxFifo, sizeof(TxFifo.data));
12: tmp= F_CPU/BAUD/16-1;
13: SetBit(SREG, 7);
14: UCSRB = 0;
15: UCSRC = 0;
16: UBRRH=(unsigned char)(tmp>>8);
17: UBRRL=(unsigned char)tmp;
18: UCSRB |= (1<<RXEN)|(1<<TXEN); //允许发送和接收
19: UCSRC |= (1 << URSEL)|(1<<UCSZ1)|(1<<UCSZ0); //8位数据位+1位停止位
20: }
最新文章
- 在Linux和Windows的Docker容器中运行ASP.NET Core
- [转]easyui data-options的使用
- SharePoint自动化系列——Create a local user and add to SharePoint
- 动态加载的数据,hover效果
- HTML内容整理
- 怎样通过ajax提交数据
- hdu1500 (排序+单调队列优化 )
- Mybatis(1)
- python语言 第一个程序
- SSM-SpringMVC-10:SpringMVC中PropertiesMethodNameResolver属性方法名称解析器
- 最大子段和的DP算法设计及其效率测试
- 某app的安全性分析过程
- 利用Syslog Watcher在windows下部署syslog日志服务器
- linux shell 之尝试编写 企业级 启动脚本
- 关于expect的实战总结
- 甘特图 (Gantt )的优缺点
- 简化Getter 与 Setter 的插件 Lombok
- 笔记本键盘开关方法 仅限window系统
- linux 终端输出颜色
- ajax请求成功回调函数没有执行问题
热门文章
- BZOJ 3747 POI2015 Kinoman
- ANDROID_MARS学习笔记_S01_006ImageView
- D3DXCOLOR 和 D3DCOLOR 和 D3DCOLORVALUE
- Git教程之分支管理之二
- python脚本工具-1 制作爬虫下载网页图片
- knowledge about apache
- 安装TokuDB引擎
- 【HDOJ】3686 Traffic Real Time Query System
- 1126. Magnetic Storms(单调队列)
- Java [leetcode 15] 3Sum