原创 C語言中和“”有什麼區別

例如你使用的是TurboC include <stdlib.h> 代表編譯時直接在TurboC軟件設置指定的路徑(默認是TurboC所在文件夾下的include文件夾)中尋找裏面是否有stdlib.h的庫文件。如果有,直接加載;如果沒有,

原创 STM32的BootLoader 從SD卡更新固件

STM32的BootLoader 從SD卡更新固件 目  錄 1. 前言 2. 初識BootLoader 2.1      百度百科的BootLoader 2.2      BootLoader的簡單理解 2.3    

原创 stm32 外部中斷的使用(含實例)

stm32 外部中斷的使用(含實例) 中斷對於開發嵌入式系統來講的地位絕對是毋庸置疑的,在C51單片機時代,一共只有5箇中斷,其中2個外部中斷,2個定時/計數器中斷和一個串口中斷,但是在STM32中,中斷數量大大增加,而且中斷的

原创 stm32PWM精確控制脈衝個數

點擊打開鏈接原出處   謝謝大家 一起學習 01 /**************************** 02 **TIM2的通道1使用單脈衝模式 03 **TIM3使用門控

原创 嵌入式C語言高級_內存空間 筆記

指針 內存類型資源地址 門牌號的代名詞 指針變量 存放指針這個概念的盒子 C語言編譯器對指針這個概念有兩個疑問、 分配一個 盒子多大  在32位系統中 指針就是4個字節、 盒子裏存放的地址 內存的讀取方法是什麼、 指針指向的內存空間 一定

原创 C語言詳解 枚舉

注:以下全部代碼的執行環境爲VC++ 6.0 在程序中,可能需要爲某些整數定義一個別名,我們可以利用預處理指令#define來完成這項工作,您的代碼可能是: #define MON  1#define TUE   2#define

原创 淺談C中的malloc和free

原帖及討論:http://bbs.bccn.net/thread-82212-1-1.html     在C語言的學習中,對內存管理這部分的知識掌握尤其重要!之前對C中的malloc()和free()兩個函數的瞭解甚少,只知道大概該怎麼用

原创 STM32的bootloader IAP編程

不需要拆機就能對產品進行固件升級是很多人想要的效果,不僅方便而且節省精力和成本。那麼如何完成這項工作呢?接下來所介紹的Bootloader就可以完成這項工作,通過Bootloader引導程序完成固件的升級。下面來淺析STM32 Bootl

原创 C/C++動態內存創建與內存管理

1 內存空間邏輯組織 A 靜態數據區:內存在程序啓動的時候才被分配,而且可能直到程序開始執行的時候才被初始化,如函數中的靜態變量就是在程序第一次執行到定義該變量的代碼時才被初始化。所分配的內存在程序的整個運行期間都存在,如全局變量,

原创 #ifdef,#else,#endif和#ifndef,#else,#endif 詳解

 關於預處理命令中的文件包含(#i nclude),宏定義(#define),書上已經有了詳細的說明,在這裏就不詳述了。這裏主要是對條件編譯(#ifdef,#else,#endif,#if等)進行說明。以下分3種情況:1:情況1:#ifd

原创 msp430 看門狗設置

看門狗定時器(Watchdog Timer(WDT_A))實際上是一個特殊的定時器,即可以用來作爲看門狗使用,也可以用作定時器。 所謂的看門狗功能,是指可以監控程序是否由於某些干擾或者錯誤而跑飛。其原理就是發生故障的時間滿足規定的定時時間

原创 enum 在c中的使用

如果一個變量你需要幾種可能存在的值,那麼就可以被定義成爲枚舉類型。之所以叫枚舉就是說將變量或者叫對象可能存在的情況也可以說是可能的值一一例舉出來。    舉個例子來說明一吧,爲了讓大家更明白一點,比如一個鉛筆盒中有一支筆,但在沒有打開之

原创 C語言函數使用

連續空間的傳遞 數組(數組名 標籤) 結構體(結構體變量) struct abc(int a; int b; int c); struct abc buf; 實參 fun(buf); fun(&fun) 形參 void fun (stru

原创 PWM輸入模式捕捉4路PWM波形的週期和佔空比講解

PWM輸入是輸入捕獲的一個特殊應用,輸入捕獲就是當連接到定時器的引腳上產生電平變化時對應的捕獲裝置會立即將當前計數值複製到另一個寄存器中。你可以開啓捕獲中斷然後在中斷處理函數中讀出保存的計數值。 與輸入捕獲不同的是PWM輸入模式會將同一個

原创 C++程序實例

實例1 #include<iostream> #include<iomanip>//進制流輸出頭文件  #include<string> using namespace std; //using std::endl; //using st