uint8 FLASH_Write(void) { int i;gpio_set(C7,1); flash_erase_page(SECTION_INDEX, PAGE_INDEX); memset(data_buffer, 0x00, sizeof(data_buffer)); for(i=1;i<=Val_Num;i++) //写入缓存数组 C_Menu(i,2,0,0); gpio_set(C7,0); return flash_page_program(SECTION_INDEX, PAGE_INDEX, data_buffer, Val_Num); }
时间: 2024-04-22 20:23:27 浏览: 60
这段代码定义了一个函数 `FLASH_Write`,通过调用该函数可以将 `data_buffer` 中的数据写入到 flash 存储器中,具体流程如下:
1. 通过 `gpio_set(C7,1)` 将 C7 引脚设置为高电平,擦除 flash 存储器中 `SECTION_INDEX` 和 `PAGE_INDEX` 指定的页面;
2. 通过 `memset(data_buffer, 0x00, sizeof(data_buffer))` 将 `data_buffer` 中的内容全部清零;
3. 通过 `for` 循环将 `Val_Num` 个参数的数值依次写入到 `data_buffer` 缓冲区中;
4. 通过 `gpio_set(C7,0)` 将 C7 引脚设置为低电平;
5. 最后通过 `flash_page_program` 函数将 `data_buffer` 中的数据按照 PAGE 大小写入到 flash 存储器中,函数返回写入结果。
阅读全文