Microchip
直播中

罗宗保

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

请问怎么使用静态类型内部的ISR实现呼叫之间的固定状态?

大家好,我有一个关于编程最佳实践的问题。我希望有一个ISR在呼叫之间保持一定程度的状态,但是,我不想使用全局变量。我正在考虑使用静态类型内部的ISR实现呼叫之间的固定状态。有没有其他的方法更符合C最佳实践?谢谢您!

回帖(14)

刘景

2019-9-11 08:58:28
我对“最佳实践”不太确定,但是您总是可以直接指定一个寄存器来保存值。也就是说,我建议检查实际的应用程序目标,而不是盲目遵循编程范例。如果全局变量是有用的,并且对应用程序的未来可能不有害,那么它会带来什么问题呢?
举报

丁亚念

2019-9-11 09:14:23
为什么不呢?无论哪种方式最终都会在PIC中使用完全相同的资源。
举报

刘景

2019-9-11 09:34:14
呵呵。程序设计专业的学生被“全局变量”赶了出来,很少考虑他们为什么会首先存在。真的,从“寄存器”的角度来看它更令人愉快。你的照片上有“Zobs先生”,它们是真正的变量。在这个应用程序中,你真正关心的是他们使用的一个短语与另一个短语之间的关系?
举报

张娜

2019-9-11 09:40:10
嗯,一个PIC几乎没有寄存器来避免在中断中保持一个值。
举报

更多回帖

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