打印

重启后MCU不能正常工作

[复制链接]
644|22
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
PIC 16 单片机 write flash 按照行写 重启后MCU不能正常工作

使用特权

评论回复
沙发
gongche| | 2020-11-5 22:52 | 只看该作者

还有什么现象?能再详细描述下吗?

使用特权

评论回复
板凳
zyf部长|  楼主 | 2020-11-5 22:57 | 只看该作者
按照行(一行32个字)擦写后,重启后MCU不能正常起来,有引起反复重启 以及 电流从200MA下降至89MA两种

使用特权

评论回复
地板
hanwe| | 2020-11-5 23:01 | 只看该作者
用工具把整个flash读出来, 然后研究你刚刚操作的那段flash的内容, 看看是不是你期望的,

使用特权

评论回复
5
liuzaiy| | 2020-11-5 23:03 | 只看该作者
如果不是期望的就是错的咯, 看看错在哪里, 是地址错了,还是内容有误.

使用特权

评论回复
6
zyf部长|  楼主 | 2020-11-5 23:10 | 只看该作者
直接从菜单  window--->PIC memory views-->program memory看?

使用特权

评论回复
7
kangzj| | 2020-11-5 23:14 | 只看该作者
不完全是的..
先连上你的 烧录工具, 然后read一下,

使用特权

评论回复
8
kangzj| | 2020-11-5 23:18 | 只看该作者

使用特权

评论回复
9
kangzj| | 2020-11-5 23:21 | 只看该作者
最后才是在program memory里面看你操作的地址及对应内容..

使用特权

评论回复
10
zhuww| | 2020-11-5 23:25 | 只看该作者
编译提示的占用space,是指生成的代码, 如果一句连一句, 实打实的需要1AA8H这么多条.
但是,实际上, 编译器将这些放到整个ROM区域, 可能不是连续.

使用特权

评论回复
11
wenfen| | 2020-11-5 23:31 | 只看该作者
我猜你这里想"空白利用"的意思, 或者说, 你是想在ROM拿一段区域出来自行擦写,自行存放数据用..

使用特权

评论回复
12
chenho| | 2020-11-5 23:35 | 只看该作者
你可以 在项目属性里面指定 你想要的ROM区域..如下图所示:

使用特权

评论回复
13
chenho| | 2020-11-5 23:38 | 只看该作者
看一下注释说明, 应该很清楚用法的哈..

使用特权

评论回复
14
chenho| | 2020-11-5 23:42 | 只看该作者

使用特权

评论回复
15
ousj| | 2020-11-5 23:45 | 只看该作者
看一下flash区域,别写道寄存器地址去了

使用特权

评论回复
16
zyf部长|  楼主 | 2020-11-5 23:50 | 只看该作者
请教pic里面的32位变量正确的定义和使用方式:
unsigned long int len;
unsigned int lenh, lenl;
lenh = 0x9988;
lenl = 0x7766;
//以上打印出来正确
len = (lenh <<16)|lenl;
lenh = (len & 0xffff0000) >> 16;
lenl = len&0x0000ffff;
//打印出来lenh  lenl分别是0000 FFEE

使用特权

评论回复
17
zyf部长|  楼主 | 2020-11-5 23:53 | 只看该作者
擦写地址指向到代码空间了。

使用特权

评论回复
18
wangzsa| | 2020-11-5 23:56 | 只看该作者
你这个是PIC16, 8位机, 默认的long好像是24位的, 你需要改一下编译器的设置,改到更长才可以的....

使用特权

评论回复
19
北极风| | 2020-11-6 09:35 | 只看该作者
zyf部长 发表于 2020-11-5 23:50
请教pic里面的32位变量正确的定义和使用方式:
unsigned long int len;
unsigned int lenh, lenl;

len = (lenh <<16)|lenl;
此时lenh宽度不够,左移后数据不变。应该为
len = ((unsigned longlenh <<16)|lenl;
先将lenh扩转到32位,再移位。

使用特权

评论回复
20
lcczg| | 2020-11-6 10:58 | 只看该作者
代码区被改了?

使用特权

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

本版积分规则

694

主题

7102

帖子

8

粉丝