單片機驅動程序是什麼,驅動文件組成。

  • 驅動程序是什麼:驅動程序與硬件相關,編寫驅動程序要非常瞭解硬件,同時給應用層提供API函數接口,應用層可以調用這些接口去訪問硬件而不必瞭解硬件.

  • 通俗地解釋:比如說你有一個應用是控制每天早上六點鐘開燈.應用程序只負責在適當的時間做適當的事(到六點了,要開燈了,觸發按鍵信號,這個信號通過驅動程序相應的API接口下發至硬件);具體它不用知道爲什麼按下鍵就能開燈,因爲按下鍵後開燈的事情就是驅動程序完成了,驅動程序再去控制硬件管腳發出高低電平信號去驅動燈的開關.

  • 單片機驅動程序文件組成:以led點燈爲例,包括三個文件led.h(包括宏定義,變量聲明,函數聲明),led.c(模塊的具體代碼實現),main.c(工程的主函數,調用模塊函數並適當組合就可以完成工程的項目要求功能)三個文件。

驅動程序要做的事情:

1、單片機底層開發一般指利用單片機的固有資源完成的控制功能的軟硬件開發,比如時鐘、通訊協議(232、485、UART、SPI、IIC、CAN、IR等)、定時器、AD轉換、GPIO、外設驅動(各種現場控制、各種環境狀況測控、電機控制、電磁閥、繼電器控制、鍵盤掃描、LED和LCD顯示)等。

2、根據時鐘樹圖,觀察初始化時鐘時需要用到哪些寄存器及各種外設需要的時鐘源。

3、配置定時器的時鐘源,分頻,比較值和PWM輸出。
(1)當單片機內部有幾種不同的時鐘源時,必須配置相應的寄存器配置需要的時鐘源,如果不進行配置,將會使用單片機上電默認的時鐘源。
(2)時鐘源決定着系統的工作頻率、定時器定時時間和通信時的波特率。
(3)定時器分頻是爲了獲得更長的定時時間,如果採用標誌位累加的方式來延長定時時間,將會消耗單片機的RAM資源,在低端單片機中,由於RAM資源非常珍貴,因此只能採用定時器分頻來延長定時時間。
(4)比較值對於簡單的定時功能就是計算多少個數產生一次中斷,對於PWM輸出來說就是設置週期和佔空比。

單片機驅動程序與應用程序的區別:應用程序是根據實際應用需求去編寫的程序,指的是代碼的邏輯部分,直接去調用底層驅動預留的接口,而不需要關心硬件底層的實現方式及實現過程。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章