www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 技術(shù)學(xué)院 > 技術(shù)前線
[導(dǎo)讀]STM32F103C8T6是一款由意法半導(dǎo)體公司(ST)推出的基于Cortex-M3內(nèi)核的32位微控制器,硬件采用LQFP48封裝,屬于ST公司微控制器中的STM32系列。除了被我們熟知的STM32,ST公司還有SPC5X系列、STM8系列等,具體參數(shù)如下:

內(nèi)核 Cortex-M3

Flash 64K x 8bit

SRAM 20K x 8bit

GPIO 37個(gè)GPIO,分別為PA0-PA15、PB0-PB15、PC13-PC15、PD0-PD1

ADC 2個(gè)12bit ADC合計(jì)12路通道(外部通道:PA0到PA7+PB0到PB1,內(nèi)部通道:)

Timers

4個(gè)16bit定時(shí)器/計(jì)數(shù)器,分別為TIM1、TIM2、TIM3、TIM4

TM1帶死區(qū)插入,常用于產(chǎn)生PWM控制電機(jī)

2個(gè)看門狗定時(shí)器(獨(dú)立看門狗IWDG、窗口看門狗WWDG)

1個(gè)24bit向下計(jì)數(shù)的滴答定時(shí)器systick

工作電壓、溫度 2V~3.6V、-40°C ~ 85°C

通信串口

2*IIC,2*SPI,3*USART,1*CAN

系統(tǒng)時(shí)鐘 內(nèi)部8MHz時(shí)鐘HSI最高可倍頻到64MHz,外部8MHz時(shí)鐘HSE最高可倍頻到72MHz

ARM公司在ARM11以后改用Cortex命名,并分成A、R和M三類,M系列有M0、M0+、M3、M4、M7。 Cortex-M3是ARM公司推出的基于ARMv7架構(gòu)的MCU內(nèi)核,ST公司在此內(nèi)核的基礎(chǔ)上完成了USART、DMA、GPIO等外圍電路的設(shè)計(jì)。在M系列不同內(nèi)核開發(fā)下的STM32,大致可分成低功耗系列、主流系列、高性能系列3個(gè)部分,其具體信息如下圖所示:

相同系列的內(nèi)核一般相同,如F1系列都采用Cortex-M3內(nèi)核開發(fā),但根據(jù)Flash大小不同可將STM32分成小容量產(chǎn)品(<64K)、中等容量產(chǎn)品(介于64K-128K)、大容量產(chǎn)品3個(gè)部分,各部分容量產(chǎn)品在使用標(biāo)準(zhǔn)庫SPL開發(fā)時(shí)需要使用不同的啟動(dòng)文件并在預(yù)編譯處做好修改,其具體信息如下圖所示:

STM32F103C8T6整個(gè)系統(tǒng)結(jié)構(gòu)可以分為由ARM公司設(shè)計(jì)的Cortex-M3內(nèi)核和ST公司在此基礎(chǔ)上優(yōu)化的總線矩陣、DMA(Direct Memory Access,直接內(nèi)存讀取)、AHB、APB1以及APB2上掛載的外設(shè)等兩個(gè)部分,詳細(xì)結(jié)構(gòu)如下圖所示:

Cortex-M3摒棄了馮· 諾依曼結(jié)構(gòu)(普林斯頓結(jié)構(gòu)),采用了將指令存儲(chǔ)和數(shù)據(jù)存儲(chǔ)分開的 的哈佛結(jié)構(gòu)(Harvard Architecture ),這樣一來Cortex-M3同時(shí)擁有了獨(dú)立的32-bit指令總線和32-bit數(shù)據(jù)總線,數(shù)據(jù)訪問將不再占用指令總線,同時(shí)讀取指令和數(shù)據(jù)后提升了MCU運(yùn)行速度。馮諾依曼和哈弗結(jié)構(gòu)的宏觀對(duì)比如下圖所示:

Cortex-M3是一個(gè) 32 位處理器內(nèi)核,正因如此,STM32才被稱作為32-bit微控制器,他擁有32條地址總線,也就是說最大尋址空間為。此外,Cortex-M3的寄存器是32 位的,存儲(chǔ)器接口也是 32 位的,其詳細(xì)結(jié)構(gòu)如下圖所示:

