Microchip
直播中

刘丽

8年用户 1356经验值
私信 关注
[问答]

主循环根本不工作,仅在拉下随机引脚后程序才启动

嘿,伙计们,这里的初学者。所以我开始潜入PIC编程世界,我无法解决当前的问题。我的设置:PIC12F1501,带有PICkit3,在黑板上用普通的跳线缆连接,按照普通的电线图进行编程。MPLAB X IDE V4.05附带的免费XC8编译器。它通过PICkit3MPLAB供电,安装相对容易(注意:我使用的是Arch Linux 64bit),遇到一些问题后,我可以成功地对PIC进行编程。首先,我可以得到一个LED点亮(在这个帖子结束的来源)。但我的第一个问题是,当我试图建立一个循环,使LED闪烁。即使有WDT关闭,输出引脚只是漂浮或行为怪异。我使用了以下循环:我四处搜索,也关闭了尽可能多的外围设备,但是引脚只是浮动或表现不明确。后来我也读到有电阻的LED会产生问题,所以现在我只是用DMM读取PIN的状态。我也试着只写Lababist.LATA4=0语句到无限循环,但是它也不改变它的状态!所以它必须与循环有关,但是WDT是禁用的/o还有一个有趣的观察(或者更多的问题)是,硬复位(断电/接通)在编程之后不会使引脚变高,并且我需要探测一些其他引脚。我认为这与我的DMM作为下拉电阻的内部电阻有关。那么,当拉另一个引脚时,程序开始或一个引脚改变它的状态?否则(像所有其他引脚)浮动。我希望这不是写混乱,或明显,但我已经经历了一些教程,故障排除和XC8入门指南,我只是找不到任何错误><感谢所有的帮助!

回帖(5)

吴键洪

2020-3-18 07:42:39
您的配置词指定您有一个外部时钟信号连接到CLKIN引脚。(RA5/2)对吗?如果没有,您应该将#pragma配置FOSC=ECH//振荡器选择位(ECH,外部时钟,高功率模式(4-20MHz):提供给CLKIN引脚的设备时钟)更改为#pragma配置FOSC=INTOSC//INTOSC振荡器:CLKIN引脚上的I/O功能。()函数退出,这意味着它将重置并重新运行C运行时启动代码。在嵌入式系统中,如果想执行一次操作并停止,请在main()的末尾放置一个无尽的循环。
举报

张丽雯

2020-3-18 08:07:10
在你们的第一篇文章中,我代表所有的老论坛成员感谢你们:1。在相关论坛上发表文章。人们很容易期待这会出现在XC32论坛…疯狂:2。提供一个体面的描述你的PIC是如何连接起来的。3。对你调试过的问题做了很好的描述。大多数人似乎什么也没做。4。使用代码标签!这对于第一篇文章来说是惊人的。有些人永远不会得到它…悲伤:5。提供配置位设置!通常需要3到4个帖子(有时是十几个)来从太多的第一次海报中提取出来。6。事实上学习数据表!这些日子似乎是罕见的技能。悲伤:悲伤:做得好!(现在不要去,让我陷入一个67后愚蠢的漫无目的的漫谈SPI……)眨眼:
举报

张蕾

2020-3-18 08:17:30
H++1WORD
举报

周杰

2020-3-18 08:30:55
哦,洛尔,谢谢?我在其他论坛也很活跃,所以我知道这些问题,某种程度上,即使我不认为这是一个关于技术的论坛的问题……但是,是的,我也想和大家分享我的成功,我也最终在移位寄存器的帮助下控制了我的7段显示器。我花费了几个小时的安静,但从来没有少过,现在可以打印文本,那太酷了!内存真的很低,而且我可以在使用const关键字时看到巨大的影响。需要更多的阅读,似乎有很长的路要走,我想做什么。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分