完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
电子发烧友论坛|
嗨,你开始时走错路了。ISR不接受任何参数,它的定义是这样的,所以你要坚持使用全局变量。建议使用至少一个全局指针指向本地静态变量。可能会变得有点繁琐和难以调试。-在执行作业的ISR中调用外部函数。但是,我们还要看看函数是如何访问变量的,因为ISR不能将其作为参数传递,ISR对此一无所知。无论如何,从ISR内部调用函数不是我的首选实践,因为它往往会减慢ISR wich的速度,所以应该既短又快。只要我2美分……最好问候Jorge
|
|
|
|
|
|
任何一个全局的方法都会在TBISR中产生额外的开销。虽然我称赞你不使用全局变量,但在ISR中是正确的。附加的。这些变量必须声明为易失性。如果你不是原子的话,你就不要保险。
|
|
|
|
|
|
不要自吹自擂。正如其他人所说,按照定义,ISR访问与非中断代码共享的变量,它必须是全局变量。
|
|
|
|
|
|
尽管他们在学校教什么,但是全局变量并没有什么错。嵌入式开发与Linux/Windows开发有很大的不同。
|
|
|
|
|
|
所以,你在互联网上读到的几篇文章都是白痴(随着它们一次又一次地重复,这些文章变得越来越多)解释使用全局变量有什么不好吗?您相信他们不会使用全局变量,即使它们是在ISR和程序的其余部分之间传递信息的唯一方法?我建议你重新考虑一下你的方法。
|
|
|
|
|
|
ISR中的全局不同于100个全局,因为这比“传递参数”的开销要好。它们告诉您它是不好的,因为它伸缩性差,并且具有“副作用”问题。
|
|
|
|
|
|
全局、本地、传递的参数、自动变量;实际上都包含在有限资源的范围和管理的概念中(它们都驻留在同一有限数量的RAM中)。在通常具有少量可用RAM的微控制器中,每种类型的变量都有优缺点,必须考虑这些优点和缺点,以实现最有效和可行的代码。坚持某种类型的“好”或“坏”的一般哲学会导致大量的浪费时间和精力。恕我直言。
|
|
|
|
|
|
当你被交给一个PIC24项目,上面有数百个Globals和几个程序员,并且需要清理它时,你会发现它们变得多么难以管理。一个人应该只使用正确的Globals数量。微笑:
|
|
|
|
|
|
我可以理解OP来自哪里,特别是如果他们想要更新一个结构,这意味着它可以是一个被修改的元素(但是每次都变化)。也许一个折衷方案是使用ISR设置并在主循环中测试的“标志”全局变量。这样,你就可以限制“全局”变量,仍然使你想要的变量变为更有限的范围。苏珊
|
|
|
|
|
|
同意,但“正确”是如此难以捉摸!
|
|
|
|
|
|
嗨,如果你把ISR和相应的访问例程写在一个单独的源文件(编译单元)中,你可以把ISR访问的变量和结构声明为静态模块变量。但是有一个陷阱使它在8位微控制器上不太实用:PIC16只有一个中断ve矢量,所以所有的中断都以相同的ISR开始。PIC18有可能使用两个中断矢量。如果你制作一个像电机控制器一样带有来自不同外围设备的中断,那么用用户界面或别的东西把这个与主程序循环分开是有意义的。silEdit:这个线程是写在XC8论坛上的,所以我假设就是这个上下文。一些成员在讨论中引入了PIC24。这16位微控制器有100多个中断向量,并且更有可能将一个大程序分成可管理的模块。EGIST被称为全局变量,因此保护程序的部分对彼此的可能性是有限的。
|
|
|
|
|
只有小组成员才能发言,加入小组>>
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
503 浏览 0 评论
5812 浏览 9 评论
2350 浏览 8 评论
2237 浏览 10 评论
请问是否能把一个ADC值转换成两个字节用来设置PWM占空比?
3544 浏览 3 评论
1161浏览 1评论
有偿咨询,关于MPLAB X IPE烧录PIC32MX所遇到的问题
1122浏览 1评论
我是Microchip 的代理商,有PIC16F1829T-I/SS 技术问题可以咨询我,微信:A-chip-Ti
890浏览 1评论
MPLAB X IDE V6.25版本怎么对bootloader和应用程序进行烧录
508浏览 0评论
/9
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-12-14 13:34 , Processed in 0.971925 second(s), Total 92, Slave 75 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191

淘帖
1551