二、最小系統(tǒng)板

或許大家有經(jīng)常聽起過最小系統(tǒng)板這個(gè)詞兒,那么什么是最小系統(tǒng)板呢?其實(shí)最小系統(tǒng)板就是一個(gè)最精簡的電路,精簡到只能維持MCU的最基本的正常工作。最小系統(tǒng)一般由外部復(fù)位電路、外部時(shí)鐘電路以及MCU本體構(gòu)成,除此之外沒有其他諸如藍(lán)牙、外置EEPROM、時(shí)鐘芯片DS1302、SPI接口顯示屏等外接設(shè)備。(注:STM32支持內(nèi)部時(shí)鐘和上電復(fù)位,但從傳統(tǒng)意義上講最小系統(tǒng)就是由外部復(fù)位電路、外部時(shí)鐘電路以及MCU本體構(gòu)成。)我在淘寶上買了一塊STM32F103C8T6的最小系統(tǒng)板,板子的設(shè)計(jì)很精致。喏,它長這個(gè)樣子:

如果你對(duì)最小系統(tǒng)仍一知半解,那你看看下面這個(gè)正點(diǎn)原子開發(fā)的開發(fā)板就能夠明白,最小系統(tǒng)是真的精簡到不能再精簡了。

其實(shí)淘寶買來的最小系統(tǒng)板和10塊錢包郵的那個(gè)藍(lán)色最小系統(tǒng)板區(qū)別不大,只是將一些引腳引出好插諸如顯示屏類的外設(shè)。板子設(shè)計(jì)的很巧妙,所有引腳都引出來了,同時(shí)預(yù)留四個(gè)接口方便接入顯示屏等設(shè)備,預(yù)留了SWD調(diào)試接口,可以使用ST-LINK下載程序與仿真。

跟STC89C52RC單片機(jī)不一樣的是,STM32F103C8T6的GPIO有8種模式,其中包含上拉、下拉輸入模式,所以外接按鈕時(shí)可不設(shè)計(jì)上下拉電阻。根據(jù)他的原理圖顯示:按鍵KEY0一端接到3.3V的VCC,一端接到PA0引腳。發(fā)光二極管LED0一端也同樣經(jīng)1KΩ電阻接到3.3V的VCC,另一端則接到PC13上。因此,想要讓二極管發(fā)光的話需要讓PC13輸出低電平。STM32最大工作電壓3.6V,使用了LDO(低壓差線性穩(wěn)壓器)將輸入電壓VIN降到3.3v給微控制器供電。3.3V和GND之間的4個(gè)0.1uf的旁路電容(去除高頻交流信號(hào))接到了芯片的4個(gè)VDD和4個(gè)VSS上(WHAT?芯片為啥整四個(gè)VDD和四個(gè)VSS?我猜應(yīng)該是增強(qiáng)供電能力,保證供電的可靠性)。

三、命名規(guī)則

我在網(wǎng)上找到了STM32F103中文手冊(cè),單片機(jī)命名原理如下圖所示:

四、引腳排布&引腳復(fù)用

根據(jù)命名規(guī)則可知,STM32F103C8T6中的C代表著這款芯片有48個(gè)引腳,其引腳排布如下圖所示:

STM32微控制器有著豐富的功能,僅靠48個(gè)引腳是不夠分配所有功能的,所以有的引腳可以實(shí)現(xiàn)好幾種功能,這就叫引腳復(fù)用。一般而言,大部分引腳的第一功能是GPIO(通用輸入輸出口)。但值得注意的是:PA13、PA14、P15、PB3、PB4、PC14、PC15、PD0、PD1的默認(rèn)功能并不是GPIO,使用時(shí)需要開啟AFIO時(shí)鐘,注意一下這一點(diǎn)。B站某UP制作了一個(gè)直觀的圖片,如下圖所示:

圖片來源:公眾號(hào)"電子開發(fā)學(xué)習(xí)"

