標(biāo)題: ARM歷程七!適時(shí)時(shí)鐘RTC編程注意事項(xiàng) [打印本頁(yè)]
作者: daming 時(shí)間: 2014-12-29 20:00
標(biāo)題: ARM歷程七!適時(shí)時(shí)鐘RTC編程注意事項(xiàng)
適時(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í)鐘的讀取:在一些初學(xué)者看來(lái),只要讀取相應(yīng)寄存器的值,然后用格式化輸出函數(shù)的%d輸出就可以了(我就是這樣認(rèn)為的)。其實(shí)不然,在ARM中時(shí)間的輸出有一個(gè)專用的格式化輸出符號(hào):%x 。用其它的格式化輸出符號(hào)則會(huì)出錯(cuò)!
printf("今天是:20%2x年%2x月%2x日--%2x:%2x:%2x\n\n",rBCDYEAR,rBCDMON,rBCDDATE,rBCDHOUR,rBCDMIN,rBCDSEC);
歡迎光臨 (http://www.raoushi.com/bbs/) |
Powered by Discuz! X3.1 |