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

[复制链接]
1827|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 | 显示全部楼层
嗯,是的。好多时候先来个点灯。看看工程有没有毛病。
| 2019-1-3 15:29 | 显示全部楼层
是的,之前有人用错了,说芯片有BUG,笑死人。楼主研究的透彻。
| 2019-1-3 20:53 | 显示全部楼层
003用好了,可以赚大钱。
 楼主 | 2019-1-4 09:15 | 显示全部楼层
734774645 发表于 2019-1-3 20:53
003用好了,可以赚大钱。

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

快速回复

您需要登录后才可以回帖
登录 | 注册
高级模式

论坛热帖

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