官方手冊(cè)提供的STM32F103系列微控制器引腳的默認(rèn)功能如下圖所示:

五、程序下載

STM32單片機(jī)支持3種程序下載方式,根據(jù)原理不同可分為ISP串口下載(使用USB-TTL接PA9、PA10)、SWD下載(使用ST-LINK接PA13、PA14)、JTAG下載(使用JLINK接PA13、PA14、PA15、PB3、PB4)。

1.ISP下載

ISP的全程是In-System Programming,在線系統(tǒng)編程的意思。STM32單片機(jī)一般可通過UART1引腳進(jìn)行程序燒錄,燒錄的時(shí)候需要配合BOOT0、BOOT1接地與否來實(shí)現(xiàn)。BOOT0、BOOT1可以組合出四種狀態(tài),不同位置的含義如下圖所示,其中X是無關(guān)項(xiàng)。

使用ISP串口下載前,將單片機(jī)上電之前需要先用跳線帽把BOOT0短接到1的位置,BOOT1短接到0的位置,即系統(tǒng)存儲(chǔ)器模式,然后才能通過串口下載程序。ISP串口下載完成后斷電,在單片機(jī)上電之前需要先用跳線帽把BOOT0短接到0的位置,即主閃存存儲(chǔ)器模式。

由于單片機(jī)使用的TTL電平通信協(xié)議,與電腦的USB口進(jìn)行串口通信時(shí)需要使用轉(zhuǎn)串口芯片,常見的有CH340系列(如CH340N)、FT232、PL2303等等,下圖以CH340T為例。

下載器GND與單片機(jī)GND相連(連一個(gè)就行),下載器3.3V與單片機(jī)3.3V相連(或者下載器5V與單片機(jī)VIN相連)、下載器RXD與單片機(jī)PA9(U1TX)相連,下載器TXD與單片機(jī)PA10(U1RX)相連。

了解接線后,可以嘗試編譯下載。下載軟件有很多,ST官方出了Flash Loader Demonstrator軟件用于程序下載,國內(nèi)也有一款FLYMCU的下載軟件。

Flash Loader Demonstrator

2.SWD下載

使用SWD接口下載只需要連接3.3V(如果燒錄程序的板子自帶供電的話3.3V引腳也不用連)、GND、SWDIO(PA13)、 SWCLK(PA14)、RST(非必要連線),可以從淘寶購買十幾塊的ST-LINK下載器(這種U盤形狀的其實(shí)不是ST公司出品的,但是燒錄了他們的固件,也是可以用滴)。使用SWD接口除了可以燒錄程序外,還可以實(shí)現(xiàn)在線仿真(debug),仿真過程可以監(jiān)視寄存器等數(shù)據(jù),非常適合軟件開發(fā)(找問題)。值得注意的是,ST-LINK/V2只支持給自家的STM32和STM8燒錄程序,不支持為其他公司的單片機(jī)燒錄程序(即使同樣搭載Cortex-M3內(nèi)核)。

ST-LINK/V2

3.JTAG下載

JTAG接口需要使用TMS(模式選擇)、TCK(時(shí)鐘)、TDI(數(shù)據(jù)輸入)、TDO(數(shù)據(jù)輸出)、nTRST(復(fù)位,非必要),對(duì)應(yīng)到STM32F103C8T6上就是PA13(TMS)、PA14(TCK)、PA15(TDI)、PB3(TDO)、PB4(nTRST)引腳,這些引腳第一功能就是JTAG接口,這就是上面所說的為什么這些引腳不能簡單的當(dāng)GPIO用。采用JTAG下載時(shí)可以使用J-LINK下載器(正版SEGGER的J-LINK價(jià)格比較昂貴,國內(nèi)仿制的建議買V9版本以上),也可以使用ST公司原廠或國內(nèi)仿制的帶JTAG接口的ST-LINK/V2(如正點(diǎn)原子推出的,不過還是好貴,嗚嗚嗚)。不過JTAG能實(shí)現(xiàn)的功能SWD一般也能實(shí)現(xiàn),我比較懶,一般不使用這種下載接口。

J-LINK

