21ic电子技术开发论坛
标题:
奇偶校验的异步串口通信例程
[打印本页]
作者:
llljh
时间:
2022-5-14 22:43
标题:
奇偶校验的异步串口通信例程
有关于STM32F0系列的奇偶校验的异步串口通信的例程吗?
作者:
wyjie
时间:
2022-5-14 22:47
官方的模块
作者:
llljh
时间:
2022-5-14 22:49
官方的模块看到的都是无校验模板,希望大侠们给予帮助指导。
作者:
zhenykun
时间:
2022-5-14 22:54
没有就自己写啊,坚决不当 拿来主义
作者:
dingy
时间:
2022-5-14 22:56
奇偶校验, 这个算法其实非常简单.
这个函数也就四行代码就搞定
作者:
llljh
时间:
2022-5-14 22:58
楼上你写写测试一下,好像上位机收到的奇偶校验的数是不正确的。
作者:
dengdc
时间:
2022-5-14 23:03
说方法不给结果: 你拿示波器量一下你从MCU端发出的一个字符,看看第 10 bit是不是奇偶校验对应的电平(前提是你的串口配置了奇校验还是偶校验),如果没问题的话,量一下波特率是不是对的,如果都没问题的话,你懂得
作者:
zwll
时间:
2022-5-14 23:05
谢谢楼上的提醒,其实STM32F系列要发送奇偶校验位的时候,必须UART_WORDLENGTH_9B设置为9位,不然上位机就不会得到想要的值。
作者:
llljh
时间:
2022-5-14 23:08
void MX_USART1_UART_Init(void)
{
huart1.Instance = USART1;
huart1.Init.BaudRate = 9600;
huart1.Init.WordLength = UART_WORDLENGTH_9B; //UART_WORDLENGTH_8B UART_WORDLENGTH_9B
huart1.Init.StopBits = UART_STOPBITS_1;
huart1.Init.Parity = UART_PARITY_EVEN; //UART_PARITY_EVEN UART_PARITY_NONE
huart1.Init.Mode = UART_MODE_TX_RX;
huart1.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart1.Init.OverSampling = UART_OVERSAMPLING_16;
huart1.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart1.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_DMADISABLEONERROR_INIT;
huart1.AdvancedInit.DMADisableonRxError = UART_ADVFEATURE_DMA_DISABLEONRXERROR;
if (HAL_UART_Init(&huart1) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
}
作者:
zhaoxqi
时间:
2022-5-14 23:11
关他设置几位,借用小平同志的一句话,实践才是检验真理的唯一标准
作者:
llljh
时间:
2022-5-14 23:13
本帖最后由 llljh 于 2022-5-14 23:16 编辑
还有人知道吗
作者:
dingy
时间:
2022-5-14 23:16
关他设置几位,借用小#平同志的一句话,实践才是检验真理的唯一标准
作者:
llljh
时间:
2022-5-14 23:18
嗯,预料中的结果,多谢大家啦
欢迎光临 21ic电子技术开发论坛 (https://bbs.21ic.com/)