嵌入式實時系統程式開發一 按鍵程式編寫

2022-05-04 20:51:07 字數 867 閱讀 9041

為了回顧以前的東西,以及把作業系統的思想能用在處理器的多工操作上,會持續**一些文章,這些思想主要借鑑周慈航《基於嵌入式實時系統程式設計技術》一書

鍵盤程式控制技術:

鍵盤作為輸入輸出口,是我們常用的乙個模組,下面把自己總結的鍵盤程式大體描繪一下。

鍵盤中有兩個問題我們需要解決:乙個是防抖,乙個是要避免連擊。

對於防抖:通常我們加延時函式,等待按鍵穩定後再執行後面的步驟,但是具體要延時多長時間只能憑藉經驗或嘗試的辦法,不可靠,更好的辦法是我們可以設定兩個狀態變數,分別儲存按鍵上一時刻和這一時刻的狀態,當兩個狀態一樣時,說明按鍵狀態穩定。

避免連擊:連擊通常也會造成不可預知的操作,避免連擊就是讓按鍵一次只響應一次,為此我們需要檢測按下和釋放兩種狀態,然後再執行相應的操作。一般有兩種方法,一是按鍵按下,執行相應操作,然後檢測釋放;二是,檢測按鍵按下並釋放後,然後執行相應操作。我一般用第二種。

程式流程:

int   taskkey(void* pdata)

int8u key,key0;

while(1)

ostimedly(1);

key=keyin();       

if(key=未按下|key!=key0)        //如果按鍵沒有按下或者按鍵前後狀態不一,繼續檢查按鍵狀態

key0=key;

continue;

which(key)

執行相應按鍵解析函式,並更新顯示訊息。   

while(1)

key=keyin();

if(key釋放) break;                     //如果按鍵釋放,跳出迴圈,一次按鍵相應操作完成

ostimedly(1);

實時嵌入式系統簡介

嵌入式系統設計中最早的決策點之一是系統是否需要實時計算功能。實時計算描述了在有限的時間範圍內對輸入做出反應並提供規定的輸出的能力。使用實時計算的裝置部署在應用程式中,在這些應用程式中,它們的正確功能可以改變生與死。例如,考慮傳統家庭轎車中的安全氣囊。當車輛在發生碰撞時突然停止時,安全氣囊必須在一瞬間...

嵌入式系統的開發

一.嵌入式系統的開發過程和工具 1.開發步驟 1 需求分析與規格說明 通常包括功能部分和非功能部分,非功能部分需求主要是指效能 成本 尺寸 重量和功耗等 2 系統設計 也叫做概要設計或總體設計,根據規格說明書中系統要實現的功能,確定如何實現這些功能的硬體和軟體,即哪些功能由硬體完成,哪些功能由軟體完...

嵌入式系統 實時作業系統 RTOS

一 rtos中的基本概念 背景 rtos具有的功能 作業系統中的程序與執行緒 二 嵌入式作業系統的主要種類 1 uc os ii 2 linux 作業系統 3 vxworks 4 wince os 作業系統,operating system 是嵌入式系統中的靈魂,是其軟體系統中的重要組成部分,嵌入式...