|
stm32f103zet6庫函數(shù)工程
支持編譯軟件IAR
大部分外設(shè)提供了直接API函數(shù)
51hei.png (6.07 KB, 下載次數(shù): 61)
下載附件
2020-3-26 20:25 上傳
全部源碼資料51hei下載地址:
STM32F103VET6 -new.7z
(1.25 MB, 下載次數(shù): 18)
2020-3-26 20:26 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
1 文件夾命名規(guī)則
----------------------------------------------------------------------------------------------------
APP 應(yīng)用程序文件夾
BRD 板載設(shè)備驅(qū)動與使用文件夾
CPU 微控制器相關(guān)文件夾
CPU-CFF 微控制器內(nèi)存等配置文件夾
CPU-STP 微控制器啟動代碼文件夾
ELS 其他代碼文件夾
FUC 通用自定義代碼文件夾,算法,流程等
GEN 通用標(biāo)準(zhǔn)代碼文件夾
PRJ 工程文件夾
PRJ-EXE IAR工程輸出可執(zhí)行文件文件夾
PRJ-OBJ 工程輸出文件文件夾
PRJ-LST 工程輸出鏈表文件夾
SYS 操作系統(tǒng)文件夾
----------------------------------------------------------------------------------------------------
2 數(shù)據(jù)類型取值范圍
----------------------------------------------------------------------------------------------------
類型 16位系統(tǒng)/字節(jié) 32位系統(tǒng)/字節(jié) 64位系統(tǒng)/字節(jié)
---------------------------------------------------------
char 1 1 1
---------------------------------------------------------
char* 2 4 8
---------------------------------------------------------
short 2 2 2
---------------------------------------------------------
int 2 4 4
---------------------------------------------------------
long 4 4 8
---------------------------------------------------------
long long 8 8 8
---------------------------------------------------------
注意:long long是標(biāo)準(zhǔn)的8 bytes,不受編譯器限制
----------------------------------------------------------------------------------------------------
3 STM32的GPIO工作模式
----------------------------------------------------------------------------------------------------
GPIO_Mode_AIN = 0x00, 模擬輸入,應(yīng)用ADC模擬輸入,或者低功耗下省電;
GPIO_Mode_IN_FLOATING = 0x04, 輸入浮空,IO的電平狀態(tài)是不確定的,完全由外部輸入決定;
GPIO_Mode_IPD = 0x28, 輸入下拉,IO內(nèi)部上拉電阻輸入,懸空時,處于高電平狀態(tài);
GPIO_Mode_IPU = 0x48, 輸入上拉,IO內(nèi)部下拉電阻輸入,懸空時,處于低電平狀態(tài);
GPIO_Mode_Out_OD = 0x14, 開漏輸出,IO輸出0--接GND,IO輸出1,懸空,需要外接上拉電阻,才能實(shí)現(xiàn)輸出高電平。
當(dāng)輸出為1時,IO口的狀態(tài)由上拉電阻拉高電平,但由于是開漏輸出模式,這樣IO口也就可以由外部電路改變?yōu)榈碗娖交虿蛔儭?br />
可以讀IO輸入電平變化,實(shí)現(xiàn)C51的IO雙向功能
GPIO_Mode_Out_PP = 0x10, 推挽式輸出,IO輸出0-接GND, IO輸出1 -接VCC,讀輸入值是未知的。
GPIO_Mode_AF_OD = 0x1C, 開漏復(fù)用 輸出,片內(nèi)外設(shè)功能(I2C的SCL,SDA)
GPIO_Mode_AF_PP = 0x18, 推挽式復(fù)用 輸出,片內(nèi)外設(shè)功能(TX1,MOSI,MISO.SCK.SS)
----------------------------------------------------------------------------------------------------
4 STM32的啟動模式 BOOT0 和BOOT1
----------------------------------------------------------------------------------------------------
1、BOOT1=x BOOT0=0 從用戶閃存(FLASH)啟動,這是正常的工作模式。
2、BOOT1=0 BOOT0=1 從系統(tǒng)存儲器啟動,這種模式啟動的程序功能由廠家設(shè)置。
芯片內(nèi)部一塊特定區(qū)域,芯片出廠時,預(yù)置了一段Bootloader,也就是通常ISP程序
該區(qū)域出廠后不能修改或擦除,本質(zhì)為1個ROM區(qū)域
3、BOOT1=1 BOOT0=1 從內(nèi)置SRAM啟動,這種模式可以用于調(diào)試。
----------------------------------------------------------------------------------------------------
5 STM32的啟動文件選擇
----------------------------------------------------------------------------------------------------
STM32F10X_LD —— STM32F101xx、STM32F102xx、STM32F103xx FLASH范圍16 ~ 32 Kbytes
STM32F10X_LD_VL —— STM32F100xx FLASH范圍16 ~ 32 Kbytes
STM32F10X_MD —— STM32F101xx、STM32F102xx、STM32F103xx FLASH范圍64 ~ 128Kbytes
STM32F10X_MD_VL —— STM32F100xx FLASH范圍64 ~ 128Kbytes
STM32F10X_HD —— STM32F101xx、STM32F102xx、STM32F103xx FLASH范圍256~ 512Kbytes
STM32F10X_HD_VL —— STM32F100xx FLASH范圍256~ 512Kbytes
STM32F10X_XL —— STM32F101xx、STM32F102xx、STM32F103xx FLASH范圍512~1024Kbytes
STM32F10X_CL —— STM32F105xx、STM32F107xx(互聯(lián)型的器件)
互聯(lián)型的器件特點(diǎn):BootLoader有18KB,能通過USAT1、4、CAN等多種方式進(jìn)行ISP。
----------------------------------------------------------------------------------------------------
6 STM32F103系列命名規(guī)則
----------------------------------------------------------------------------------------------------
第1部分: STM32 - 產(chǎn)品系列名稱
第2部分: F - Flash產(chǎn)品,沒有其他選項(xiàng)
第3部分: 103 - 增強(qiáng)型產(chǎn)品,
101 - 基本型產(chǎn)品
第4部分: 管腳數(shù)目
T - 36引腳
C - 48引腳
R - 64引腳
V -100引腳
Z -144引腳
第5部分: 內(nèi)存存儲器容量(Flash)
6 - 32字節(jié)
8 - 64字節(jié)
B - 128字節(jié)
C - 256字節(jié)
D - 384字節(jié)
E - 512字節(jié)
G -1024字節(jié)
第6部分: 封裝信息
H - BGA
T - LQFP
Y - WLCSP64
第7部分: 工作溫度范圍
6 - 工業(yè)級 -40℃~ +85℃
7 - 工業(yè)級 -40℃~ +105℃
----------------------------------------------------------------------------------------------------
7 名詞解釋
----------------------------------------------------------------------------------------------------
RAM (random access memory) - 隨機(jī)存儲器
SRAM(static random access memory) - 靜態(tài)隨機(jī)存儲器,不需要刷新電路,缺點(diǎn)集成度低,不適合做容量大內(nèi)存
DRAM(dynamic random access memory)- 動態(tài)隨機(jī)存儲器,需要隔一段時間刷新一次數(shù)據(jù)
ROM (read only memory) - 只讀存儲器,較早年代使用
PROM - 可編程只讀存儲器,只能寫一次
EPROM - 通過紫外線照射來擦除數(shù)據(jù)
EEPROM - 電可擦除可編程只讀存儲器,通過電來擦除數(shù)據(jù)
Flash - 非易失性閃存,現(xiàn)在流行使用
NAND FLASH - 并行接口,集成度高,容量大,成本低,運(yùn)行速度慢
NOR FLASH - 并行接口,集成度低,容量小,成本高,運(yùn)行速度快
----------------------------------------------------------------------------------------------------
8 下載接口說明
----------------------------------------------------------------------------------------------------
下載接口,盡量不要使用,需要對其引腳進(jìn)行功能復(fù)用
PA13 - JTMS
PA14 - JTCK
PA15 - JTDI
PB3 - JTDO
PB4 - JTRST
----------------------------------------------------------------------------------------------------
9 存儲器管理
----------------------------------------------------------------------------------------------------
1.統(tǒng)一編址
程序存儲器(Flash) + 數(shù)據(jù)存儲器(SRAM)+外設(shè)寄存器 組織在一個4GB的地址空間
2.小端格式
3. ┏ 主存儲區(qū)域
片上FLASH┨ ┏ 系統(tǒng)存儲器:有ST公司燒寫,用戶不可以擦除,即片上ROM
┗ 信息塊┨
┗ 選項(xiàng)字節(jié):分為4個32位字節(jié),只有2個字節(jié)留給用戶,其余有特定用處
4.STM32芯片將4GB的地址空間 化為8個512M的塊(Block)
4GB內(nèi)存 ┲ Block 7 0xE0000000 - 0xFFFFFFFF 內(nèi)核外設(shè)對應(yīng)地址,例如NVIC寄存器、MPU寄存器以及片上調(diào)試組件
┠ Block 6 0xC0000000 - 0xDFFFFFFF 用于擴(kuò)展片外的外設(shè)(一般情況不用)
┠ Block 5 0xA0000000 - 0xBFFFFFFF 用于擴(kuò)展片外的外設(shè)(一般情況不用)
┠ Block 4 0x80000000 - 0x9FFFFFFF 用于擴(kuò)展外部存儲器RAM(一般情況不用)
┠ Block 3 0x60000000 - 0x7FFFFFFF 用于擴(kuò)展外部存儲器RAM(一般情況不用)
┠ Block 2 0x40000000 - 0x5FFFFFFF 用于芯片的外設(shè)
┠ Block 1 0x20000000 - 0x3FFFFFFF 用于芯片的SRAM
┗ Block 0 0x00000000 - 0x1FFFFFFF 用于芯片的代碼區(qū)
Block 0 ┲ 0x1FFFF800 - 0x1FFFFFFF Option bytes 選項(xiàng)字節(jié)
┠ 0x1FFFB000 - 0x1FFFF7FF system memory 系統(tǒng)存儲,即片上ROM
┠ 0x08040000 - 0x1FFFAFFF Reserved 保留
┠ 0x08000000 - 0x0803FFFF Flash 主存儲區(qū) 共256KB
┠ 0x00040000 - 0x07FFFFFF Reserved 保留
┗ 0x00040000 - 0x07FFFFFF aliased to flash or system memory depending on BOOT pins
5.FLash 模塊┲ Flash主存儲區(qū)(Main memory)
┠ Flash信息區(qū)(Information block)
┗ Flash存儲接口寄存器區(qū)(Flash?memory interface) 0x40022000 - 0x40022023
----------------------------------------------------------------------------------------------------
9 AHB總線外設(shè)
----------------------------------------------------------------------------------------------------
低速
APB1 ┲ DAC
┠ PWR
┠ BKP
┠ CAN
┠ USB
┠ I2C1 I2C2
┠ USART2 USART3
┠ UART4 UART5
┠ SPI2/I2S SPI3/I2S
┠ IWDG
┠ WWDG
┠ RTC
┗ TIM2 TIM3 TIM4 TIM5 TIM6 TIM7
高速
APB2 ┲ ADC1 ADC2 ADC3
┠ USART1
┠ SPI1
┠ TIM1 TIM8
┠ GPIOA GPIOB GPIOC GPIOD GPIOE
┠ EXTI
┗ AFIO
|
評分
-
查看全部評分
|