复位:PA1
射频开关芯片收发切换: CTRL /CTRL
CTRL: PA2 1 0 RF_RX
/CTRL: PA3 0 1 RF_TX
DIO0: PA0 可做收发中断用
DIO1: PB1
DIO2: PB2
DIO3: PA8
DIO4: PA11
DIO5: PA12
LED指示灯: PB0
单片机源程序如下:
- /****************************************************************************
- * 本例程在 STM32开发板上调试通过
- *
- * 文件名: main.c
- * 内容简述: *
- * 演示的是安信可LoRa无线通信的功能。
- *
- * 定义:
- * LED1-LED3 ---V1--V3 注意郭版的开发板上LED灯为高电平点亮!
- * V1----- PB5-LED1
- * V2----- PD6-LED2
- * V3----- PD3-LED3
- * Key1----PC5
- * Key2----PC2
- * Key3----PC3
- * Key4----PE6
- * 硬件连接:
- *
- * LoRa模块引脚连接
- * 1--VDD--3.3V
- * 3--GND--GND
- * 5--PE1--RESET
- * 7--PD4--DIO0
- * 9--PD5--DIO1
- * 11--PD7--DIO2
- * 13--PD11--DIO3
- *
- * 2--PA5--SCK
- * 4--PB7--NSS
- * 6--PA7--MOSI
- * 8--PA6--MISO
- * -----
- *20--PD8--DIO5
- * 22--PE15--DIO4
- * 24--GND--GND
- * ------------------------
- * | PA9 - USART1(Tx) |
- * | PA10 - USART1(Rx) |
- * ------------------------
- * 基于MDK版本: 3.8
- * 基于官方外设库版本: 3.5
- *
- * 文件历史:
- * 版本号 日期 作者 说明
- * v0.1 2017-2-11 Duke 创建该文件
- *
- *******************************************************************************/
- #include "sys_config.h"
- #define BUFFER_SIZE 30 // Define the payload size here
- static uint16_t BufferSize = BUFFER_SIZE; // RF buffer size
- static uint8_t Buffer[BUFFER_SIZE]; // RF buffer
- static uint8_t EnableMaster = false; // Master/Slave selection
- tRadioDriver *Radio = NULL;
- const uint8_t PingMsg[] = "PING";
- const uint8_t PongMsg[] = "PONG";
- const uint8_t MY_TEST_Msg[] = "LoRa_SX1278_TEST";
- void OnMaster( void );
- void OnSlave( void );
- /*
- * Manages the master operation
- */
- void OnMaster( void )
- {
- uint8_t i;
-
- switch( Radio->Process( ) )
- {
- case RF_RX_TIMEOUT:
- // Send the next PING frame
- Buffer[0] = 'P';
- Buffer[1] = 'I';
- Buffer[2] = 'N';
- Buffer[3] = 'G';
- for( i = 4; i < BufferSize; i++ )
- {
- Buffer[i] = i - 4;
- }