搜索
bottom↓
回复: 15

PIC18F45K40同一程序不同批号程序不正常工作如何解决

[复制链接]

出0入0汤圆

发表于 2018-8-29 17:07:43 | 显示全部楼层 |阅读模式
之前一直用1737JTB批次的45k40的芯片调程序,一直好好的。项目完工后,烧写到1632EPV批次的芯片,完全不能工作。都是同一个型号的芯片,问题到底出在什么地方?不知大家有没有碰到过这种怪事?

出20入12汤圆

发表于 2018-8-29 19:01:58 来自手机 | 显示全部楼层
用ICD分别读出这俩芯片的版本再根据勘误手册看下版本区别,基本能解决。

出0入0汤圆

 楼主| 发表于 2018-8-29 20:45:47 | 显示全部楼层
gaolf_2012 发表于 2018-8-29 19:01
用ICD分别读出这俩芯片的版本再根据勘误手册看下版本区别,基本能解决。

datasheet里没有勘误部分,很郁闷

出20入12汤圆

发表于 2018-8-29 21:01:46 来自手机 | 显示全部楼层
有专门的文档

出0入0汤圆

 楼主| 发表于 2018-8-29 21:13:02 | 显示全部楼层

发个链接我看下,我一直找不到。而且这个PIC18F45K40的datasheet没有中文的

出20入12汤圆

发表于 2018-8-29 21:24:28 来自手机 | 显示全部楼层
明天在电脑上微芯官网看看,现在用手机上微芯官网简直如同自虐。

出0入0汤圆

 楼主| 发表于 2018-8-29 21:32:58 | 显示全部楼层
gaolf_2012 发表于 2018-8-29 21:24
明天在电脑上微芯官网看看,现在用手机上微芯官网简直如同自虐。

对了,程序在“器件ID版本a044”(批次1737JTB)上可以正常运行,而在“器件ID版本a043”(批次1632EPV)上是不能正常运行。我试了下最简单的程序,就是对段码显示芯片SM1632进行操作,a044可正常显示,a043就不行。非常的不爽!

出0入0汤圆

发表于 2018-8-29 22:26:17 | 显示全部楼层
silicon errata.

出20入12汤圆

发表于 2018-8-30 07:49:36 | 显示全部楼层
访问
www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F45K40
即可.
不过今天上不去
$4.04
  Sorry you didn't find what you were looking for...

出0入0汤圆

发表于 2018-8-30 08:26:36 | 显示全部楼层
little4_su 发表于 2018-8-29 21:32
对了,程序在“器件ID版本a044”(批次1737JTB)上可以正常运行,而在“器件ID版本a043”(批次1632EPV) ...

043 044 的区别,这个文档不是描述的很清楚么?


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x

出0入0汤圆

发表于 2018-8-30 08:39:57 | 显示全部楼层
little4_su 发表于 2018-8-29 21:32
对了,程序在“器件ID版本a044”(批次1737JTB)上可以正常运行,而在“器件ID版本a043”(批次1632EPV) ...

主要看一下 3.1 哈?!
3.1 TBLRD Requires NVMREG Value to Point to
Appropriate Memory

出0入0汤圆

 楼主| 发表于 2018-8-30 09:25:44 | 显示全部楼层
labtech 发表于 2018-8-30 08:39
主要看一下 3.1 哈?!
3.1 TBLRD Requires NVMREG Value to Point to
Appropriate Memory

真不知如何感谢你,赞美你!按照你的指引去修改,终于把问题解决了。const 类型数据造成的问题,在器件ID版本a043(A3)和a044(A4)上要区分对待,勘误表中的3.1节中也特别说明了这一点。我暂时把const类型的数据注释掉后,就可以正常使用了。当初以为是配置位有所区别,用简单程序对某一端口进行操作时大家都能正常工作,然后加入显示后问题就来了,因为显示部分使用了const数据。

出0入0汤圆

发表于 2018-8-30 09:27:31 | 显示全部楼层
little4_su 发表于 2018-8-30 09:25
真不知如何感谢你,赞美你!按照你的指引去修改,终于把问题解决了。const 类型数据造成的问题,在器件ID ...

出0入0汤圆

 楼主| 发表于 2018-8-30 09:28:45 | 显示全部楼层
gaolf_2012 发表于 2018-8-30 07:49
访问
www.microchip.com/wwwproducts/Devices.aspx?product=PIC18F45K40
即可.

也谢谢你啊,要不然还真不知道有个勘误表

出0入0汤圆

发表于 2018-8-30 09:47:09 | 显示全部楼层
labtech 发表于 2018-8-30 08:26
043 044 的区别,这个文档不是描述的很清楚么?

学习了,自己原来这么菜

出0入0汤圆

 楼主| 发表于 2018-8-30 09:57:02 | 显示全部楼层
我发现这个不光是对const类型有区别,对全局变量都造成影响啊。显示段码表const uchar LED_SEG_TABL[]={0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F}//0~9属于全局变量,虽然注释掉,但也不能显示。甚至uchar LED_SEG_TABL[]作为局部变量也不能显示,可不是const类型。我在全局变量声明了一个uchar led4=0x66,led5=0x6d,也不能显示。我把它们作为局部变量后,就可以正常显示了。区别好大啊
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-20 15:47

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表