E22-400T22S1C测试说明
E22-400T22S1C内部集成MCU,开放串口通信,实现全双工通信。在实际运用时
定点传输模式
模式切换
注意:切换前需要判断AUX引脚置高,切换后在发送数据前也要等待AUX引脚拉高才能发送数据
//模式切换
uint8_t lora_mode_switch(uint8_t mode)
{
uint16_t time = 600;
uint16_t count = 0;
for(count = 0;count<time;count++)
{
if(gpio_input_bit_get(GPIOC,GPIO_PIN_15)) //最长延时3秒,等待AUX引脚置高,Lora模组处于空闲状态
{
if(mode == NORMAL) //一般模式
{
lora_set_normal_mode();
}
else if(mode == WOR) //wor模式
{
lora_set_wor_mode();
}
else if(mode == CONFIG) //配置模式
{
lora_set_config_mode();
}
else if(mode == SLEEP) //休眠模式
{
lora_set_sleep_mode();
}
return 1;
}
delay_1ms(5);
}
return 0;
}
配置
uint8_t lora_Getway_set_more(uint16_t loraGetway_addr,uint8_t loraGetway_ch) //
{
uint8_t time = 200,count = 0;
uint8_t sendbuff1[30];
lora_mode_switch(CONFIG);
delay_1ms(50);
sendbuff1[0] = 0xc0; //设置模式
sendbuff1[1] = 0x00; //起始地址
sendbuff1[2] = 0x07; //寄存器长度
sendbuff1[3] = (loraGetway_addr>>8)&0x00ff; //设置地址
sendbuff1[4] = (loraGetway_addr)&0x00ff;
sendbuff1[5] = 0x00; //网络地址
sendbuff1[6] = 0x62; //9600 8N1 空中速率2.4K
sendbuff1[7] = 0x20; //240字节,使能RSSI,22dbm
sendbuff1[8] = loraGetway_ch; //网络通道
sendbuff1[9] = 0xc3; //使能RSSI,开启定点传输
lora_send_size = 10;
ClearRecvBuff2(Usart3RecvBuff,100);
lora_send(sendbuff1,lora_send_size); //发送
for(count = 0;count<time;count++)
{
if(lora_rev_status)
{
lora_rev_status = 0;
lora_mode_switch(NORMAL);
delay_1ms(50);
return 1;
}
delay_1ms(10);
}
return 0;
}
设置完成后即可进行数据传输。