一、按位运算
按位与&:清零,清零位&0; 如:0xFFFF &( ~(1 << 7)), 将第7位清零。
按位或 | :置1,置1位 | 1; 如:0xFFFF | (1 << 5) , 将第5位置1。
按位异或^:翻转,翻转位 ^ 1。 如:0xFFFF ^ (1 << 3),将第3位翻转。
二、点灯
通过查找s3c2440原理图、以及各端口寄存器。
1、关闭WDT
WTCON &= ~(1 << 5);
2、关键字:volatile
避免编译器对C语言的优化。使用指针间接访问时,禁止优化,当自己给自己赋值时使其不会被忽略。 eg: volatile unsigned int *p = &i ; *p = *p;
二、蜂鸣器
三、中断流程
1、中断源发出中断请求;
2、CPU检查该中断是否被屏蔽,以及总中断是否被屏蔽;
3、考察中断优先级;
4、保护现场;
5、执行中断服务函数;
6、恢复现场。
注 :SRCPND(源挂起):谁发送了中断;与 INTPND(中断挂起):谁响应了中断。
在完成任务后,要清楚其挂起状态。(写1清除)