关于 STM8-SO8-DISCO(3)UART中断收发 本节我们讲究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)
{
/* 写一个字节到发送寄存器 */
UART1_SendData8(TxBuffer[TxCount++]); if (TxCounter == TX_BUFFER_SIZE)
{
/* 失能USART发送完成中断 */
UART1_ITConfig(UART1_IT_TXE, DISABLE);
}
}
INTERRUPT_HANDLER(UART1_RX_IRQHandler, 18)
{
uint8_t temp;
/* 从接收数据寄存器读取一个字节并发送回去 */
temp = UART1_ReceiveData8();
UART1_SendData8(temp);
}
|