原创 STM32的IO口基本操作

## STM32的IO口基本操作 ## void LED_GPIO_Config(void) { /*定義一個GPIO_InitTypeDef類型的結構體*/ GPIO_InitTypeDef GP

原创 指向結構體的指針

在C語言中幾乎可以創建指向任何類型的指針,包括用戶自定義的類型。創建結構體指針是極常見的。下面是一個例子: typedef struct { char name[21]; char city[21]; ch

原创 UC/OS基礎知識之任務的刪除

UC/OS基礎知識之任務的刪除 所謂的刪除一個任務,就是把任務處於睡眠狀態。具體狀態就是把刪除的任務從任務控制塊鏈表中山刪除,並歸還給空任務控制塊鏈表,然後在任務就緒表中把該任務的狀態位置0,於是該任務就不能被調度器所調用了。在任

原创 STM32的位帶操作

STM32的位帶操作 對於位帶操作可以使用普通的加載/存儲指令來對單一的比特進行讀寫,在CM3中,有兩個區中實現了位帶。其中一個是 SRAM 區的最低 1MB 範圍,第二個則是片內外設區的最低 1MB 範圍。這兩個區中的地址除了可

原创 C語言exp()函數

C語言exp()函數 C語言exp()函數:e的次冪函數(以e爲底的x次方值) 頭文件:#include double exp(double x); 【返回值】返回 e 的x 次方計算結果。

原创 UC/OS基礎知識之任務就緒表

UC/OS基礎知識之任務就緒表 1.任務就緒表 系統總是從處於就緒狀態的任務中選擇任務運行,爲此係統需要一個就緒任務登記表,它登記了系統中所有處於就緒狀態的任務,在UC/OS中這個就緒表就是一個位圖,系統中的每個任務都在這個位圖

原创 STM32位帶操作舉例

STM32位帶操作舉例 int main(void) { GPIO_InitTypeDef GPIO_InitStruction; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPI

原创 UC/OS基礎知識之任務的創建

任務的創建 1.創建任務函數 任務的創建實質上是創建一個任務控制塊,並通過任務控制塊把任務代碼和任務堆棧關聯起來形成一個完整的任務。UC/OS提供兩個函數創建任務OSTaskCreate()和OSTaskCreateExt()。

原创 用指針對結構體操作

用指針對結構體操作 #include "stdio.h" #include "math.h" typedef struct { unsigned int a; unsigned int b; unsigne

原创 ln ,lg,log在c語言中的表示

ln ,lg,log在c語言中的表示 驚奇的發現:c語言中定義的函數和數學上定義的函數有所區別:c語言中只定義的兩個函數: y=log (double x);和y=log10 (double x);前者代表數學式中的 ln,而後者

原创 UC/OS基礎知識之任務

UC/OS基礎知識之任務 1.任務的組成 UC/OS操作系統內核的主要工作就是對任務進行管理和調度,任務由3部分組成:任務控制塊,任務堆棧和任務程序代碼。任務控制塊就是關聯了任務代碼的程序控制塊,記錄了任務的各個屬性;任務堆棧則

原创 #if

#if 當註釋掉大塊代碼時,使用”#if 0”比使用”//”要好,因爲用”//”做大段的註釋要防止被註釋掉的代碼中有嵌套的”/**/”,這會導致註釋掉的代碼區域不是你想要的範圍, 當被註釋掉的代碼很大時容易出現這種情況,特別是過一

原创 UC/OS基礎知識之任務控制塊

UC/OS基礎知識之任務控制塊 1.任務控制塊結構 用來記錄任務的堆棧指針,任務的當前狀態,任務的優先級別等一些與任務管理有關的屬性的表就叫做任務控制塊,沒有任務控制塊的任務不能被系統承認和管理 任務控制塊是一個結構類型數據,

原创 UC/OS基礎知識之任務堆棧

UC/OS基礎知識之任務堆棧 1.任務堆棧 所謂堆棧就是在存儲器中按數據“後進先出(LIFO)”的原則組織的連續存儲空間,爲了滿足任務切換和響應中斷時保存CPU寄存器中的內容及任務調用其他函數時的需要,每個任務都應該配有自己的堆

原创 攝像頭引腳定義

攝像頭引腳定義 1 NC NO CONNECT 2 AGND Power Analog ground 3 SIO_D I/O SCCB serial interface data I/O 4 AVDD Power An