历史上的今天
今天是:2024年10月23日(星期三)
2019年10月23日 | STM32F103C8T6学习笔记_串口USART的使用
2019-10-23 来源:eefocus
1、 M bps 兆 比特每秒 Million bits per second (形容传输速率)
波特率(BaudRate)(bound ) 单位 Bd (形容传输速率时 Bd/s)
如果是二进制的话 , 都表示单位时间内传输的二进制数
2、波特率计算公式
baud=串口时钟(APB1 or APB1) / USART_BRR寄存器的值
Example 时钟108M (108000000 六个0) baud=115200MHz 则得寄存器值938 (0XA3AA)
3、 GPIO的复用
TXD Transmit(tx) Data 发送数据
RXD Receive(rx) Data 接受数据
USART1_TX PA.9 设置成复用推挽输出 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_AF_PP;
USART1_RX PA.10 设置成浮空输入 GPIO_InitStructure.GPIO_Mode=GPIO_Mode_IN_FLOATING;
4、单工 单向 一方传送信息到另一方
全双工 同一时间 双向 发送数据 同时也可以接受数据
半双工 双向 发送 或者 接受
USART_InitStructure.USART_Mode=USART_Mode_Rx | USART_Mode_Tx //设置成半双工模式
5、奇偶校验 parity
00000000(8位)+0 or 1(1位) 奇校验 就在(1位)这里写1 或者 写0 使得1的总个数为奇数
........................................................偶校验....................................................使得1的总个数为偶数
发送端发送一个字符编码(9位)【偶数】==接收端接收到的编码(9位) 【偶数】 检验成功
奇校验同理;
6、数据位 8 7 6 5 WordLength
例如数据位设置为5.那么就相当于规定了每个传输字节只能由5个二进制来表示,例如 11111、10110 、01110等。也就是说只能发送00000—11111这个范围内的数。
7、停止位 1 1.5 2 StopBits
停止位表示传输结束(也可以校正 发 收 两端的时钟 达到同步的目的) 停止位越多,不同时钟同步的容忍程度越大 数据传输速度慢
8、一般无硬件数据流控制(很少用) HwFlowCtl
USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl None; //无硬件数据流控制
9、oversampling 采样过密 sampling 采样
史海拾趣
|
摘要:航空蓄电池野外充放电车的设计与研制,采用电子集成化模块和开发电源技术,使航空蓄电池野外充放电车的功率大、体积小、稳态精度高。通过在航空兵部队的使用,证明移动式综合充放电设备具重要的经济和军事效益。 关键词: ...… 查看全部问答> |
|
转自:NI 概览 为您下一个嵌入式项目或想法创建功能原型系统是得到预算和从高层管理获得批准的重要步骤。在开始原型开发之前,考虑一下您所有需要的工具。另一个需要记住的重要原则是原型开发应该足够快速,不应该在原型系统上花费过多的时间,投 ...… 查看全部问答> |
|
设计了一个5.0V输入,可调输出buck电路,1.5M固定频率但是在较大电流输出,并直接开关电源的时候,时不时出现不稳定情况不稳定时前几个占空比很大,直至输出电压过高仿真上非常稳定,PM也足够这可能是什么原因造成的?请教各位!… 查看全部问答> |
|
诚聘单片机设计工程师: 1,会msp430,有设计经验 2,有msp430 C语言开发经验 3,懂信号处理,会用matlab 4,最好有工作经验1年以上 电话:010-81504648 公司网站:www.safezx.com 注:工作地点北京… 查看全部问答> |
|
请教,我用ads1.2编译c++程序总是报一些头文件找不到,我把system path加了vc的库,结果有出了“only win32 and Mac supported\"这个问题,请问怎么办?ads1.2上可以编译c++吗?要怎么做? … 查看全部问答> |




