打印

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

[复制链接]
2224|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 | 只看该作者
那没有做过这样的例程

使用特权

评论回复
5
wiba| | 2022-2-6 19:01 | 只看该作者
可以点灯代替吗

使用特权

评论回复
6
kxsi| | 2022-2-6 19:16 | 只看该作者
点个灯 示意一下就行了

使用特权

评论回复
7
ynwa| | 2022-2-7 10:13 | 只看该作者
你自己为“烧写完”设定一个标志,判断一下不就行了

使用特权

评论回复
8
wooda| | 2022-2-7 20:54 | 只看该作者
也就是没有运行过呗,运行一下后在flash里面写个标志就完了

使用特权

评论回复
9
hu9jj| | 2022-2-8 09:37 | 只看该作者
既然有EEPROM,直接保存一个标志在AT24C08中就可以判断了。

使用特权

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

使用特权

评论回复
11
Candic12e| | 2022-2-16 16:22 | 只看该作者
这个可以写个时间戳吧,是不是能实现啊?

使用特权

评论回复
12
yangjiaxu| | 2022-2-16 17:55 | 只看该作者
本帖最后由 yangjiaxu 于 2022-2-16 17:57 编辑

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

使用特权

评论回复
13
Charlotte夏| | 2022-2-16 18:06 | 只看该作者
可以在存储里写个标记,试试

使用特权

评论回复
14
Betty996| | 2022-2-16 18:27 | 只看该作者
这个判断程序是否是最新程序呗,这个程序有啥标记么?比如时间戳啥的?

使用特权

评论回复
15
Carina卡| | 2022-2-16 19:14 | 只看该作者
得看你程序是否有啥标记,通过这个标记来记录

使用特权

评论回复
16
Annie556| | 2022-2-16 19:24 | 只看该作者
在你的存储里写个标记,如果是最新的就标记为1,如果之前的就标记成0试试

使用特权

评论回复
17
Belle1257| | 2022-2-16 19:49 | 只看该作者
还没这么考虑过,我觉得可以在程序里写个标记,开机读取这个标记,然后写到存储器里

使用特权

评论回复
18
Carmen7| | 2022-2-16 20:03 | 只看该作者
你用时间戳可能会行,如果不用时间戳的话,就是在程序里加个标记

使用特权

评论回复
19
Betty1299| | 2022-2-16 20:15 | 只看该作者
这个还没有什么好的思路,我知道keil的话有编译时间之类的

使用特权

评论回复
20
Allison8859| | 2022-2-16 20:26 | 只看该作者
还得从你的程序固件入手,得让他有标记可言

使用特权

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

本版积分规则

65

主题

152

帖子

1

粉丝