清屏對顯存的每個單元置零,使屏幕顯示清除。以下為清屏的部分源程序:
Void clrscreen(void)
{ int ;i
unsigned int* pbuffer;
pbuffer=(U32* )frameBuffer1;
for( i="0"; i<1200; i++)
{
pbuffer[ i]=0;
}
}
3. 3. 4 編制LCD顯示函數并向LCD設備寫入數據
定義displayLcd()函數為LCD顯示函數,用于往顯存中寫數據,經過pbuffer送至LCD顯示器,并讓它循環顯示在LCD顯示屏上。要在LCD上顯示ASCII字符,首先把每個字符轉成一個16* 16bit的數組,組成字庫(本次實現中使用),然后,選擇要顯示的字符,從字庫中提取字符,經函數調用后,將要顯示的字符送至LCD顯示器,這樣,就在LCD上顯示出ASCII字符。
部分源程序如下:
void displayLCD(void) //LCD顯示函數
{
unsigned int* pbuffer, temp_data;
int ;i
pbuffer=(U32* )frameBuffer1;
for( i="0"; i<1200; i++)
{
temp_data=(Buf[ i* 4+3]<<24)+(Buf[ i* 4+2]<<
16)+(Buf[*i 4+1]<<8)+(Buf[*i 4];
//進行4bit到32bit的數據轉換處理
pbuffer[ i]=~temp_data;
Delay(10);
}
}
在添加所用的頭文件的同時,增加對LCD_Init()函數、dis-playLCD()等函數的調用。
4 網絡命令處理
在硬件設計上采用以太網口,軟件上通過實現瘦TCP/IP網絡通 信協議,針對嵌入式系統特點對傳統的TCP/IP協議棧進行裁減[4],讓嵌入式多參數監護儀支持輕量級TCP/IP協議棧而 直接連入Internet。在設計將無實時要求和費時的TCP/IP協議簇的處理放在主程序順序循環中。網絡程序結構采取順序執行和硬件中斷相配合的方式,這種硬件中斷是外部時鐘中斷,中斷級別要比非向量模式的FIQ中斷級別低,在系統空閑時進行網絡數據交互;對網絡接口控制芯片采用查詢方式,即在其他中斷任務的執行間隙處理瘦TCP/IP協議簇,以犧牲響應速度來換取系統可靠性。
考慮到嵌入式醫用監護儀在窄寬帶不可靠環境下實現實時監測的要求,決定在網絡通信協議的傳輸層中,選用UDP(用戶數據報協議)。
5 結束語
由于該網絡監護儀主要面向醫院、社區和家庭,具有成本低、功耗小、數據存儲量大、數據處理速度快、便于遠程醫療、能同時實現實時多任務的操作等各項優勢,是現代醫療監護進一步智能化、專業化、小型化、低功耗的發展新方向,困此具有很廣闊的市場前景。
評論