STM8學習筆記 uart1串列埠中斷

2021-08-07 14:20:58 字數 690 閱讀 5067

uart1串列埠傳送、接收中斷。

目標:串列埠接收1,點亮led1,接收2點亮led2,接收到其他字元關閉led1和led2。

步驟如下:

1、編寫led.h和led.c檔案。略

2、編寫uart.h和uart.c檔案,其中串列埠配置函式如下:

void usart_configuration(void)//串列埠初始化函式

3、編寫主函式如下:

#include "stm8s.h"

#include "stm8s_clk.h"

#include "led.h"

#include "uart.h"

int main(void)

}4、在stm8s_interrupt.c檔案中編寫中斷處理函式

#pragma vector=0x13

__interrupt void uart1_tx_irqhandler(void)

#pragma vector=0x14

__interrupt void uart1_rx_irqhandler(void)

else if (u8_data=='2')

else

return;

}#endif

心得:在傳送中斷處理函式中一定要記得關閉傳送中斷,否則會一直觸發傳送中斷導致死迴圈,在這個問題上耗了兩天時間。在需要傳送資料時再開啟傳送中斷

STM8串列埠列印除錯資訊

static void uart1sendmsg char msg,uint16 t length void myprintfascii char msg void myprintfint8 uint8 t msg,intlength intlength m for n intlength 1 n ...

STM8 串列埠資料一直卡在讀中斷

stm8 uart1 開啟了讀中斷,初始化 如下 配置串列埠引數為 波特率115200,8位資料位,1位停止位,無校驗,禁止同步傳輸,允許接收傳送 uart1 init u32 115200,uart1 wordlength 8d,uart1 stopbits 1,uart1 parity no,u...

STM32F1的UART4串列埠配置

注意是uart4,不是usart4 在stm32中uart和usart是不相同的 usart是通用同步 非同步序列接收 傳送器 uart是通用非同步收發傳輸器 簡單區分同步和非同步就是看通訊時需不需要對外提供時鐘輸出,我們平時用的串列埠通訊基本都是 uart。usart支援同步模式,因此usart ...