EXPORT InitSystem
InitSystem
;禁止看门狗
ldr r0, =WTCON
ldr r1, =0
str r1,[r0]
;禁止所有中断
ldr r0,=INTMSK
ldr r1,=0x07ffffff
str r1,[r0]
;设定时钟控制寄存器
ldr r0, =LOCKTIME
ldr r1, =0xfff
str r1, [r0]
;[ PLLONSTART
ldr r0, =PLLCON ;锁相环倍频设定
ldr r1, =((M_DIV<<12)+(P_DIV<<4)+S_DIV) ;设定系统主时钟频率, 倍频为((P_DIV+2)*(2的S_DIV次方))/(M_DIV+8)
str r1, [r0]
;]
ldr r0, =CLKCON
ldr r1, =0x7ff8 ;所有功能单元块时钟使能
str r1, [r0]
;*******************
例如初始化看门狗那段 先把看门狗寄存器地址给寄存器r0 再把0给R1 然后再把人r1给r0 指令ldr解释是将固定的地址加载到寄存器 这几句话是如何实现修改看门狗寄存器设置的 操作不都是对R1,R0的吗 是如何做到修改看门狗的 我对实现的过程不太明白 希望大家解答。
str r1,[r0]
这个不就是往那个寄存器里面写入设置的参数吗??
ldr r0, =WTCON //将WTCON的地址保存到R0
ldr r1, =0 //将0付给R1
str r1,[r0] //将R1里面的值付给R0里面地址对应的值。
上面三句话的意思就是WTCON = 0;
将看门狗寄存器WTCON 清零了。