ucos-ii中的中断服务子程序写法中有这样一句 if (OSIntNesting == 1) { OSTCBCur->OSTCBStkPtr = SP;
答案:1 悬赏:50 手机版
解决时间 2021-03-19 15:23
- 提问者网友:流星是天使的眼泪
- 2021-03-19 12:04
ucos-ii中的中断服务子程序写法中有这样一句 if (OSIntNesting == 1) { OSTCBCur->OSTCBStkPtr = SP;
最佳答案
- 五星知识达人网友:街头电车
- 2021-03-19 12:56
嵌入式C语言可以操作SP等寄存器的值 流水灯不也是直接对端口操作吗追问嵌入式C语言??你是指在c中嵌入汇编吗?? c中不能直接对R0-R14等寄存器操作吧…追答if (OSIntNesting == 1) { OSTCBCur->OSTCBStkPtr = SP; 这句只是表达意思吧,具体实现还是用汇编吧,我以前这样写的
LDR R0,=OSIntNesting
LDR R1,[R0]
CMP R1,#1
BNE OSTickISR_1
LDR R0,=OSTCBCur ;OSTCBCur -> ptask = SP
LDR R0,[R0]
STR SP,[R0]
OSTickISR_1
。。。。。。。。。。。追问wow~~汇编哎~~这一句不要行不行……追答要得,因为其他函数也有OSIntNesting,不要会不协调运行
LDR R0,=OSIntNesting
LDR R1,[R0]
CMP R1,#1
BNE OSTickISR_1
LDR R0,=OSTCBCur ;OSTCBCur -> ptask = SP
LDR R0,[R0]
STR SP,[R0]
OSTickISR_1
。。。。。。。。。。。追问wow~~汇编哎~~这一句不要行不行……追答要得,因为其他函数也有OSIntNesting,不要会不协调运行
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