完善资料让更多小伙伴认识你,还能领取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]中(当然在标签中没有空格以使它们可见)
|
|
|
|
|
|
是的,我编辑了这个帖子,把代码标签放进去,看起来好多了!
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473 浏览 0 评论
5793 浏览 9 评论
2334 浏览 8 评论
2224 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3530 浏览 3 评论
1121浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1095浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
872浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
473浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-1 19:09 , Processed in 0.933076 second(s), Total 89, Slave 71 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
447