打印
[PIC®/AVR®/dsPIC®产品]

变量怎样定义储存在FLASH区

[复制链接]
1722|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里的。

使用特权

评论回复
5
zhuomuniao110| | 2019-4-12 18:55 | 只看该作者
本来就是放到Flash的

使用特权

评论回复
6
zhuomuniao110| | 2019-4-12 18:56 | 只看该作者
你试试啊,肯定能运行。

使用特权

评论回复
7
天灵灵地灵灵| | 2019-4-13 22:33 | 只看该作者
楼主试试看。

使用特权

评论回复
8
天灵灵地灵灵| | 2019-4-13 22:34 | 只看该作者
搞个大的变量,然后编译后会给出个消息。

使用特权

评论回复
9
linqing171| | 2019-4-14 21:10 | 只看该作者
16F 的把变量定义在flash,最终生成的其实 RETLW x 的数组。

使用特权

评论回复
10
lihui567| | 2019-4-15 08:38 | 只看该作者
你可以采用flash模拟的eeprom的方式,把变量存到一块flash的扇区就可以

使用特权

评论回复
11
internally| | 2019-4-15 21:22 | 只看该作者
#define只是编译时进行字符替换,又不是变量定义。

使用特权

评论回复
12
linqing171| | 2019-4-15 21:45 | 只看该作者
lihui567 发表于 2019-4-15 08:38
你可以采用flash模拟的eeprom的方式,把变量存到一块flash的扇区就可以

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

使用特权

评论回复
评论
lihui567 2019-4-16 17:03 回复TA
@linqing171 :PIC的单片机还这样搞啊, 
linqing171 2019-4-16 15:57 回复TA
@lihui567 :版主此言诧异,只有ICP不支持ISP的PIC16F系列的单片机非常多,比如 http://59.80.44.98/ww1.microchip.com/downloads/en/DeviceDoc/41213D.pdf 
lihui567 2019-4-16 10:16 回复TA
既然是单片机,怎么不能通过软件来写 
13
systemchip| | 2019-4-16 18:10 | 只看该作者
不支持self-write的PIC16器件最后一个家族,应该是十年前的古董了

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

189

主题

508

帖子

3

粉丝