📄 flash.c
字号:
//#include <stdio.h>
#include "flash.h"
void write_flash_value(unsigned short *address, short int value)
{
short int check;
short int prog_done_mask = (1<<7);
*address = 0x0060; // Enter Unlock command (0x60)
*(address + (0x1F8000)) = 0x00D0; // Unlock the first block BA = 0x08 (0xD0 unlocks the flash)
*address = 0x0090; // Move to Read Status Mode
check = *(address+0x0002); //*********add a check for the lock status
*address = 0x0020; //Enter Erase Mode
*(address + (0x1F8000)) = 0x00D0; //Enter Erase confirm commnad
*(address + 0x000) = 0x00D0; //Enter Erase confirm commnad
*address = 0x0070; //Switch to Read Status Mode
check = *address;
while ((check & prog_done_mask) == 0) {
check = *address;
}
*address = 0x0050;
*address = 0x00FF;
*address = 0x0060; // Enter Unlock command (0x60)
*(address + (0x1F8000)) = 0x00D0; // Unlock the first block BA = 0x08 (0xD0 unlocks the flash)
*address = 0x0090; // Move to Read Status Mode
check = *(address+0x0002); //*********add a check for the lock status
*address = 0x0040;
*(address + (0x1FFFFF)) = value; //Write Value to Flash
*address = 0x0070; //Switch to Read Status Mode
check = *address;
while ((check & prog_done_mask) == 0) //Check to see if programming is done
check = *address;
*address = 0x0050; //Clear Read Status Register
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -