你的浏览器版本过低,可能导致网站不能正常访问!为了你能正常使用网站功能,请使用这些浏览器。
举报
查看全部评分
mark0668 发表于 2017-8-16 11:22 应该是波特率不对或者时钟不准
冰点柔情 发表于 2017-8-16 11:34 我设置的波特率是9600 ,8N2 发送是对的,所以我认为波特率是对的,不知道我这样理解对不对? ...
gujiamao 发表于 2017-8-16 11:35 2个停止位?
leiyijing2003 发表于 2017-8-16 11:36 2个停止位?
冰点柔情 发表于 2017-8-16 11:42 串口初始化代码如下: static void MX_USART2_UART_Init(void) {
gujiamao 发表于 2017-8-16 11:52 可以改成一个停止位 试试
冰点柔情 发表于 2017-8-16 13:36 我试过了,结果还是一样
评分
查看全部评分
我设置的波特率是9600 ,8N2
发送是对的,所以我认为波特率是对的,不知道我这样理解对不对?
2个停止位?
是的,有问题吗
是的,这样会有问题吗?
串口初始化代码如下:
static void MX_USART2_UART_Init(void)
{
huart2.Instance = USART2;
huart2.Init.BaudRate = 9600;
huart2.Init.WordLength = UART_WORDLENGTH_8B;
huart2.Init.StopBits = UART_STOPBITS_2;
huart2.Init.Parity = UART_PARITY_NONE;
huart2.Init.Mode = UART_MODE_TX_RX;
huart2.Init.HwFlowCtl = UART_HWCONTROL_NONE;
huart2.Init.OverSampling = UART_OVERSAMPLING_16;
huart2.Init.OneBitSampling = UART_ONE_BIT_SAMPLE_DISABLE;
huart2.AdvancedInit.AdvFeatureInit = UART_ADVFEATURE_RXOVERRUNDISABLE_INIT|UART_ADVFEATURE_DMADISABLEONERROR_INIT;
huart2.AdvancedInit.OverrunDisable = UART_ADVFEATURE_OVERRUN_DISABLE;
huart2.AdvancedInit.DMADisableonRxError = UART_ADVFEATURE_DMA_DISABLEONRXERROR;
if (HAL_UART_Init(&huart2) != HAL_OK)
{
_Error_Handler(__FILE__, __LINE__);
}
//USART_ITConfig(USART2,USART_IT_TXE,ENABLE);
//USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
//__HAL_UART_ENABLE_IT(&huart2, UART_IT_RXNE);
//__HAL_UART_ENABLE(&huart2);
//_Cmd(USART2,ENABLE);
//USART_ClearFlag(USART2,USART_FLAG_TC);
}
可以改成一个停止位 试试
评分
查看全部评分
我试过了,结果还是一样
你检查下 TTL和232电平有没有搞错了