完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
扫一扫,分享给好友
大家好,有经验的用户,但在这里第一次海报,有一个问题,只有一个ADC通道。在我的PIC12F1822,我使用AN1读取一个3位开关和AN3读取交流电压,半整流并缩放到3.5V峰值。电源是5.0V。PIC通过相位控制来控制电机速度,就像调光器一样。开关和线电压结合起来决定相位控制输出。当在调试模式下运行时,一切正常,但当我编程时,PIC在释放模式下AN3似乎不起作用。通过调试,我确定ADC始终返回0xFF值。转换结果是左对齐的,我只看ADRESH。我已经设置了硬件,所以从调试到发布不需要触摸任何东西。只用鼠标和键盘,我可以在调试中编程,查看示波器,看它是否正常工作,然后在释放模式下重新编程,看它是否正常。如果我移动开关,我可以看到AN1在这两种情况下都工作,但是在释放模式下没有检测到线电压。TRIS和ANSEL位被设置为RA4/AN3,配置位被设置为使得调试器不必改变它们中的任何一个(为此必须改变PWRTEN和WRT位),并且没有改变这个端口选择了nate函数。我检查了errata,它提到的唯一的ADC问题是转换没有结束,这不是我的问题(我等待GO位是0,这确实发生了)。欢迎任何想法。
|
|
相关推荐
7个回答
|
|
我在代码中挂了一个bug,它让你认为ADRESH总是0xFF。由于调试开销或断点定时,发行版本可能会有所不同。
|
|
|
|
还要检查采样时间。您已经切换ADC通道和转换开始之间的时间。
|
|
|
|
调试模式用于将所有引脚设置为数字,而在发布时,您必须自己动手-也许
|
|
|
|
你好。谢谢您的快速回复。没有设置断点,因此不应该有调试开销影响行为。至少有一毫秒的获取时间,对于大多数示例来说要多得多。我附上了一个冒犯代码的列表,以防您发现缺陷。抱歉,它似乎已经丢失了标签。最后一行是Vline设置的代码中唯一的一个位置。Vline工作时大约是0xA0(精确值取决于线电压),不工作时大约是0xFF。中断例程每毫秒设置fTick,并且不处理ADC。
|
|
|
|
谢谢你的回复。你让我沿着不同的方向思考,现在我发现了问题。我的电源需要很长时间才能上升。我想我已经等着它解决了(我把它从我发布的代码中删除),但我想我的方案不起作用。它回到了绘图板上。
|
|
|
|
此外,使用代码标签将使您的发布代码更易于阅读。[Co.dE]在你的代码之前和[/o.d e]中(当然在标签中没有空格以使它们可见)
|
|
|
|
是的,我编辑了这个帖子,把代码标签放进去,看起来好多了!
|
|
|
|
只有小组成员才能发言,加入小组>>
5231 浏览 9 评论
2026 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3200 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
770浏览 1评论
658浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
587浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
668浏览 0评论
570浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-19 07:27 , Processed in 1.380424 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号