一个嵌入式硬件驱动模块通常应包括哪些函数?
生活随笔
收集整理的這篇文章主要介紹了
一个嵌入式硬件驱动模块通常应包括哪些函数?
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一個嵌入式硬件驅動模塊通常應包括如下函數:
A.修改寄存器,設置硬件參數(如 UART 應設置其波特率,AD/DA 設備應設置其采樣速率等);
B.將中斷服務程序入口地址寫入中斷向量表:
/* 設置中斷向量表 */ m_myPtr = make_far_pointer(0l); /* 返回 void far 型指針 void far * */ m_myPtr += ITYPE_UART; /* ITYPE_UART: uart 中斷服務程序 */ /* 相對于中斷向量表首地址的偏移 */ *m_myPtr = &UART _Isr; /* UART _Isr:UART 的中斷服務程序 */
a.如果控制線可作 PIO(可編程 I/O)和控制信號用,則設置 CPU 內部對應寄存器使其作為控制信號;
時間、設置時間等函數。 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
(1)中斷服務程序 ISR
A.修改寄存器,設置硬件參數(如 UART 應設置其波特率,AD/DA 設備應設置其采樣速率等);
B.將中斷服務程序入口地址寫入中斷向量表:
/* 設置中斷向量表 */ m_myPtr = make_far_pointer(0l); /* 返回 void far 型指針 void far * */ m_myPtr += ITYPE_UART; /* ITYPE_UART: uart 中斷服務程序 */ /* 相對于中斷向量表首地址的偏移 */ *m_myPtr = &UART _Isr; /* UART _Isr:UART 的中斷服務程序 */
a.如果控制線可作 PIO(可編程 I/O)和控制信號用,則設置 CPU 內部對應寄存器使其作為控制信號;
b.設置 CPU 內部的針對該設備的中斷屏蔽位,設置中斷方式(電平觸發還是邊緣觸發)。
時間、設置時間等函數。 《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀
總結
以上是生活随笔為你收集整理的一个嵌入式硬件驱动模块通常应包括哪些函数?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式中的中断服务程序
- 下一篇: CPU 以字节为单位编址,而 C 语言指