MCU STM8S105K4 设置为一个起始为,8个数据位,无校验,一个停止位,用串口助手 发送能够 接收的数据,还是正确的, static void UART_Config(void) UART2_DeInit(); UART2_Init((uint32_t)9600, UART2_WORDLENGTH_8D, UART2_STOPBITS_1, UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TXRX_ENABLE); } /* Enable the UART Receive interrupt: this interrupt is generated when the UART receive data register is not empty */ UART2_ITConfig(UART2_IT_RXNE_OR, ENABLE); /* Enable UART */ UART2_Cmd(ENABLE); /* Enable general interrupts */ enableInterrupts(); 中断接收 INTERRUPT_HANDLER(UART2_RX_IRQHandler, 21) { /* In order to detect unexpected events during development, it is recommended to set a breakpoint on the following instruction. */ unsigned char temp=0; unsigned char temp_state=0; /* Read one byte from the receive data register */ /* temp_state=UART2->SR; if(temp_state&0x01) // 奇偶 ERROR { temp=8; UART2_ReceiveData8(); //return; } else*/ temp_state=UART2->SR; if((temp_state&0x01)!=1) //if(UART2_GetITStatus(UART2_IT_PE) == RESET) { temp=UART2_ReceiveData8(); } } 不知道是不是 哪里设置错了 |
如需获得 STM8S105K4 等器件的更多信息,请点击链接或 点击此处 联系在线客服!
都没人碰到过吗?
去里有贴专讲这个的,里面有一个PDF文件,你细看一下
文件名就叫STM8S中的UART奇偶校验的使用方法