物聯網之LoRa開發與應用一(M0工程建立)
阿新 • • 發佈:2018-12-18
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;
}
串列埠列印測試:
測試結果: