完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大家好,我在16F87项目中得到了虚假的崩溃,我想我已经确定了两种可能性。1。一个“呼叫”,但也许从来没有“返回”。我调用一个表read(使用movlw HIGH TABLE等,以确保正确寻址)。表跳转(go to)到另一个例程。该例程以跳转(go to)到myMAIN_ROUtiNE的中间而不是返回。主程序是完美的,所以我认为它会节省代码,这会溢出堆栈吗?2。嵌套表读取。稍后我在代码中再次调用同一个表,但是这次生成的例程将“CALL”另一个表读取。这个主意不好?特里沃
|
|
相关推荐
7个回答
|
|
如果你不打算执行从例程返回,而是要退出,那么不要使用调用,而是要进入例程。请记住,许多gotos会导致非常复杂和难以调试/维护的代码(许多人称之为“意大利面条代码”)。计划好的函数/例程和直接的主程序可能会导致更容易完成的项目。
|
|
|
|
谢谢你,杰克,好主意,不过这又让我担心了。我几乎没有什么表可以把各种菜单放在16x2LCD上,这些菜单是通过调用下面的例程来读取的。这些例程怎么不会溢出/溢出堆栈呢?特里沃
|
|
|
|
这些表中的数据通常是RETLW指令的列表(在W寄存器中以字面值返回),所以CALL中有RETURN。
|
|
|
|
是吗?我们只能猜测,因为你从来没有展示过你的表。更常见的是,它们是ReLW指令的块,正如杰克所言。
|
|
|
|
在PIC16F87中没有BRA指令(我本来想说它是BRALess,但虽然更好。;)
|
|
|
|
对不起,没有早点回复,请走开。谢谢邮递员,我的一些表使用RETLW指令返回数值。但是,我认为我遇到麻烦的表,使用GOTO指令列表来决定液晶显示器的数据,如下所示。我知道很多人讨厌ADDWF PCL,F指令,但它对我来说很有效。特里沃
|
|
|
|
谢谢杰克,最近我在网页边界上做了一些认真的教育。
|
|
|
|
只有小组成员才能发言,加入小组>>
5238 浏览 9 评论
2028 浏览 8 评论
1950 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3204 浏览 3 评论
请问电源和晶体值之间有什么关系吗?PIC在正常条件下运行4MHz需要多少电压?
2253 浏览 5 评论
772浏览 1评论
663浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
590浏览 1评论
PIC Kit3出现目标设备ID(00000000)与预期的设备ID(02c20000)不匹配。是什么原因
672浏览 0评论
572浏览 0评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 16:01 , Processed in 1.421227 second(s), Total 91, Slave 74 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号