ST-LINK/V2

如果我們不需要使用JTAG下載,但GPIO資源緊張或PCB設(shè)計(jì)時(shí)已經(jīng)使用了這些第一功能為JTAG的引腳,那么我們就需要關(guān)閉JTAG。比如說我要使用GPIOA15作為GPIO口,那么代碼層面需要這樣實(shí)現(xiàn):

GPIO_InitTypeDef GPIO_InitStructure;

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO,ENABLE);//使能PORTA時(shí)鐘

GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);// 關(guān)閉JTAG但使能SWD

GPIO_InitStructure.GPIO_Pin = GPIO_Pin_15;//PA15

GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; //設(shè)置成上拉輸入

GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;

GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIO

詳細(xì)關(guān)閉方法:見另一位博主的《STM32 JTAG調(diào)試》

六、RTT

RTT的全稱是Real Time Transfer,翻譯過來就是實(shí)時(shí)傳輸。為什么給大家介紹這個(gè)呢,上面有講到J-LINK、ST-LINK等可以下載程序,也可以在線仿真。那么問題來了,他們直接支持串口通信嘛?答案是不可以!!!不過別慌,針對(duì)這個(gè)問題SEGGER公司推出了共享內(nèi)存技術(shù),這個(gè)功能可以省去外接使用USART進(jìn)行串口數(shù)據(jù)測試,灰常方便。不過由于RTT是SEGGER公司推出的,所以這個(gè)是需要使用J-LINK V8版本及以上的調(diào)試器的,如果不差錢的話,可以優(yōu)先考慮J-LINK。RTT支持所有搭載ARM Cortex-M0/M0+/M1/M3/M4/M7/M23/M33內(nèi)核的MCU,不局限于STM32。

SEGGER官網(wǎng)

不過使用RTT功能是需要往工程文件里添加SEGGER提供的源代碼的,官網(wǎng)安裝包:" data-link-title="<官網(wǎng)下載>"><官網(wǎng)下載>,詳細(xì)的安裝與使用教程見《硬漢哥分享的資料》。

導(dǎo)入源代碼后可以在程序中使用以下函數(shù),這些函數(shù)根據(jù)描述看很容易知道他的作用:

函數(shù)名 描述

SEGGER_RTT_Read() Read data from an input buffer.

SEGGER_RTT_Write() Write data to an output buffer.

SEGGER_RTT_WriteString() Write a zero-terminated string to an output buffer.

SEGGER_RTT_printf() Write a formatted string to an output buffer.

SEGGER_RTT_GetKey() Get one character from input buffer 0.

SEGGER_RTT_HasKey() Check if a character is available in input buffer 0.

SEGGER_RTT_WaitKey() Wait for a character to be available in input buffer 0 and get it.

SEGGER_RTT_ConfigUpBuffer() Configure an up (output) buffer.

SEGGER_RTT_ConfigDownBuffer() Configure a down (input) buffer.

SEGGER_RTT_Init() Initialize RTT Control Block structure when using RAM only targets.

SEGGER_RTT_SetTerminal() Set the "virtual" Terminal to use for output on channel 0 via Write and WriteString.

SEGGER_RTT_TerminalOut() Send a zero-terminated string via a "virtual" terminal.

最后,使用RTT需要在電腦上安裝J-Link RTT Viewer、J-Link RTT Client、J-Link RTT Logger,這3個(gè)終端可以選擇自己喜歡的安裝使用。

七、RTOS

RTOS(Real-time operating system)是實(shí)時(shí)操作系統(tǒng)的總稱,目前市面上有freeRTOS、RT-Thread、UCOS-III等多種實(shí)時(shí)操作系統(tǒng),到了STM32這種復(fù)雜而強(qiáng)大的硬件層面,程序員將不再僅僅拿它當(dāng)傳統(tǒng)的MCU來跑裸機(jī)程序(裸機(jī)是指沒有用上RTOS的程序),而是開始考慮程序的協(xié)調(diào)性和并行多任務(wù)(并不是真正意義上的并行,因?yàn)閱魏送粫r(shí)間只能處理一件事情)。RTOS是一個(gè)有趣的東西,如果大家感興趣我后期會(huì)考慮更新一篇有關(guān)RTOS的文章,大家目前可以去freeRTOS官網(wǎng)看看或者閱讀其他作者的文章。

