-
HK32F030C8T6 无法配置USART2的波特率
HK32F030C8T6 无法配置USART2的波特率,USART1 DMA收发配置后正常,同样配置USART2 为DMA收发后,IDLE中断接收数据为空,在线查看USART2寄存器,发现BRR寄存器为0...
4366浏览量 1回复量 关注量 -
使用AT32f413rc的usart2,当将波特率设置为460800bps,出现接收误码
使用AT32f413rc的usart2,当将波特率设置为460800bps或者更高,出现接收误码的问题。主频是192Mhz或者72Mhz。 但看AT32f413的datasheet,串口波特率可以达到6Mbit/s多的。 请问有人遇到这个问题吗?
5353浏览量 3回复量 关注量 -
关于GD32F103 uart sos
[font=Tahoma][font=Tahoma][size=10.5pt]我用[/size][/font][/font][font=Tahoma][size=10.5pt]GD32F103 做串口通讯,USART0、USART1、USART2都能正常工作,用同样的初始化程序,UART3、UART4 无法通讯。[/size][/font][align=left]用示波器监视数据线,发现电压值不正确,有知道问题出在哪里的吗?[/align]
3053浏览量 0回复量 关注量 -
GD32F103串口问题 sos
串口初始化时,校验位为偶校验,数据位8时,单片机发出来的数据是乱码,后来问了一下芯片厂家,他们说设置校验位的时候数据位要设置成9,但是发出来的数据还是部分是乱码。重点来了:我设置无校验,数据位8时,跟上位机通信,无论串口组手有没有校验位(奇偶或者无校验)都能通信成功,且数据正常,这谁能给解释一下原因。串口相关代码如下: void CIOControl::USART_Config(void) { rcu_periph_clock_enable(RCU_USART2); gpio_init(GPIOB, GPIO_MODE_AF_PP, GPIO_OSPEED_50MHZ, GPIO_PIN_10); gpio_init(GPIOB, GPIO_MODE_IN_FLOATING, GPIO_OSPEED_50MHZ, GPIO_PIN_11); /* USART configure */ usart_deinit(USART2); usart_baudrate_set(USART2, 2400); usart_word_length_set(USART2, USART_WL_8BIT); usart_stop_bit_set(USART2, USART_STB_1BIT); usart_parity_config(USART2, USART_PM_NONE); usart_hardware_flow_rts_config(USART2, USART_RTS_DISABLE); usart_hardware_flow_cts_config(USART2, USART_CTS_DISABLE); usart_receive_config(USART2, USART_RECEIVE_ENABLE); usart_transmit_config(USART2, USART_TRANSMIT_ENABLE); usart_enable(USART2); usart_interrupt_enable(USART2, USART_INT_RBNE); nvic_irq_enable(USART2_IRQn, 1, 0); } INT8U CUART::SendData(INT8U *DataBuf, INT16U DataLen) { INT8U j; for(INT16U i = 0; i < DataLen; i++) { usart_data_transmit(m_UARTNum, DataBuf[i]); Delay_ms(1); for(j = 0; j < 200; j++) { if(usart_flag_get(m_UARTNum, USART_FLAG_TC) != RESET) { usart_flag_clear(m_UARTNum, USART_FLAG_TC); break; } Delay_us(100); } if(j == 200) //20ms没有发送成功,则认为发送失败 { return FALSE; } } return TRUE; }
2128浏览量 0回复量 关注量