AVRWARE++开发笔记10:晶振频率的选择
来源:互联网 发布:java 棋牌类游戏开发 编辑:程序博客网 时间:2024/06/05 02:22
这篇日志说一下有关晶振频率的选择问题。
先给出AVR串口波特率的计算公式:UBRR0 = (F_CPU / (16 * u32_BaudRate) - 1)
我们希望产生115200波特率,看选择不同晶振频率得到的结果。
1、7.3728M
UBRR0 = 7372800 / 1843200 - 1 = 3 取整后误差是0
2、8.0000M
UBRR0 = 8000000 / 1843200 - 1 = 3.34 取整后误差是0.34 / 3.34 = 10%
3、11.0592M
UBRR0 = 11059200 / 1843200 - 1 = 5 取整后误差是0
4、12.0000M
UBRR0 = 12000000 / 1843200 - 1 = 5.51 取整后误差是0.51 / 5.51 = 9%
5、14.7456M
先给出AVR串口波特率的计算公式:UBRR0 = (F_CPU / (16 * u32_BaudRate) - 1)
我们希望产生115200波特率,看选择不同晶振频率得到的结果。
1、7.3728M
UBRR0 = 7372800 / 1843200 - 1 = 3 取整后误差是0
2、8.0000M
UBRR0 = 8000000 / 1843200 - 1 = 3.34 取整后误差是0.34 / 3.34 = 10%
3、11.0592M
UBRR0 = 11059200 / 1843200 - 1 = 5 取整后误差是0
4、12.0000M
UBRR0 = 12000000 / 1843200 - 1 = 5.51 取整后误差是0.51 / 5.51 = 9%
5、14.7456M
UBRR0 = 14745600 / 1843200 - 1 = 7 取整后误差是0
由此可见晶振的频率取值非常重要,我现在板子上是12.0000M晶振,希望115200波特率,根本就调不出来。挖掘事情的真相,可以使人变得富有。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
CSDN:http://blog.csdn.net/qingwufeiyang12346
由此可见晶振的频率取值非常重要,我现在板子上是12.0000M晶振,希望115200波特率,根本就调不出来。挖掘事情的真相,可以使人变得富有。
原创性文章,转载请注明出处 http://user.qzone.qq.com/2756567163。
CSDN:http://blog.csdn.net/qingwufeiyang12346
阅读全文
1 0
- AVRWARE++开发笔记10:晶振频率的选择
- AVRWARE++开发笔记2:开发环境的建立
- AVRWARE++开发笔记1:综述
- AVRWARE++开发笔记5:蜂鸣器驱动实验
- AVRWARE++开发笔记3:III型测试板硬件原理
- AVRWARE++开发笔记4:调试III型测试板
- AVRWARE++开发笔记8:Atmel Studio去除拼写检查
- AVRWARE++开发笔记9:应用Atmel Studio学习C语言
- AVRWARE++开发笔记11:将数组存于ROM中
- 关于外部时钟晶振频率选择
- AVRWARE++开发笔记6:8路直接I/O口控制LED灯实验
- AVRWARE++开发笔记7:74HC595串行控制LED灯实验
- Android的gallery实现无限循环和降低选择频率
- 如何为电源选择正确的工作频率
- Android的gallery实现无限循环和降低选择频率
- STC51单片机 如何知道晶振的频率
- 电路设计_为什么晶振的频率是32.768kHz?
- Atmega168 延时函数晶振频率的设置方法
- SparkContext源码深入剖析
- matlab基础知识(一)
- 使用Keras预训练模型ResNet50进行图像分类
- Python “树”的绘制代码
- node.js安装 jspm模块 并初始化 jspm 支持ECMAScript6语法
- AVRWARE++开发笔记10:晶振频率的选择
- 基于opencv 和 Dlib的人眼检测,放大与贴纸替换
- 证明自己没有消失
- android之View坐标系(view获取自身坐标的方法和点击事件中坐标的获取)
- 排序算法(三)冒泡排序
- 使用 Python 读写 csv 文件
- NodeJs的核心模块
- Servlet基础
- 有趣的Scheme:lat? 函数的实现