打印

[技术问答] 调试76E003搞出来的乌龙

[复制链接]
1236|15
跳转到指定楼层
楼主
最近在调试个小项目,应用的是76E003.也只是应用到了15个IO口,ADC和TIMER2,TIMER3这么几个外设,非常简单。
于是,就新建了个项目,把以前用过的这几个外设的C文件拷过来。在MAIN里面将这几个外设都初始化一下,然后按照原理图,重新定义和修改GPIO的设置,打算先把GPIO调好。
本身就很简单,改好后下载到板子上去看效果,就发现P03这个脚有问题。配置上是设置这个脚为双向脚,准备用作输入读取的,却发现怎么也读取不了,读取的值始终为低电平,即使将这个脚连到电源脚上去,读出来还是低电平。把配置上面改为输入脚,还是不行,现象一样。
换了一个新板子过来,下载下去测试,还是一样。有点奇怪了。。。
去翻76E003的说明书,看到P03这个脚,复用为AIN6和PWM5.突然就想起来,我ADC初始化的就是AIN6吧。
原来在初始化时,虽然先初始化的输入功能,但后面的ADC又把它初始化成了AIN6,成模拟输入脚了。数字输入部分被断开的,所以始终读不到值。
把ADC改到其它输入脚 上,再测试就没问题了。
这个问题在仿真的时候去查看P0的引脚功能设置寄存器应该也能发现问题。
一个不小心引起的乌龙,
沙发
| 2019-1-3 11:50 | 只看该作者
感谢分享经验,我也经常干这种蠢事
板凳
| 2019-1-3 13:02 | 只看该作者
楼主写得很好,做嵌入式开发,调试debug时间远大于开发时间。
地板
| 2019-1-3 15:20 | 只看该作者
嗯,是的。好多时候先来个点灯。看看工程有没有毛病。
5
| 2019-1-3 15:29 | 只看该作者
是的,之前有人用错了,说芯片有BUG,笑死人。楼主研究的透彻。
6
| 2019-1-3 20:53 | 只看该作者
003用好了,可以赚大钱。
7
 楼主 | 2019-1-4 09:15 | 只看该作者
734774645 发表于 2019-1-3 20:53
003用好了,可以赚大钱。

赚大钱就不用想了,能赚到也不是做技术的。
8
| 2019-1-8 12:49 | 只看该作者
楼主写的很好啊 我也长见识了
9
| 2019-1-8 16:18 | 只看该作者
楼主意思是,之前这个你用做ADC了,然后后面的程序又想用成IO?
10
| 2019-1-8 16:19 | 只看该作者
一般固定的电路后,一个IO就作为一个固定的功能了吧
11
| 2019-1-8 16:19 | 只看该作者
也可以设置一个选项,让它重新初始化成其他功能。
12
| 2019-1-9 08:50 | 只看该作者
如果有奇怪的问题, 我一般都是把一部分程序屏蔽,看问题还有没有,有的话继续屏蔽一部分程序,如果问题没有了,那就是屏蔽的那部分程序有问题了,然后继续针对屏蔽的那部分程序找原因
13
| 2019-1-9 15:13 | 只看该作者
给楼主捧场,看过楼主分享的很多项目学习啦。
14
| 2019-1-9 15:19 | 只看该作者
楼主加油。不要怀疑硬件有问题,真有问题,还能混到现在吗
15
| 2019-1-9 16:54 | 只看该作者
喜闻乐见啊
16
| 2019-1-19 14:20 | 只看该作者
嗷嗷嗷
扫描二维码,随时随地手机跟帖
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式
我要创建版块 申请成为版主

论坛热帖

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