完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
你怎么知道它只执行一次?
|
|
|
|
是的,但是这里有延迟,这不是这里的问题…
|
|
|
|
我使用PIC16F506,我把一切都关闭了,缩小了问题。我知道它只执行一次,因为它第一次眨眼的次数是预期的7倍,然后什么也没有发生。我试过不同的16f506芯片,结果相同。
|
|
|
|
我认为如果你发布整个拆卸是个好主意。
|
|
|
|
16F506有一个只有2个深度的硬件堆栈。嵌套函数导致堆栈溢出。
|
|
|
|
如果超过堆栈限制,XC8通常会在基线部分执行软件调用堆栈。
|
|
|
|
嗨,在PIC16F688上试过代码后,它就永远闪烁了。在配置设置和寄存器初始化方面做了更改,并使用不同的I/O引脚(在PORTC中),编译PIC16F506的XC8版本1.38给出以下警告:警告[1393]D:Micro..LuckyX_BlinkSwitch.c77。检测到可能的硬件堆栈溢出;估计堆栈深度:3选择使用Managed堆栈的链接器选项,警告消失。
|
|
|
|
当堆栈溢出时,两个堆栈级别都包含地址0x1b4。在地址0x1b5上执行ReLLW返回到无限循环中的位置0x1b4。
|
|
|
|
非常感谢大家的回复。那么我该怎么做才能避免这个问题呢?如果我理解正确,我不能调用函数调用另一个函数?
|
|
|
|
HI,进入ProjtProject,并查看:托管堆栈MysIL
|
|
|
|
你知道Mysil在这里提到的警告吗?
|
|
|
|
是的,但根本没注意到。
|
|
|
|
如果你的第一篇文章提到了你使用的PIC,并且你已经注意到了相当明显的警告,你会更快地解决这个问题。
|
|
|
|
根据需要,在可用RAM的限制内。它比硬件堆栈效率低得多,因此不适合具有紧定时限制的复杂程序。您必须使用PIC16F506吗?那是一个12位的核心,并且不适合运行C。PIC16F1503大约是相同的价格,在同一个包中,并且更加强大……
|
|
|
|
只有小组成员才能发言,加入小组>>
5242 浏览 9 评论
2031 浏览 8 评论
1955 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3207 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2256 浏览 5 评论
778浏览 1评论
669浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
596浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
679浏览 0评论
577浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-24 00:01 , Processed in 1.503479 second(s), Total 103, Slave 87 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号