PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
C_and_CPP
[问题]C 语言问题
楼主:
kandrew
(蓝天白云~~)
2021-03-24 13:34:46
请问以下函式
void (* resetFunc) (void) = 0;
这段程式有什么功用?
然后在程式中,做了判断如下
if (error == 1)
{
resetFunc();
}
是否代表程式又从头执行吗? 谢谢您的回复
作者:
james732
(好人超)
2021-03-24 13:37:00
关键字: function pointer
作者:
descent
(“雄辩是银,沉默是金”)
2021-03-24 13:48:00
要执行位址 0 的程式码
作者:
james732
(好人超)
2021-03-24 15:08:00
这应该是出现在单芯片用来做出问题reset的
作者:
cuteSquirrel
(松鼠)
2021-03-24 15:11:00
跳回去并且重新执行 摆在0x0000的程式码有点像嵌入式应用的error handling,出错强制重跑跑一些register reset/initialization的流程关键字就是一楼讲的
作者:
TCPipv6
(TCP IPv6)
2021-03-24 15:15:00
你可以试着找找function pointer
作者:
a1781781781
(嘎了给给)
2021-03-24 15:16:00
推楼上,位置0x0通常是放reset中断函式的位置,当有错误发生时,手动近reset函式,重新设定系统参数,再跳到main开始重新跑
作者:
cuteSquirrel
(松鼠)
2021-03-24 16:20:00
对,中断向量相关的细节可以参考芯片的开发手册
作者:
chuegou
(chuegou)
2021-03-25 12:33:00
这行的动作是把program counter这个暂存器填0内存0的位址如推文所说 通常是中断向量表
继续阅读
[问题] 为什么继承里面是父类别子类别?
lirpassmore
Re: [问题] heap use after free 问题
ucrxzero
[问题] heap use after free 问题
lemonsheep
[问题] error handler with C++
lattes
[问题] C++ vector如何包成dll给C#使用?
popen
[问题] 指标问题
Arim
Re: [问题] 请问语法问题
descent
[问题] 请问语法问题
pilipalabon
[分享] BBS 程式码上色器
pinefruit
[问题] 请教link lib跟dynamic load dll的差异
Keitaro
Links
booklink
Contact Us: admin [ a t ] ucptt.com