1.中断没有触发的可能原因
1.从cpu这一端看,本身的中断开关没有打开
2.Cpu这一级中断被其他原因关闭,例如arm中cpsr的i和f位都被屏蔽了
3.从外设的角度,检查外设的中断有没有发出来,发出来了会不会还没有到达cpu之前就被屏蔽了,这个往往可以查看mask是否设置正确
4.软件来说,中断处理程序是否注册成功,中断号是否申请成功
5.有没有跳入中断处理程序,跳入了的话,是一次还是频繁进去
6.在开启中断之前,最好清理一下cpu的中断状态寄存器,因为在中断完成初始化之前,有可能有假的中断,这样也会导致中断初始化好了之后,cpu先去判断状态位,后面的中断都进不来了,这个在调试dspc6678的时候遇到过一次。
2.char *s = “this is test!”,随后改变这个字符串的值,会发生什么,为什么?
这样定义的字符串是在常亮区,常识去改变一个常量的值是非法的,会导致系统异常
3.代码注释当中,经常会先TODO,XXX,FIXME,各代表什么意思?
TODO:首先,这个注释的意思是,这个功能还未实现,需要以后来做!这个来自于微软,在vs软件里面有一个视图可以专门显示有TODO地方的代码,这样经理在审查项目代码的时候,一眼就可以看到哪些地方还是需要实现的。
XXX:这段代码的功能需要改进!
FIXME:这段代码的功能需要修正!