本帖最后由 原来的你 于 2019-2-24 20:58 编辑 , q& ~; c% A9 N+ H- N- }0 b6 m 0 j1 t: Q# s S5 K0 e4 P/ Y. f) U Y 本节我们讲究stm8s001的串口中断收发,代码如下:、 void UART1_Config(void) { UART1_Init((uint32_t)115200, UART1_WORDLENGTH_8D,UART1_STOPBITS_1, UART1_PARITY_NO, UART1_SYNCMODE_CLOCK_DISABLE, UART1_MODE_TXRX_ENABLE); /* 使能接收中断 */ UART1_ITConfig(UART1_IT_RXNE_OR, ENABLE); /* 使能发送中断 */ UART1_ITConfig(UART1_IT_TXE, ENABLE); /* 使能 UART1 */ UART1_Cmd(ENABLE); } INTERRUPT_HANDLER(UART1_TX_IRQHandler, 17){1 _/ z$ g( s. @( ^) P+ w$ _2 o) q UART1_SendData8(TxBuffer[TxCount++]); if (TxCounter == TX_BUFFER_SIZE) { } {% Q$ y" u( k7 q9 I6 o uint8_t temp;( ~4 K" h: E @6 z5 ]4 W /* 从接收数据寄存器读取一个字节并发送回去 */' M0 o. y, z( ]# A* I" ^& o" X temp = UART1_ReceiveData8(); L R" V. ]5 u/ H* {: J UART1_SendData8(temp); } 6 }" ?; O' S/ O3 o" X / t! U5 C1 w$ d4 A* A* }9 n : E( X. Y' Y, \ |
stm8s105,发送字符串,却只能收到第一个字符,后边的就收不到了。 |