**:
/*
** ver: 2.52
** file: includes.h
** brief: 標頭檔案集合,其他.c檔案都會包括該標頭檔案
*/#include //包含 "stdio.h" c標準函式庫標頭檔案
#include //包含 "string.h" c標準函式庫標頭檔案
#include //包含 "ctype.h" c標準函式庫標頭檔案
#include //包含 "stdlib.h" c標準函式庫標頭檔案
#include //包含 "conio.h" 控制台輸入輸出標頭檔案
#include //包含 "dos.h"標頭檔案
#include //包含 "setjmp.h" c標準函式庫標頭檔案
#include "\software\ucos-ii\ix86l\bc45\os_cpu.h" //包含 "os_cpu.h" 標頭檔案,後面會詳細介紹
#include "os_cfg.h" //包含 "os_cfg.h" 標頭檔案,後面會詳細介紹
#include "\software\ucos-ii\source\ucos_ii.h" //包含 "ucos_ii.h" 標頭檔案,後面會詳細介紹
#include "\software\blocks\pc\bc45\pc.h" //包含 "pc.h" 標頭檔案
1. 不常見標頭檔案
1.1. conio.h
conio.h不是c標準函式庫中的標頭檔案,在c standard library、iso c、posix標準中均沒有定義。
conio是console input/output(控制台輸入輸出)的簡寫,定義了通過控制台進行資料輸入和資料輸出的函式,主要是一些使用者通過鍵盤產生的對應操作,比如getch()函式等等。
大部分dos,windows 3.x,phar lap,dosx,os/2 or win32平台上的c編譯器提供此檔案,unix 和linux平台的c編譯器通常不包含此標頭檔案。
1.2. ctype.h
ctype.h是c標準函式庫中的標頭檔案,定義了一批c語言字元分類函式(c character classification functions),用於測試字元是否屬於特定的字元類別,如字母字元、控制字元等等。既支援單位元組(byte)字元,也支援寬字元,其中使用較頻繁的函式有:
int isupper(int ch) //檢查ch是否是大寫字母(a-z)
int tolower(int ch) //將ch字元轉換為小寫字母
int toupper(int ch) //將ch字元轉換成大寫字母
//等等,篇幅有限不在此全部列出。
1.3. dos.h
dos.h裡面包含了很多bios和dos呼叫函式
1.4. setjmp.h
setjmp.h 標頭檔案定義了巨集 setjmp()、函式 longjmp() 和變數型別 jmp_buf,該變數型別會繞過正常的函式呼叫和返回規則。
1.5. pc.h
pc.h不是c標準函式庫中的標頭檔案,定義了前景色背景色的巨集,與pc顯示、dos環境儲存/恢復、時間獲取等函式,例如:
define disp_fgnd_black 0x00 //定義前景色 黑色
define disp_bgnd_black 0x00 //定義背景色 黑色
void pc_dispclrcol(int8u x, int8u bgnd_color)//指定顏色畫線
void pc_dispclrscr(int8u bgnd_color) //指定顏色清屏
uC OS II原始碼解析 includes h
ver 2.52 file includes.h brief 標頭檔案集合,其他.c檔案都會包括該標頭檔案 include 包含 stdio.h c標準函式庫標頭檔案 include 包含 string.h c標準函式庫標頭檔案 include 包含 ctype.h c標準函式庫標頭檔案 inclu...
uC OS II原始碼解析 ucos ii c
ver 2.52 file ucos ii.c brief c檔案集合 define os globals 宣告全域性變數 防止重複定義 include includes.h 包含 includes.h 標頭檔案 define os master file 防止以下檔案重複定義巨集os global...
uC OS II原始碼分析(四)
核心結構 1,臨界區,os enter critical 和os exit critical 為了處理臨界區 必須關中斷,等處理完畢後,再開中斷。關中斷可以避免其他任務或中斷進入臨界區 uc os ii 定義了這兩個巨集來實現,但注意一條 呼叫 uc os ii 功能函式時,中斷應該總是開著的。1 ...