八、官網(wǎng)原文介紹

The STM32F103xx medium-density performance line family incorporates the high-performance ARM®Cortex®-M3 32-bit RISC core operating at a 72 MHz frequency, high-speed embedded memories (Flash memory up to 128 Kbytes and SRAM up to 20 Kbytes), and an extensive range of enhanced I/Os and peripherals connected to two APB buses. All devices offer two 12-bit ADCs, three general purpose 16-bit timers plus one PWM timer, as well as standard and advanced communication interfaces: up to two I2Cs and SPIs, three USARTs, an USB and a CAN.

The devices operate from a 2.0 to 3.6 V power supply. They are available in both the –40 to +85 °C temperature range and the –40 to +105 °C extended temperature range. A comprehensive set of power-saving mode allows the design of low-power applications.

The STM32F103xx medium-density performance line family includes devices in six different package types: from 36 pins to 100 pins. Depending on the device chosen, different sets of peripherals are included, the description below gives an overview of the complete range of peripherals proposed in this family.

These features make the STM32F103xx medium-density performance line microcontroller family suitable for a wide range of applications such as motor drives, application control, medical and handheld equipment, PC and gaming peripherals, GPS platforms, industrial applications, PLCs, inverters, printers, scanners, alarm systems, video intercoms, and HVACs.

主要特性

ARM®32-bit Cortex®-M3 CPU Core

72 MHz maximum frequency,1.25 DMIPS/MHz (Dhrystone 2.1) performance at 0 wait state memory access

Single-cycle multiplication and hardware division

Memories

64 or 128 Kbytes of Flash memory

20 Kbytes of SRAM

Clock, reset and supply management

2.0 to 3.6 V application supply and I/Os

POR, PDR, and programmable voltage detector (PVD)

4-to-16 MHz crystal oscillator

Internal 8 MHz factory-trimmed RC

Internal 40 kHz RC

PLL for CPU clock

32 kHz oscillator for RTC with calibration

Low-power

Sleep, Stop and Standby modes

VBAT supply for RTC and backup registers

2 x 12-bit, 1 μs A/D converters (up to 16 channels)

Conversion range: 0 to 3.6 V

Dual-sample and hold capability

Temperature sensor

DMA

7-channel DMA controller

Peripherals supported: timers, ADC, SPIs, I2Cs and USARTs

Up to 80 fast I/O ports

26/37/51/80 I/Os, all mappable on 16 external interrupt vectors and almost all 5 V-tolerant

Debug mode

Serial wire debug (SWD) & JTAG interfaces

7 timers

Three 16-bit timers, each with up to 4 IC/OC/PWM or pulse counter and quadrature (incremental) encoder input

16-bit, motor control PWM timer with dead-time generation and emergency stop

2 watchdog timers (Independent and Window)

SysTick timer 24-bit downcounter

Up to 9 communication interfaces

Up to 2 x I2C interfaces (SMBus/PMBus)

Up to 3 USARTs (ISO 7816 interface, LIN, IrDA capability, modem control)

Up to 2 SPIs (18 Mbit/s)

CAN interface (2.0B Active)

USB 2.0 full-speed interface

CRC calculation unit, 96-bit unique ID

Packages are ECOPACK®

九、文章小結(jié)

STM32F103C8T6單片機(jī)采用LQFP48封裝設(shè)計(jì),芯片一共引出44只引腳,其中A口有A0-A15共16個(gè)引腳,B口有B0-B15共16個(gè)引腳,C口有C13-C15共3個(gè)引腳,D口有D0-D1共兩個(gè)引腳。值得注意的是最小核心板C14和C15接了32.768K晶振,D0和D1接了8MHz晶振,一般不要用做IO口。如果實(shí)在要用只能去掉外部晶振電路(使用HSI、LSI),通過重映射和配置AFIO_MAPR寄存器實(shí)現(xiàn)。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