初级会员

- 积分
- 152
- 金钱
- 152
- 注册时间
- 2018-1-6
- 在线时间
- 56 小时
|
1金钱
各位老师,我没弄清楚malloc动态内存分配 与 STM32103ZET6片内Flash存储有什么关系。
目前我在编写代码时,希望单片机每隔10分钟 将5个参数的值保存一次在Flash内,代码如下:
STMFLASH_Write(FLASH_SAVE_ADDR+10*ListNumber_count,(u16*)wendu,SIZE_t);
ListNumber_count++;
STMFLASH_Write(FLASH_SAVE_ADDR+20*ListNumber_count,(u16*)ppm_show,SIZE_ppm);
ListNumber_count++;
STMFLASH_Write(FLASH_SAVE_ADDR+30*ListNumber_count,(u16*)shidu,SIZE_ppms);
ListNumber_count++;
STMFLASH_Write(FLASH_SAVE_ADDR+40*ListNumber_count,(u16*)calendar_date,SIZE_date);
ListNumber_count++;
STMFLASH_Write(FLASH_SAVE_ADDR+50*ListNumber_count,(u16*)calendar_time,SIZE_time);
ListNumber_count++;
以上是保存一次的方式。但是这样通过ListNumber_count++太繁琐,并且内存分配必须固定是10字节,太痛苦了。
于是我想能不能使用malloc和free的方式自动去分配内存呢?
具体实现方式是什么样呢?谢谢。
|
|