原创 易混淆的概念

1. 數組指針:int (*p)[10]       爲p指針,指向一維數組;也叫行指針,指向整個數組;元素表示:(*b)[i];指向二維數組:p=&c; 指針數組:int *p[10]         爲一個數組,數組元素爲指針,元素表

原创 防呆

 1.具有即使有人爲疏忽也不會發生錯誤的構造──不需要注意力。 2.具有外行人來做也不會錯的構造──不需要經驗與直覺 3 具有不管是誰或在何時工作都不會出差錯的構造──不需要專門知識與高度的技能。 例如常見的手機SIM卡,有一個缺角,

原创 對一個類求sizeof

1. 空類 #include <iostream> using namespace std; class Base { }; int main() { cout<<sizeof(Base)<<endl; return

原创 在C++ 程序中調用被 C編譯器編譯後的函數,爲什麼要加 extern “C”聲明?

1.一個函數被c編譯器和c++編譯器編譯過後生成的符號不同 假設某個函數的原型爲: void foo( int x, int y );       該函數被C編譯器編譯後在符號庫中的名字爲:_foo,     而C++編譯器則會產生像:_

原创 樹及二叉樹中一些易忘的術語和特性

層次:節點的層次(level)從根開始定義起,根爲第一層,根的孩子爲第二層。 深度:樹中結點的最大層次稱爲樹的深度(depth)或高度。 度:結點擁有的子樹數稱爲結點的度(degree),二叉樹不存在度大於2的結點。 二叉樹的一些特性:

原创 malloc與new的區別

1. malloc與free是C++/C語言的標準庫函數,new/delete是C++的運算符。它們都可用於申請動態內存和釋放內存。 原型:extern void *malloc(unsigned int num_byte

原创 1024!末尾有幾個0

問題是,在1024!的數值結果中(即1*2*3*4*……*1024),有多少個零。 思路: 一、小學數學奧林匹克題目是這樣的, 答案確實是253算法簡單:10 = 2 *5,必須有5的因子纔可能乘到10;所以計算1到1024中分解出5因子

原创 STM32總結

中斷 1. 使用 EXTI_GetITStatus()來查詢哪根線產生了中斷。 比如EXTI_GetITStatus(EXTI_Line13)就是查詢13線是否產生了中斷的。 2. 還有 :在設置中斷引腳的時候都是不能把PB1和PD1同

原创 STM32的固件庫和CubeMX

標準外設庫STD(Standard Peripheral Libraries) peripheral 英 [pə’rɪf(ə)r(ə)l] 美 [pə’rɪfərəl] adj. 外圍的;次要的;(神經)末梢區域的 n. 外部設

原创 JTAG和ULINK、JLINK、ST-LINK

1. 什麼是JTAG JTAG(Joint Test Action Group;聯合測試工作組)      是一種國際標準測試協議(IEEE 1149.1兼容),主要用於芯片內部測試。現在多數的高級器件都支持JTAG協議,如ARM、

原创 時鐘--時鐘週期、機器週期、指令週期

1.時鐘週期 單片機時鐘頻率的倒數  它可以表示爲時鐘晶振頻率(1秒鐘的時鐘脈衝數)的倒數(也就是1s/時鐘脈衝數,比如1/12MHz), 是CPU和其他單片機的基本時間單位。對CPU來說,在一個時鐘週期內,CPU僅完成一個最基本的動作。

原创 STM32中AHB和APB

AHB,是Advanced High performance Bus的縮寫,譯作高級高性能總線,這是一種“系統總線”。 AHB主要用於高性能模塊(如CPU、DMA和DSP等)之間的連接。AHB 系統由主模塊、從模塊和基礎結構(Infra

原创 ARM

arm是什麼意思 什麼是ARM 來源:http://www.elecfans.com/emb/arm/200712206747.html arm是什麼意思 ARM(Adanced RISC Machines),是

原创 通訊方式:近場通訊和無線通訊

近場通訊 近場通信(Near Field Communication,NFC)是一種短距高頻的無線電技術,在13.56MHz頻率運行於20釐米距離內。其傳輸速度有106 Kbit/秒、212 Kbit/秒或者424 Kbit/秒三種。

原创 單片機的仿真器

1. 什麼是單片機仿真器 單片機仿真器是指以調試單片機軟件爲目的而專門設計製作的一套專用的硬件裝置。 單片機仿真器是一種在電子產品開發階段代替單片機芯片進行軟硬件調試的開發工具。單片機在體系結構上與PC機是完全相同的,也包括中央處理器,