单片机程序中我想加入一个判断语句,是否为刚烧写完?这个判断语句该怎么写

[复制链接]
1320|19
手机看帖
扫描二维码
随时随地手机跟帖
橘子阿小|  楼主 | 2022-1-14 09:12 | 显示全部楼层 |阅读模式
PIC24单片机,串行的24C08存储器,因为程序需要,需要在程序一开始加一个判断,判断程序是否为刚烧写完的程序
这个判断语句该怎么写?

使用特权

评论回复
coshi| | 2022-2-6 18:25 | 显示全部楼层
这个真的不知道

使用特权

评论回复
qcliu| | 2022-2-6 18:35 | 显示全部楼层
这个不需要把 有什么必要吗

使用特权

评论回复
drer| | 2022-2-6 18:48 | 显示全部楼层
那没有做过这样的例程

使用特权

评论回复
wiba| | 2022-2-6 19:01 | 显示全部楼层
可以点灯代替吗

使用特权

评论回复
kxsi| | 2022-2-6 19:16 | 显示全部楼层
点个灯 示意一下就行了

使用特权

评论回复
ynwa| | 2022-2-7 10:13 | 显示全部楼层
你自己为“烧写完”设定一个标志,判断一下不就行了

使用特权

评论回复
wooda| | 2022-2-7 20:54 | 显示全部楼层
也就是没有运行过呗,运行一下后在flash里面写个标志就完了

使用特权

评论回复
hu9jj| | 2022-2-8 09:37 | 显示全部楼层
既然有EEPROM,直接保存一个标志在AT24C08中就可以判断了。

使用特权

评论回复
tripic| | 2022-2-8 10:43 | 显示全部楼层
可以在外部的EEPROM或者MCU内部Flash特定的几个区域写上特殊字符,
每次上电去判断一下,这几个区域是不是存在这些特殊字符,
如果没有,就表示刚烧写完初次运行程序;
如果有,就表示这个程序烧写完以后运行过(即不是首次运行程序)。

使用特权

评论回复
Candic12e| | 2022-2-16 16:22 | 显示全部楼层
这个可以写个时间戳吧,是不是能实现啊?

使用特权

评论回复
yangjiaxu| | 2022-2-16 17:55 | 显示全部楼层
本帖最后由 yangjiaxu 于 2022-2-16 17:57 编辑

基本上烧录的时候加个标记,比如在最后写个1,然后下一次程序写个2,这个标记随时与存储器里对比,如果比它大就是新程序

使用特权

评论回复
Charlotte夏| | 2022-2-16 18:06 | 显示全部楼层
可以在存储里写个标记,试试

使用特权

评论回复
Betty996| | 2022-2-16 18:27 | 显示全部楼层
这个判断程序是否是最新程序呗,这个程序有啥标记么?比如时间戳啥的?

使用特权

评论回复
Carina卡| | 2022-2-16 19:14 | 显示全部楼层
得看你程序是否有啥标记,通过这个标记来记录

使用特权

评论回复
Annie556| | 2022-2-16 19:24 | 显示全部楼层
在你的存储里写个标记,如果是最新的就标记为1,如果之前的就标记成0试试

使用特权

评论回复
Belle1257| | 2022-2-16 19:49 | 显示全部楼层
还没这么考虑过,我觉得可以在程序里写个标记,开机读取这个标记,然后写到存储器里

使用特权

评论回复
Carmen7| | 2022-2-16 20:03 | 显示全部楼层
你用时间戳可能会行,如果不用时间戳的话,就是在程序里加个标记

使用特权

评论回复
Betty1299| | 2022-2-16 20:15 | 显示全部楼层
这个还没有什么好的思路,我知道keil的话有编译时间之类的

使用特权

评论回复
Allison8859| | 2022-2-16 20:26 | 显示全部楼层
还得从你的程序固件入手,得让他有标记可言

使用特权

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

本版积分规则