要求:
在作業本上完成附圖作業,要認真看題目要求。
提交作業截圖
作弊本學期成績清零(有雷同的,不管是給別人傳答案,還是找別人要答案都清零)
每個暫存器都有自己固有的位址,我們需要通過c語言訪問這些位址。
#define time_addr 0xffffc0000;
#define time *(volatile int *)(time_addr+2)
該暫存器是16位的,首先(volatile int)是乙個指標,它儲存的位址就是後面的(time_addr+2),然後取這個位址的值,接下來我們就能直接賦值給time來改變位址上(time_addr+2)儲存的值了。
在seconds中不需要移位,但我們看到「seconds➗2」的標誌,這是因為hour=24,minute=60,seconds=60,各需要5位,6位,6位;但是暫存器只有16位,需要seconds需要➗2
因為hours所佔的位置為11—15,所以需要先右移11位,又因為hours佔5位,所以需要與上0x1f,在十六位中把除了後五位都變成0,00000000000011111=0x1f
#define time_addr 0xffffc0000 //實時鐘晶元的io映像基址是oxffffc0000
#define time *(volatile int *)(time_addr+2) //時間存放在基址+2的暫存器中
int gethours()
同理:
int getmimutes
int getseconds();
void sethours(int hours) //插入hours
void setminutes(int minuets) //插入minutes
void setseconds(int seconds)
嵌入式基礎
以應用為中心 以計算機技術為基礎,軟硬體可裁剪,應用系統對功能 可靠性 成本 體積 功耗和應用環境有特殊要求的專用計算機系統。是將應用程式 作業系統和計算機硬體整合在一起的系統。1.嵌入式系統的構成 嵌入式微處理器 嵌入式作業系統 外圍應用裝置 應用軟體系統。2.嵌入式處理器 嵌入式微處理器 嵌入式...
嵌入式基礎
整體思路 time指標指向該暫存器,所以定義乙個timeop位域,利用time指標將暫存器中的值放至timeop中,儲存後面暫存器讀取到的結果再經過修改返回到暫存器裡 用16位指標time指向這裡使用的16位暫存器,用來讀取和改變暫存器值 借助強制轉換的方式將值傳給time指標,指標將值給暫存器,將...
嵌入式Linux c 基礎
資料型別 向計算機申請儲存資料的記憶體大小,如int 申請4位元組的大小。變數是用來儲存值的所在處,它們有名字和資料型別.變數的資料型別決定了如何將代表這些值的位儲存到計算機的記憶體中 試卷的筆記 電腦是x86 裸機是arm 編譯程式 gcc 和 arm linux gcc 字串表示 反斜槓要必須雙...