1.部分章节中的看门狗定时器地址写成了0x56000010,这个地址是GPBCON的地址;
更正为0x53000000。
2.第九章:
时钟与定时器代码init.c的时钟配置寄存器“TCNTB0 = 31250; // 0.5秒钟触发一次中断”
我调试好程序后,注释没有改,如果配置成这个数值,应该是每1s中断一次,如果想0.5秒中断,
TCNTB0=15625。
计算过程:
先列出部分程序:
#define S3C2440_MPLL_200MHZ ((0x5c<<12)|(0x01<<4)|(0x02))
CLKDIVN = 0x03; // FCLK:HCLK:PCLK=1:2:4, HDIVN=1,PDIVN=1
其中mdiv=0x5c=92 pdiv=1 sdiv=2
FCLK=2*(92+8)*12MHz/((1+2)*2^2)=200MHz
PCLK=FCLK/4=50MHz
Timer input clock Frequency = PCLK / {prescaler value+1} / {divider value}
= 50MHz/(99+1)/(16)= 31250
因此,程序中是1S中断一次。
3.第九章:
程序包中有一个interrupt.h文件,本章的程序采用了韦东山的源码,该文件没有只是对一个函数的声明,而这个函数在本程序中没有使用,因此interrupt.h文件是多余的,可以删除。
阅读(3072) | 评论(0) | 转发(5) |