|
|
发表于 2019-8-26 15:44:26
|
显示全部楼层
vp空间相当于内存,掉电不保存。如果需要保存可以将数据写到FLASH中。
- // 读写FLASH操作
- void flash(int mod,long addr_flash,int addr, int len)
- {
- /*
- 0x08 NOR_FLASH_RW_CMD 4
- D7:操作模式 0x5A=读 0xA5=写,CPU 操作完清零。
- D6:4:片内 Nor Flash 数据库首地址,必须是偶数,0x000000-0x02:7FFE,160KWords。
- D3:2:数据变量空间首地址,必须是偶数。
- D1:0:读写字长度,必须是偶数。
- */
- char rw_flash_cmd[8]={0}; //数据库读操作
- rw_flash_cmd[0] = mod;
- rw_flash_cmd[1] = (unsigned char)(addr_flash >> 16);
- rw_flash_cmd[2] = (unsigned char)(addr_flash >> 8);
- rw_flash_cmd[3] = (unsigned char)(addr_flash & 0xFE);
- rw_flash_cmd[4] = (unsigned char)(addr >> 8);
- rw_flash_cmd[5] = (unsigned char)(addr & 0xFE);
- rw_flash_cmd[6] = (unsigned char)(len >> 8);
- rw_flash_cmd[7] = (unsigned char)(len & 0xFE);
- //send_data_com(COM_PORT,rw_flash_cmd,8); // debug
- write_dgus_vp(0x08,rw_flash_cmd,4); //启动读Flash
- //等待数据读取OK
- while(1)
- {
- delayms(20);
- read_dgus_vp(0x0008,rw_flash_cmd,1);
- if(rw_flash_cmd[0]==0x00)
- break;
- }
- }
复制代码 |
|