原创 volatile關鍵字

大多數計算機擁有一系列寄存器,其存取速度比計算機主存更快。好的編譯程序能進行一種被稱爲“冗餘裝入和存儲的刪去”(redundant load and store removal)的優化,即編譯程序會在程序中尋找並刪去這樣兩類代碼:一類是

原创 C語言動態變量和靜態變量的區別

靜態變量,就是在定義的時候,有static 修飾的變量,形式爲static TYPE var_name = init_value;而動態變量,形式爲TYPE var_name = init_value;即沒有static 修飾。其中的=i

原创 內存分類

同步SRMA比異步SRAM更快。 內存,或內存儲器,又稱爲主存儲器,是關係到計算機運行性能高低的關鍵部件之一,無疑是非常重要的。爲了加快系統的速度,提高系統的整體性能,我們看到,計算機中配置的內存數量越來越大,而內存的種類也越來越多。  

原创 USB、Mini-USB、Micro-USB接口的引腳定義

 看到網絡上有很多USB、Mini-USB(迷你USB)接口的文章,裏面有很多手工畫的貼圖要麼不清楚,要麼就是錯誤的(按照它的標法,插頭都插不到插座裏),考慮到USB連線和接口應用的廣泛性,特重新整理編輯,希望對大家有所幫助。   下

原创 Cache是什麼?

基本概念   在計算機存儲系統的層次結構中,介於中央處理器和主存儲器之間的高速小容量存儲器。它和主存儲器一起構成一級的存儲器。高速緩衝存儲器和主存儲器之間信息的調度和傳送是由硬件自動進行的。   某些機器甚至有二級三級緩存,每級緩存

原创 動態存儲和靜態存儲區域區別

有關動態對象創建:一般來說,編譯器將內存分爲三部分:靜態存儲區域、棧、堆。靜態存儲區主要保存 全局變量和靜態變量,棧存儲調用函數相關的變量、地址等,堆存儲動態生成的變量,在c中是指由malloc,free運算產生釋放的存儲空間,在c

原创 STM32三種啓動模式

一、三種啓動方式原理: STM32三種啓動模式對應的存儲介質均是芯片內置的,它們是: 1)用戶閃存 = 芯片內置的Flash。 2)SRAM = 芯片內置的RAM區,就是內存啦。 3)系統存儲器 = 芯片內部一塊特定的區域,芯片出

原创 編碼器速度和方向檢測,371電機方向與速度檢測,stm32編碼器接口模式

編碼器是什麼玩意呢,它可是一個好玩的東西,做小車測速必不可少的玩意,下面,我將從編碼器的原理講起,一直到用stm32的編碼器接口模式,測出電機轉速與方向。 1.編碼器 圖1 編碼器示意圖       圖1爲編碼器的示意圖,中間是

原创 STM32頭文件學習之sys.h

/*sys.h   今天我們來講講這個頭文件*/#ifndef __SYS_H   //頭件的中的#ifndef,這是一個很關鍵的東西。比如你有兩個C文件,這兩個C文件都include了同一個頭文件。而編譯時,這兩個C文件要一同編譯成一個

原创 C語言中的static 詳細分析

 C語言代碼是以文件爲單位來組織的,在一個源程序的所有源文件中,一個外部變量(注意不是局部變量)或者函數只能在一個源程序中定義一次,如果有重複定義的話編譯器就會報錯。伴隨着不同源文件變量和函數之間的相互引用以及相互獨立的關係,產生了ex

原创 STM32 SysTick 滴答定時器原理及應用

SysTick滴答定時器 一、功能 SysTick定時器是一個簡單的定時器,CM3\CM4內核芯片都具備此定時器。SysTick定時器常用來做延時,採用實時系統時則用來做系統時鐘。 無論用作延時還是用作系統心跳時鐘,不需要太複

原创 AD原理圖再學筆記

1.       1mil=0.0254mm 2.  在製作原理圖庫和PCB庫是,將原理圖和PCB封裝對應的時候,一定要記得把原理圖庫中的  Designator  的值和PCB封裝中的Designtor的值對應,即一樣;    不

原创 stm32 JTAG和SWD的使用區別

對於JTAG和SWD的使用區別,覺得下面這篇文章講的比較清晰了,所以轉帖到這裏,希望對新手有所幫助。  SWD與JTAG區別及使用情況[轉載]     上圖是SEGGER說明書中給出的Jlink引腳圖,可以對照着看SWD引腳

原创 stm32頭文件學習之Core_cm3.c(h)

CMSIS是Cortex微控制器軟件接口標準(CortexMicroController Software Interface Standard)的縮寫,這個是ARM定製的一個用於Cortex-M系列的一個標準,主要是爲了提供通用api接

原创 STM32 NVIC嵌套向量中斷控制器函數分析

中斷管理函數 CM3內核支持256箇中斷,其中包含了16個內核中斷和240個外部中斷,並且具有256級的可編程中斷設置。但STM32並沒有使用CM3內核的全部東西,而是隻用了它的一部分。STM32有76箇中斷,包括16個內核中斷和60個