用了十几年PIC,第一次遭遇怪异事件,

[复制链接]
4798|19
 楼主| ocon 发表于 2009-8-11 20:41 | 显示全部楼层 |阅读模式
PIC16F630,CCSC 4.032编译器,使用内部震荡加内部复位。
加入#Fuses INTRC_IO语句编译后用PICkit2烧写,单片机不能工作,测量各IO脚电平处于复位高阻状态,去掉此句再编译,然后手动配置Oscillator位才能正常工作,两种方式在MPLAB里显示的配置位值同样为0x304c,无解。。。
怪异的是,此情况只出现在调试用过的两片单片机上,其他的同一批单片机没发现这个问题,可能是在调试过程中,板上电源线曾经出现过的十几伏高电压导致这两片单片机部分损坏,当加入#Fuses INTRC_IO时,C编译器生成的代码使得损坏过的这两片单片机的缺陷暴露。
牛牛特工 发表于 2009-8-11 20:52 | 显示全部楼层
不太清楚 不过我这几天碰到的怪事太多了
1.外设控制寄存器的值 没修改它 自己变了
2.程序中没有设断点 每次运行到同一个地方 会自动断 查看MPLAB的断点列表
啥也没有
3.EEROM老写不进去
23问题 重新建一个工程 还用原来的代码 立马正常了 可能工程里来回调试发生数据错乱吧
1问题还没想明白咋回事
XIEYUANBIN 发表于 2009-8-11 21:33 | 显示全部楼层
回一楼:十几V的高压可能导致PIC单片机处于复位状态.
二楼:
1.外设控制寄存器的值 没修改它 自己变了----如果用汇编,内存页面搞错了.
2.WDT动作,或SIM报告错误太多,自动停止
3.写AA,55的时候被中断.
4.工程来回修改,很可能内部数据出错.
yewuyi 发表于 2009-8-12 08:40 | 显示全部楼层
1楼的问题需要再讨论。

2楼则是典型的还没会用MPLAB+PIC+PICC
牛牛特工 发表于 2009-8-12 10:15 | 显示全部楼层
本帖最后由 牛牛特工 于 2009-8-12 10:24 编辑

俄 楼上你的说法太专业了 令我摸不着头脑 能不能给点解释

3楼:

我用的是C 不知道是否存在页的问题

1.WDT用配置字给关了
2.没有任何错误报告
3.写AA 55之前已关闭全局中断
4.这个还有可能
不过已经解决咯 !! 重建工程即可 谢谢解答!!
 楼主| ocon 发表于 2009-8-16 02:02 | 显示全部楼层
又有一片PIC16F630出现一楼这个问题,估计还是#Fuses INTRC_IO语句影响了某些未知的配置位,等得空了再深究。
XIEYUANBIN 发表于 2009-8-16 20:38 | 显示全部楼层
kit2有时候会出错,不要过分怀疑片子的好坏
win2000_li 发表于 2009-8-17 12:46 | 显示全部楼层
学习。。。。。。。。。。。。。。。。。
mcuisp 发表于 2009-8-17 18:18 | 显示全部楼层
kit2便宜货,有不稳定的问题正常。
可以考虑支持下我啦。
 楼主| ocon 发表于 2009-8-17 22:00 | 显示全部楼层
目前发现三片PIC16F630只要一打开#Fuses INTRC_IO必定一直处于复位状态,无法工作,其它的几十片没有出现这个问题。
mcuisp 发表于 2009-8-17 22:36 | 显示全部楼层
分析比较一下生成的hex文件看看。
PIGYONG801 发表于 2009-8-18 09:53 | 显示全部楼层
KIT2最好用KIT2的专用软件,用IDE烧BUG很多
PIGYONG801 发表于 2009-8-18 09:54 | 显示全部楼层
上次在IDE中,连时钟也搞没了
tx007007 发表于 2009-8-19 15:21 | 显示全部楼层
偶有PICC 不能回答LZ的问题 不过二楼的基本都是自己失误造成的
还是那句老话 一定要严谨\仔细

我遇到过一个问题 一直没搞明白是怎么回事 希望大家分析一下
目标板带电 多次插拔烧录头(调试的时候,需要多次下载代码) 偶尔一次片子开始发烫 时间长了还会烧片子 这时候断掉电源 再开 又一切正常了 实在没搞明白是怎么回事
XIEYUANBIN 发表于 2009-8-19 16:09 | 显示全部楼层
14楼的:那个可能是单片机进入锁死状态了.这是CMOS电路的通病.
ddb_21ic 发表于 2009-8-19 18:18 | 显示全部楼层
Kit2的软件不见得比MPLAB好
今天就遇见一回,Kit2里面老是说EEPROM写错误
回到MPLAB就一切OK了
yewuyi 发表于 2009-8-20 08:34 | 显示全部楼层
呵呵,我除了刚拿到KIT2的时候出现过一些状况外,目前还没遇到灵异事情呢。
XIEYUANBIN 发表于 2009-8-20 08:55 | 显示全部楼层

KIT2的灵异事件:

KIT2,使用专用软件烧写时在线烧写和烧单独芯片都可以,脱机烧写时在线烧写失败率在80%以上,烧单独芯片可以.
使用KIT2调试的时候,反复多设置几个断点就不行了.不知道现在的MPLAB怎样.按理说,在设置第二个断点的时候,第一个断点会自动失效,但KIT2多次重复此过程就会乱,别的BUG就不说了.ICD2比较稳定一点,就是速度太慢.
qixian1988 发表于 2010-6-4 17:25 | 显示全部楼层
学习~~~~~~~~
chunk 发表于 2010-6-7 11:46 | 显示全部楼层
LZ应该自己做一个烧写器,开发一个上位机程序。
这事儿越走越深的话,大家觉得是否能挖出一个**加密片的手段呢?当然,也可能是找出一种防**的更强手段。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

145

主题

4997

帖子

14

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