Modbus 丛机地址修改的问题 ?
参见示例代码:Modbus 丛机地址可以通过上位机 修改为 需要的值(例如,修改为3)。可是,每次复位后,又变回原来的值(1)了。
MCU为STM32F030,开发环境为:uVision V5。
请教:
这个问题 该如何解决 ?
谢谢!
---------------------------------------------------------------------------
示例代码:
......
unsigned char ModbusAddress ;
......
void modbus_init(void)
{
ModbusAddress = 1;
}
int main(void)//master
{
......
modbus_init();
......
while(1)
{
......
ModbusAddress = 3 ;
......
}
}
你没有把地址存储在非易失存储啊,存储在RAM中复位后就丢了,你要把地址存储在flash或eeprom中,初始化的时候去读回来。 自己安排一个存储到非易失性媒介的 函数 谢谢二位,学习了 请问楼主你是这么修改的,我现在也遇到这个问题 通过IIC或者SPI接口外接EEPROM进行参数保存,启动的时候读取参数。或者把参数保存在MCU内部的Flash中也可以,总之不能只是保存在RAM中,RAM是掉电丢失数据的。其实最常见的方法是通过设置拨码开关实现地址的定义,MCU通过检测拨码开关的状态就知道自己的地址了。每一个设备上用一个四位的拨码开关可以设置16个地址,基本够用了。 将数据存在FLASH里面就行了
页:
[1]