Doci 发表于 2018-9-21 10:37:22

MPS430,写入flash的数据发生了变化,什么原因啊?

MPS430,写入flash的数据运行一段时间后就发生了变化,大神帮忙看看什么原因啊?
串口写如数据段如下://串口只设置一次
                   Flash_ptr = (char *)0x1040;               // Initialize Flash pointer
                   FCTL3 = FWKEY;                            // Clear Lock bit
                   FCTL1 = FWKEY + ERASE;                  // Set Erase bit
                   *Flash_ptr = 0;                           // Dummy write to erase Flash seg
                   FCTL1 = FWKEY + WRT;                      // Set WRT bit for write operation
                     
                   *Flash_ptr++ = RX_BUF; // Write value to flash
                   *Flash_ptr++ = RX_BUF; // Write value to flash
                   FCTL1 = FWKEY;                            // Clear WRT bit
                   FCTL3 = FWKEY + LOCK;                     // Set LOCK bit

                  TX_BUF=0xBB;      TX_BUF=0X0A;//command
                  TX_BUF=Zi_ID;TX_BUF=Zi_ID;//???
                  TX_BUF=RX_BUF; TX_BUF=RX_BUF;//????
                  TX_BUF=1; //len
                  TX_BUF=0xff;
                  Flash_ptr = (char *)0x1040;               // Initialize Flash pointer
                  ZADDRS1 = *Flash_ptr++;
                  ZADDRS2 = *Flash_ptr++;
                   //回复
片子上电时读flash:
                char *Flash_ptr;                        // Flash pointer
                //////////////////////////////////////////////
               Flash_ptr = (char *)0x1040;               // Initialize Flash pointer
               Zi_ID = *Flash_ptr++;
               Zi_ID = *Flash_ptr++;
其他再没有什么地方操作flash了。
运行一段时间之后有的设备的地址就变了,大神帮忙看看是这两点程序的问题吗?

Doci 发表于 2018-9-27 09:05:48

有大神么?能看出什么问题来吗

sunyaqi 发表于 2018-9-27 09:45:15

查查程序中有没有其它写flash的地方

Doci 发表于 2018-9-27 11:07:00

sunyaqi 发表于 2018-9-27 09:45
查查程序中有没有其它写flash的地方

再没有别的地方使用了

asbzhang 发表于 2018-9-28 08:56:37

flash操作的时候关闭中断
页: [1]
查看完整版本: MPS430,写入flash的数据发生了变化,什么原因啊?