发新帖我要提问
12
返回列表
打印

世纪难题,2周未解决,PIC24FJ64GA004,高手进啊。。。。

[复制链接]
楼主: liuhuiyuzhen
手机看帖
扫描二维码
随时随地手机跟帖
21
1、仔细阅读数据手册。
2、手工焊接?检查下焊接过程中的静电啊、漏电啊等等因素。

使用特权

评论回复
22
eagleyjf| | 2011-5-20 23:26 | 只看该作者
本帖最后由 eagleyjf 于 2011-5-20 23:48 编辑

使用PIC差不多3年了,最怕就是开了优化的编译器。。。

感觉出现这种问题,很大可能是编译器导致的。。。

使用特权

评论回复
23
bobo1957| | 2011-5-21 00:13 | 只看该作者
把你的图贴出来看看先

使用特权

评论回复
24
bobo1957| | 2011-5-21 00:14 | 只看该作者
我用PIC做的东西自己也记不清楚了,但是灭有遇到过你说过的问题

使用特权

评论回复
25
yewuyi| | 2011-5-21 08:40 | 只看该作者
使用PIC差不多3年了,最怕就是开了优化的编译器。。。

感觉出现这种问题,很大可能是编译器导致的。。。
eagleyjf 发表于 2011-5-20 23:26



:D ,你这是典型的水平问题,是PIC及其编译器没有关系,呵呵,我一向都只开到最高优化,从没出过问题。

一般出问题都是因为你写的代码不够规范造成的,此类问题隐藏的比较深,一般不太容易找出来,导致心生畏惧,并视为编译器有问题而已。

使用特权

评论回复
26
兰天白云| | 2011-5-21 09:12 | 只看该作者
LZ咨询的可能不是原厂的技术支持,而是代理

使用特权

评论回复
27
liuhuiyuzhen|  楼主 | 2011-5-21 11:32 | 只看该作者
谢谢大家,问题解决了,加不加对地的104电容都可以了,在芯片上电后延迟一下就行了,初步判断为串口初始化出现了问题

使用特权

评论回复
28
eagleyjf| | 2011-5-21 11:45 | 只看该作者
:D ,你这是典型的水平问题,是PIC及其编译器没有关系,呵呵,我一向都只开到最高优化,从没出过问题。

一般出问题都是因为你写的代码不够规范造成的,此类问题隐藏的比较深,一般不太容易找出来,导致心生畏惧, ...
yewuyi 发表于 2011-5-21 08:40


我承认我代码确实写的不够规范。
我说下我曾经遇到过的一个例子:有个项目要用到USB功能,就选用PIC24FJ256GB106这个芯片,然后用Microchip Solutions 里面的Demo程序来调试USB功能。由于我一直都对编译器优化功能没信心,所以开始把优化关闭了,结果怎么调试都无法识别USB,结果有一次把优化打开到1级,就正常了。。。同一个程序,开优化就正常,不开优化就不正常。。。代码我基本上没修改过(当时也不会去修改底层驱动)。。。。这样看来原厂提供的Demo程序也不怎么规范。。。

编译器用的是C30,当然不是正版的。。。

使用特权

评论回复
29
ZRL700424| | 2011-5-21 12:09 | 只看该作者
本帖最后由 ZRL700424 于 2011-5-21 12:38 编辑
一般出问题都是因为你写的代码不够规范造成的,此类问题隐藏的比较深,一般不太容易找出来,导致心生畏惧, ...
yewuyi 发表于 2011-5-21 08:40


这个结论有点武断,曾经遇到过的问题:
1,AVR启动狗和关闭狗时有严格的时序,一般情况下不会关闭看门狗,优化没有问题,但如果既有清狗程序又有关狗程序时(睡眠时把狗关掉,唤醒后再开),优化后会把开狗和关狗相同的部分当成子函数调用,结果时序就不对了,关不了狗;
2,瑞萨芯片有一个寄存器,程序是按位一个一个赋值的,有一个版本的编译器直接优化成字节操作,结果工作不正常(最要命的是手册上根本没说这个寄存器不能字节操作),问瑞萨的技术支持,回答是:我们写程序都是不优化的,你不选优化就行了:L

使用特权

评论回复
30
mei326| | 2011-5-21 12:54 | 只看该作者
楼主遇到的问题和我之前遇到的一样,DEBUG正常,下载程序后运行不正常就因为复位的问题!最后解决的方法也是开启上电延时后一切正常!编译器一般不会出什么问题,只因为吃透m~

使用特权

评论回复
31
yewuyi| | 2011-5-21 13:58 | 只看该作者
我承认我代码确实写的不够规范。
我说下我曾经遇到过的一个例子:有个项目要用到USB功能,就选用PIC24FJ256GB106这个芯片,然后用Microchip Solutions 里面的Demo程序来调试USB功能。由于我一直都对编译器优化功能 ...
eagleyjf 发表于 2011-5-21 11:45



呵呵,既然叫DEMO,只是测试测试用的,别期望提高。

使用特权

评论回复
32
yewuyi| | 2011-5-21 14:05 | 只看该作者
这个结论有点武断,曾经遇到过的问题:
1,AVR启动狗和关闭狗时有严格的时序,一般情况下不会关闭看门狗,优化没有问题,但如果既有清狗程序又有关狗程序时(睡眠时把狗关掉,唤醒后再开),优化后会把开狗和关狗相 ...
ZRL700424 发表于 2011-5-21 12:09


1、有严格时序要求的代码,一般都直接嵌入汇编,这个是大众原则。
2、瑞莎的技术支持回答的真牛,根本不能称之工程师,简直就是捣糨糊,共同BS之。

编译器也是一种产品,虽然不能保证自己设计的各种各样的产品偶尔没有点小问题,偶尔编译器出点小BUG也是可能的,但导致对优化产生恐惧则过于反应过度,不必心生畏惧。

使用特权

评论回复
33
hsw_21| | 2011-5-21 15:17 | 只看该作者
提倡和支持用正版编译器。

使用特权

评论回复
34
sjzzlxy| | 2011-5-23 09:43 | 只看该作者

我看到ICD3的手册上不允许在MCLR上接电容啊!

使用特权

评论回复
35
yewuyi| | 2011-5-23 10:09 | 只看该作者
63308
我看到ICD3的手册上不允许在MCLR上接电容啊!
sjzzlxy 发表于 2011-5-23 09:43


原则上不容许接

使用特权

评论回复
36
liuf| | 2011-5-24 20:31 | 只看该作者
配置位应该在程序里配置吧
我用的PIC18F的,
#pragma config PWRT=ON
#pragma config WDT = ON
。。。。

使用特权

评论回复
37
928315| | 2011-6-25 14:39 | 只看该作者
叶工,对PIC的态度真好。。

使用特权

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

本版积分规则