1;串口通信;
由于電腦沒有串口,所以我們得使用虛擬串口軟體XCOM V2.0,可以在stm32官方網站下載,但如果你單片機也用USB轉串口,那么你的下載和串口通信不能同時進行;注意,使用串口前得提前安裝CH340驅動;
2;函式代碼;
在這里插入代碼片
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
int main()
{
u8 t;//回圈變數
u16 len;//存盤獲取的位元組數
Stm32_Clock_Init(9);//PLL
delay_init(72);
uart_init(72,9600);//串口時鐘設定,和波特率(系統默認一位停止位,8位資料位,無奇偶校驗位)
LED_Init();//LED燈初始化
while(1)
{
if(USART_RX_STA&0x8000)//判斷是否有輸入,有輸入的話,USART_RX_STA最高位被置1,通過按位與判斷是否接受到資料;
{
len=USART_RX_STA&0x3fff;//獲取接受到的字符長度,0x3fff是因為一次最大接受長度為14位,即2^14位元組;
printf("你發送的訊息為: \r\n");
for(t=0;t<len;t++)//回圈發送資料
{
USART1->DR=USART_RX_BUF[t];//發送資料
while((USART1->SR&0X40)==0)//通過SR暫存器判斷是否發送完成
;
}
printf("\r\n");
USART_RX_STA=0;//清除標志位
}
else
{
printf("你想發什么里? \r\n");//系統運行提醒
delay_ms(1000);
}
}
}
如有錯誤,請指正;
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/35828.html
標籤:其他
