1. 程式人生 > >物聯網之LoRa開發與應用一(M0工程建立)

物聯網之LoRa開發與應用一(M0工程建立)

M0工程建立主要分如下四步:

1、IO埠配置

2、時鐘配置

3、外設配置

4、printf函式重定向

IO配置

1、看懂原理圖

2、建立IO功能對映表

3、通過STM32Cubemx配置IO工作模式

STM32F051K8U6 IO功能對映表
序號 IO編號 IO訊號網路 功能描述
0 VSS GND 電源負
1 VDD 3.3V 電源正
2 PF0-OSC-IN OSC_IN 外部8M晶振
3 PF1-OSC-OUT OSC_OUT
4 NRST NRST 外部復位
5 VDDA 3.3V 電源正
6 PA0 BAT_ADC 模擬量輸入-電池電壓
7 PA1 ADC_KEY 模擬量輸入-按鍵資訊
8 PA2 DIO3 數字量輸入-LoRa數字IO3
9 PA3 DIO2 數字量輸入-LoRa數字IO2
10 PA4 A1 模擬量輸入-感測器擴充套件介面1
11 PA5 ID_1 NC
12 PA6 A2 模擬量輸入-感測器擴充套件介面2
13 PA7 NSS_LoRa LoRa模組片選介面
14 PB0 LED4 數字輸出-無線通訊網路指示燈
15 PB1 LED3 數字輸出-無線通訊傳送指示燈
16 PB2 LED2 數字輸出-無線通訊接收指示燈
17 VDD 3.3V 電源正
18 PA8 D3&KEY 數字量輸入3-按鍵狀態
19 PA9 U1 USART1_TX 序列通訊介面
20 PA10 U1 USART1_RX
21 PA11 DIO0 數字量輸入-LoRa數字IO0
22 PA12 DIO1
數字量輸入-LoRa數字IO1
23 PA13 SWDIO SWD除錯燒寫介面
24 PA14 SWCLK
25 PA15 NSS_LCD LCD片選介面
26 PB3 SCLK SPI時鐘介面
27 PB4 MISO SPI主機輸入從機輸出介面
28 PB5 MOSI SPI主機輸出從機輸入介面
29 PB6 LCD LCD背光控制介面
30 PB7 DI 數字量輸入-感測器擴充套件介面1
31 BOOT0 GND 電源負
32 PB8 D2 數字量輸入-感測器擴充套件介面1

時鐘配置

1、選擇時鐘源

2、配置倍頻

3、使能鎖相環配置系統主時鐘為48M

 外設配置

USART1配置:

1、 選擇非同步通訊,無硬體流控

2、設定波特率115200

3、設定DMA接收

SPI1配置:

1、選擇全雙工主機模式,硬體片選不使能

2、設定波特率為1.5MBit/s,時鐘極性為低電平驅動,時鐘相位為第一個邊沿

Printf函式重定向

int fputc(int ch,FILE *f)
{
  while((USART1->ISR&0X40) == 0);
  USART1->TDR = (uint8_t)ch;
  return ch;
}

串列埠列印測試

測試結果: