適時(shí)時(shí)鐘的設(shè)置:直接向相關(guān)數(shù)據(jù)寄存器里寫(xiě)入相應(yīng)的時(shí)間值。如:rBCDSEC=0x30; 在S3C2440的DATASHEET中介紹的一樣:rBCDSEC的4--6位對(duì)應(yīng)于十進(jìn)制秒的十位,0--3位對(duì)應(yīng)的是十進(jìn)制的個(gè)位。如果要對(duì)寄存器賦值30秒則要寫(xiě)成:rBCDSEC=0x30;或rBCDSEC=48;而寫(xiě)成rBCDSEC=30;則是錯(cuò)的!這是寄存器與十進(jìn)制的位置對(duì)應(yīng)關(guān)系決定的。 適時(shí)時(shí)鐘的讀。涸谝恍┏鯇W(xué)者看來(lái),只要讀取相應(yīng)寄存器的值,然后用格式化輸出函數(shù)的%d輸出就可以了(我就是這樣認(rèn)為的)。其實(shí)不然,在ARM中時(shí)間的輸出有一個(gè)專(zhuān)用的格式化輸出符號(hào):%x 。用其它的格式化輸出符號(hào)則會(huì)出錯(cuò)!
printf("今天是:20%2x年%2x月%2x日--%2x:%2x:%2x\n\n",rBCDYEAR,rBCDMON,rBCDDATE,rBCDHOUR,rBCDMIN,rBCDSEC);
|