void Save() { unsigned char temp; Sector_Erase(); Byte_Program(10,Id_data); temp = BUFF; Byte_Program(5,temp); temp = BUFF>>8; Byte_Program(6,temp); temp = BUFF>>16; Byte_Program(7,temp); Byte_Program(20,Volum); //保留关机前的音量,重启后的音量不变 Byte_Program(21,temp_Model); Byte_Program(22,Fre_num); //保留频率 Byte_Program(23,Pilot_ID_H); Byte_Program(24,Pilot_ID_L); } void Reload() { uint32_t temp; Id_data = Byte_Read(10); if((Id_data==0xff)||(Id_data==0xbb)||(Id_data==0xaa)) Id_data = 0x11; BUFF = 0; temp = Byte_Read(5); BUFF |= temp; temp = Byte_Read(6); BUFF |= temp<<8; temp = Byte_Read(7); BUFF |= temp<<16; if(BUFF== 0x00FFFFFF) { BUFF = FRE[0]; //开机显示频率 } temp = Byte_Read(23); if(temp == 0xFF) { temp = 81; } Pilot_ID_H = temp; temp = Byte_Read(24); if(temp == 0xFF) { temp = 00; } Pilot_ID_L = temp; SendPILOTBUFF[2] = Pilot_ID_H; SendPILOTBUFF[1] = 0x00; SendPILOTBUFF[0] = Pilot_ID_L; temp = Byte_Read(20); if(temp == 0xFF) { temp = 2; } Volum = temp; temp = Byte_Read(21); if(temp == 0xFF) { temp = IU2060_Model; } temp_Model = temp; temp = Byte_Read(22); if(temp == 0xFF) { temp = 0; } Fre_num = temp; }
时间: 2024-03-30 10:33:45 浏览: 224
这是一段嵌入式系统中的代码,包括两个函数Save()和Reload()。
Save()函数的作用是将当前的系统参数保存到存储器中。首先执行Sector_Erase()函数擦除一个扇区,然后调用Byte_Program()函数将各个参数写入存储器中,其中包括Id_data、BUFF、Volum、temp_Model、Fre_num、Pilot_ID_H和Pilot_ID_L等参数。
Reload()函数的作用是从存储器中读取保存的系统参数,并将其恢复到系统中。首先调用Byte_Read()函数读取各个参数,然后将其赋值给相应的变量。在读取BUFF参数时,将读取的三个字节合并成一个32位的变量。如果读取的参数值为0xFF,则使用默认值。最后将Pilot_ID_H、Pilot_ID_L和Volum等参数用于发送PILOTBUFF和设置系统参数。
整个代码的作用是在系统关机前将当前的系统参数保存到存储器中,然后在系统重启后从存储器中读取参数并恢复到系统中。这样就可以实现系统参数的持久化,避免每次启动系统时需要重新设置参数。
阅读全文