LoRa通信与控制
#define RF_PING_PONG_FREQUENCY 433300000 //载波频率,建议433MHz附近频率最佳
//初始化LoRa模块
NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);
/**********************************************************************************************
*函数:void OLED_InitView()
*功能:Lora液晶初始化
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
void OLED_InitView(void)
{
OLED_Clear();
OLED_ShowString(0,0, (uint8_t *)" LED1:");
OLED_ShowCHineseArray( 64, 0, kai); //通过取模工具对“开”、“关”取模
OLED_ShowCHineseArray( 96, 0, guan);
OLED_ShowString(0,4, (uint8_t *)" LED2:");
OLED_ShowCHineseArray( 64, 4, kai);
OLED_ShowCHineseArray( 96, 4, guan);
}
/**********************************************************************************************
*函数:void OLED_InitView()
*功能:Lora液晶初始化
*输入:无
*输出:无
*特殊说明:无
**********************************************************************************************/
void OLED_InitView(void)
{
OLED_Clear();
OLED_DrawBMP(16,1,40,40,mie);
OLED_DrawBMP(64,1,40,40,mie);
OLED_ShowString(16,6, (uint8_t *)" LED1");
OLED_ShowString(64,6, (uint8_t *)" LED2");
}
int main( void )
{
Init();
//初始化需要的外设
OLED_Init();
OLED_Clear();
OLED_InitView();//OLED屏幕初始化信息
keys_init();
//LoRa模块初始化
NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);
while( 1 )
{
key2Show(); //点击Key2键的算法
key3Show(); //点击Key3键的算法
LoRa_sendCmd(); //点击Key4键向LoRa(B)发送命令
}
}
/**
* Main application entry point.
*/
int main( void )
{
Init();
//初始化需要的外设
OLED_Init();
OLED_Clear();
OLED_InitView();//OLED屏幕初始化信息
USART1_Init(115200);//串口1初始化
uint8_t RxBuffer[16];
//LoRa模块初始化
NS_RadioInit( (uint32_t) RF_PING_PONG_FREQUENCY, (int8_t) TX_OUTPUT_POWER, (uint32_t) TX_TIMEOUT_VALUE, (uint32_t) RX_TIMEOUT_VALUE);
while( 1 )
{
LoRa_readCmd(RxBuffer); //接收LoRa发送的命令,并控制LED1和LED2的亮灭,控制OLED的状态显示
}
}