1、sx127x.h增加了频率可调函数

2、删除了bsp.h的lora通道配置宏定义
3、删除了SGCP.h中MAC的组成参数定义,改为在main.c中进行定义,当使用bootloader时通过读取BootPara结构体参数获取本机MAC,否则将通过App程序自定义MAC
4、BootPara结构体参数增加
This commit is contained in:
2026-05-11 10:10:13 +08:00
parent bbd563b069
commit 9b06145341
8 changed files with 72 additions and 23 deletions
+7 -3
View File
@@ -11,11 +11,15 @@ IROM1
串口升级打开USE_BOOTLOADER和点s文件中的LDR R2, =new_vect_table ;升级时打开
*/
uint32_t LocalType; //本机设备类型
uint32_t CommWay; //本机通讯方式
uint32_t DeviceSign; //本机设备标志
uint32_t AddNumber; //本机地址编号,数字部分对应唯一地址编号
//09 00 01 00 00 00
uint8_t LocalMAC[6] = {LocalType & 0xFF, (LocalType >> 8) & 0xFF, CommWay, (AddNumber >> 16) & 0xFF, (AddNumber >> 8) & 0xFF, AddNumber & 0xFF}; //本机MAC地址
uint8_t LocalMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00};//本机MAC地址
uint8_t GatewayMAC[6] = {0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; //网关MAC地址,注册时全为0
uint8_t LocalDataPack[LocalDataLen]; //本机数据包
uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包
uint8_t LocalDataLen = sizeof(SGCP.DevData.LaserTracing); //本机设备数据长度
SGCP_t SGCP;
+1 -1
View File
@@ -1,7 +1,7 @@
#include "Update.h"
#include "UartDebug.h"
static BootPara_t BLPara;
BootPara_t BLPara;
/*****************************************************************************************
* 函数名称: Update
+30 -6
View File
@@ -19,6 +19,11 @@
AppDetect_t App;
extern uint32_t LocalType;
extern uint32_t CommWay;
extern uint32_t DeviceSign;
extern uint32_t AddNumber;
extern uint8_t LocalMAC[6]; //本机MAC地址
extern uint8_t GatewayMAC[6]; //网关MAC地址,注册时全为0
extern uint8_t LocalDataPack[sizeof(SGCP.DevData.LaserTracing)]; //本机数据包 //本机数据包
@@ -46,7 +51,12 @@ static void AppInit(void)
#if(USE_BOOTLOADER == 1)
UpdateInit();
memcpy(&LocalMAC, &BLPara.DevMac[0], 6);
SX1276LoRaSetFreqHz(BLPara.LoraFreq); //Lora频率:433100000ul + 200000*N
LocalType = (BLPara.DevMac[0] | (BLPara.DevMac[1] << 8)); //本机设备类型
CommWay = BLPara.DevMac[2]; //本机通讯方式
DeviceSign = BLPara.DevMac[3] & 0x80; //本机设备标志
AddNumber = ((BLPara.DevMac[3] << 16)+ (BLPara.DevMac[4] << 8) + BLPara.DevMac[5]) - 0x800000; //本机地址编号,数字部分对应唯一地址编号
if(App.Para.FactoryFlag != 0x00)
{
App.Para.FactoryFlag = 0x00;
@@ -56,8 +66,20 @@ static void AppInit(void)
App.Para.CaliPara.YawZero = 0;
SAVE_APP_PARA((uint32_t *)&App.Para);
}
#elif
LocalType = LASER_TRACING; //本机设备类型
CommWay = LORA; //本机通讯方式
DeviceSign = MASTER; //本机设备标志
AddNumber = 0x000023 + DeviceSign;//本机地址编号,数字部分对应唯一地址编号
SX1276LoRaSetFreqHz(CH0); //Lora频率:433100000ul + 200000*N
LocalMAC[0] = LocalType & 0xFF; //本机MAC地址
LocalMAC[1] = (LocalType >> 8) & 0xFF;
LocalMAC[2] = CommWay;
LocalMAC[3] = (AddNumber >> 16) & 0xFF;
LocalMAC[4] = (AddNumber >> 8) & 0xFF;
LocalMAC[5] = AddNumber & 0xFF;
#endif
if(App.Para.RS485Addr > 16 || App.Para.RS485Addr < 1){
App.Para.RS485Addr = 1;
}
@@ -77,7 +99,7 @@ static void AppInit(void)
DBG_LOG("\r\n\r\n");
DBG_LOG("****************************************************\r\n");
DBG_LOG("** **\r\n");
DBG_LOG("** LaserTracing **\r\n");
DBG_LOG("** LaserTracing **\r\n");
DBG_LOG("** SoftWare V:%d.%d **\r\n", SOFTWARE_VERSION / 10, SOFTWARE_VERSION % 10);
DBG_LOG("** HardWare V:%d.%d **\r\n", HARDWARE_VERSION / 10, HARDWARE_VERSION % 10);
DBG_LOG("** Compile: %s %s **\r\n", __DATE__, __TIME__);
@@ -85,8 +107,10 @@ static void AppInit(void)
DBG_LOG("****************************************************\r\n\r\n");
DBG_LOG("RS485Addr: %02X\r\n",App.Para.RS485Addr);
DBG_LOG("LocalMAC: %02X %02X %02X %02X %02X %02X\r\n",LocalMAC[0], LocalMAC[1], LocalMAC[2], LocalMAC[3], LocalMAC[4], LocalMAC[5]);
DBG_LOG("CollectTime: %ds\r\n\r\n",(App.Para.Layout.CollectTime*30));
DBG_LOG("CollectTime: %ds\r\n",(App.Para.Layout.CollectTime*30));
DBG_LOG("LoraFreq: %d\r\n\r\n",BLPara.LoraFreq);
//09 00 01 00 00 00
LORAIntEnable();
Sx1276LoRaInit(LORA_RxCallBack); //< LORA芯片初始化
FeedDog();
@@ -480,7 +504,7 @@ void SysTick_CallBack(void)
void RtcIRQHander(void)
{
//SGCP.TimingAcquisition = true; //30S更新一次数据
#if USE_LORA_CH == 0
#if USE_LORA_CH == CH0
App.Tcnt++;//一分钟开启激光3秒
if(App.Tcnt >= 2)
{