原创 stm32串口使用奇偶校验程序配置

2010-8-3 20:08 9801 2 3 分类: MCU/ 嵌入式

STM32微控制器参考手册 2009年2月 英文版


P613页


校验位说明:


Table 155. Frame formats
M bit PCE bit USART frame
0 0 | SB | 8 bit data | STB |
0 1 | SB | 7-bit data | PB | STB |
1 0 | SB | 9-bit data | STB |
1 1 | SB | 8-bit data PB | STB


配置方式:STM32标准库 V3.01


#ifdef USART1_ON
 //允许USART1的时钟
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);


 USART_InitStructure.USART_BaudRate = BAUD1;
 USART_InitStructure.USART_WordLength = USART_WordLength_9b;  //此处在有奇偶校验时需要9个数据位,无奇偶校验时8个数据位
 USART_InitStructure.USART_StopBits = USART_StopBits_1;
 USART_InitStructure.USART_Parity = USART_Parity_Even;//偶校验
 USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
 USART_InitStructure.USART_Mode = USART_Mode_Rx | USART_Mode_Tx;
 USART_Init(USART1,&USART_InitStructure);


 /* 允许USART1 DMA */
 #ifdef USART1_DMA_ON
 USART_DMACmd(USART1,USART_DMAReq_Rx | USART_DMAReq_Tx, ENABLE);
 #endif
 /*允许USART1 */
 USART_Cmd(USART1,ENABLE);
#endif

PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户422754 2015-7-28 14:38

感谢,之前一直都不知道什么问题。
相关推荐阅读
用户1314197 2010-06-15 16:41
ADS1258问题解决记录
ADS1258问题解决记录:问题现象:ADS1258同时采样设备信号与温度传感器信号,采样电压范围设为正负2.5V;在常温时一切正常,当温度升高时,发现设备的采样值会随着温度的上升不断漂移,最多时漂移...
用户1314197 2010-06-10 22:57
圈圈的USB读书笔记1章
2010.05.31          USB设备是否被计算机识别由D+于D-两条数据线上的电压决定;当其中任意一个为高电平时,计算机检测到USB设备;USB集线器内部为15K的下拉电阻;当D+接上拉...
我要评论
1
2
关闭 站长推荐上一条 /3 下一条