原创 keil中如何生成bin文件

http://blog.sina.com.cn/s/blog_60cf05130101eddp.html 首先要說明一下.bin 文件和.hex文件的區別。 .hex文件是單片機程序編輯完之後常見的文件格式,是內容是ASCLL碼,也

原创 LINUX下目標文件的BSS段、數據段、代碼段

本文轉載自 http://blog.chinaunix.net/uid-27018250-id-3867588.html 代碼編譯後的機器指令經常被放在代碼段裏,代碼段名爲".text";已初始化的全局變量和已初始化的局部靜態變量經常放

原创 解讀uCos中優先級判定表OSUnMapTbl原理

OSOSRdyTbl[0]的bit7-bit0對應於優先級7-0, OSOSRdyTbl[1]的bit7-bit0對應於優先級15-8, OSOSRdyTbl[2]的bit7-bit0對應於優先級23-16, OSOSRdyTbl[3]的

原创 stm32 時鐘分析

http://blog.chinaunix.net/uid-21658993-id-3129667.html轉載 在STM32中,有五個時鐘源,爲HSI、HSE、LSI、LSE、PLL。 其實是四個時鐘源,如下圖所示(灰藍色),PLL

原创 用兩個棧實現一個隊列的功能

兩年前從網上看到一道面試題:用兩個棧(Stack)實現一個隊列(Queue)。 大多數人的思路是:始終維護s1作爲存儲空間,以s2作爲臨時緩衝區。 入隊時,將元素壓入s1。 出隊時,將s1的元素逐個“倒入”(彈出並壓入)s2,將s2的頂

原创 OSTimeDlyHMSM()-用戶不能結束延時調用

由於OSTimeDlyHMSM()的具體實現方法,用戶不能結束延時調用OSTimeDlyHMSM()要求延時超過65535 個節拍的任務。換句話說,如果時鐘節拍的頻率是100Hz,用戶不能讓調用OSTimeDlyHMSM(0,10,55,

原创 error: L6050U: The code size of this image exceeds the maximum allowed for this versio

error: L6050U: The code size of this image (61534 bytes) exceeds the maximum allowed for this version of the linker. M

原创 異步串行通訊和同步串行通訊區別

異步串行通訊和同步串行通訊區別 在計算機系統中,CPU和外部通信有兩種通信方式:並行通信和串行通信。而按照串行數據的時鐘控制方式,串行通信又可分爲同步通信和異步通信兩種方式。     1、異步串行方式的特點     所謂異步通信,是指數據

原创 自增自減運算符

自增自減運算符  ++i應該理解爲執行完全部++運算後,然後進行其他運算  i++應該理解爲執行完整個表達式後再進行自增運算  #include <stdio.h>  void main()  {  int i,j;   i=1;   j

原创 typedef,函數

typedef int Fun() 是什麼意思?今天看到個程序,這樣聲明個函數: typedef int Fun() ; static Fun fun; 函數定義部分爲:static int  fun()  { }; 爲什麼不直接聲明爲