|
STM8L除了可以進行串口通信,還可支持紅外通信,智能卡協議,這些功能后續會開發,發布程序源碼。STM8L還可以使用DMA緩存數據,減少CPU負擔,為了簡單起見,本文沒有用到DMA功能。
只需要簡單的配置發送的字長度,停止位數,波特率,打開發送接收,就可以進行串口數據收發。下圖為串口發送數據流程。
對于串口發送數據,需要注意的是,打開發送后,數據發送完成,如果不關閉中斷,程序會一直進入中斷。所以在確保數據發送完成后,需關閉中斷,退出發送數據。
本文通過周期性(500ms)的向上位機發送一組數據,來演示STM8L的串口通信。串口接收部分程序也已經調試好,只需把while循環中的程序注釋掉,設置斷點,查看上位機發送來的數據即可。
下圖為串口助手接收到STM8L每隔500ms發送過來的一組數據。

|
|