[PIC®/AVR®/dsPIC®产品] 变量怎样定义储存在FLASH区

[复制链接]
2073|15
 楼主| huhaomcu 发表于 2019-4-12 10:17 | 显示全部楼层 |阅读模式
移植一个程序,原程序里面有用宏定义#defeine  数据1,数据2,....数据n【后面有900多个字节 ;我使用的芯片PIC16F RAM区却只有512字节,所以我想问有没有什么办法,让#define定义的数据放到FLASH区
systemchip 发表于 2019-4-12 10:34 | 显示全部楼层
#define 关RAM/FLASH什么事?
CoolSilicon 发表于 2019-4-12 10:38 | 显示全部楼层
define只是宏定义,又不占空间....
oxygenzz 发表于 2019-4-12 10:52 | 显示全部楼层

#define 定义的标识符常量,在编译预处理的时候,会将程序中的标识符直接替换成常量。可以看做是程序语句的一部分,存储在flash里的。
zhuomuniao110 发表于 2019-4-12 18:55 | 显示全部楼层
本来就是放到Flash的
zhuomuniao110 发表于 2019-4-12 18:56 | 显示全部楼层
你试试啊,肯定能运行。
天灵灵地灵灵 发表于 2019-4-13 22:33 | 显示全部楼层
楼主试试看。
天灵灵地灵灵 发表于 2019-4-13 22:34 | 显示全部楼层
搞个大的变量,然后编译后会给出个消息。
linqing171 发表于 2019-4-14 21:10 | 显示全部楼层
16F 的把变量定义在flash,最终生成的其实 RETLW x 的数组。
lihui567 发表于 2019-4-15 08:38 | 显示全部楼层
你可以采用flash模拟的eeprom的方式,把变量存到一块flash的扇区就可以
internally 发表于 2019-4-15 21:22 | 显示全部楼层
#define只是编译时进行字符替换,又不是变量定义。
linqing171 发表于 2019-4-15 21:45 | 显示全部楼层
lihui567 发表于 2019-4-15 08:38
你可以采用flash模拟的eeprom的方式,把变量存到一块flash的扇区就可以

对应flash不能通过软件来写的flash型单片机,只能通过编程口来写,怎么模拟?

评论

@linqing171 :PIC的单片机还这样搞啊,  发表于 2019-4-16 17:03
@lihui567 :版主此言诧异,只有ICP不支持ISP的PIC16F系列的单片机非常多,比如 http://59.80.44.98/ww1.microchip.com/downloads/en/DeviceDoc/41213D.pdf  发表于 2019-4-16 15:57
既然是单片机,怎么不能通过软件来写  发表于 2019-4-16 10:16
systemchip 发表于 2019-4-16 18:10 | 显示全部楼层
不支持self-write的PIC16器件最后一个家族,应该是十年前的古董了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

190

主题

509

帖子

3

粉丝
快速回复 在线客服 返回列表 返回顶部