串口使用校验位
来源:互联网 发布:嘉兴互赢网络 编辑:程序博客网 时间:2024/05/18 13:29
平时都用的8N1的模式,这次使用了校验位,因此串口的初始化工作需要改变
#ifdef RT_USING_UART2USART_InitStructure.USART_BaudRate = 9600;USART_InitStructure.USART_WordLength = USART_WordLength_9b;USART_InitStructure.USART_StopBits = USART_StopBits_2;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_ClockInitStructure.USART_Clock = USART_Clock_Disable;USART_ClockInitStructure.USART_CPOL = USART_CPOL_Low;USART_ClockInitStructure.USART_CPHA = USART_CPHA_2Edge;USART_ClockInitStructure.USART_LastBit = USART_LastBit_Disable;USART_Init(USART2, &USART_InitStructure);USART_ClockInit(USART2, &USART_ClockInitStructure);/* register uart2 */rt_hw_serial_register(&uart2_device, "uart2",RT_DEVICE_FLAG_RDWR | RT_DEVICE_FLAG_INT_RX | RT_DEVICE_FLAG_STREAM,&uart2);/* Enable USART2 DMA Rx request */USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);#endif
这里最重要的是
USART_WordLength_9b
这个字段意思是字的长度,没有校验位的时候是8位,有了之后要加一位。因此,这不代表数据的长度……真坑
还要多些网友的帮助,详见
http://www.rt-thread.org/phpBB3/viewtopic.php?f=2&t=2960&p=16419#p16419
- 串口使用校验位
- 串口 传数据位 停止位 校验位
- 串口通讯奇偶校验位的设置导致数据错误
- 串口通信中数据的奇偶校验位算法
- 串口参数详解:波特率,数据位,停止位,奇偶校验位
- 串口通信中数据的奇偶校验位算法
- mbed 串口通信------带校验位的通信,奇偶校验(stm32F103RBT6)
- 使用TCP协议干活,需要校验位吗?
- STM32L1学习笔记05 串口校验位与数据位的一个坑
- 奇偶校验位
- 串口使用
- 串口使用
- EAN13码校验位算法
- 计算EAN-13校验位
- 身份证号码校验位生成代码
- MEID校验位算法
- 新版身份证校验位算法
- IMEI/MEID校验位计算
- struts的return返回类型。【转载未测试】
- UNIX网络编程——UDP编程模型
- Unity3D 脚本执行顺序
- LP的情书
- C++构造函数调用虚函数的问题
- 串口使用校验位
- compile c++ program which uses stl in ndk
- POJ-1988-Cube Stacking
- Extjs4中up()和down()的用法
- 企业网站建设之殇:如何打造品牌化企业网站
- NDK开发环境搭建_r8
- 最好用的20个数据可视化工具(三)
- Windows 系统变量及重起
- Apache+Tomcat整合应用及负载均衡 一(原创)