查看: 3634|回復: 5
打印 上一主題 下一主題

帶你走進(jìn)STM32(一)

[復制鏈接]
跳轉到指定樓層
樓主
發(fā)表于 2014-8-6 10:59:05 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式


STM32 注意的地方
注:AHB主要負責外部存儲器時(shí)鐘。PB2負責AD,I/O,高級TIM,串口1。APB1負責DA,USB,SPI,I2C,CAN,串口2345,普通TIM。

使用MDK KeiluVision4進(jìn)行學(xué)習,照著(zhù)前面幾個(gè)歷程進(jìn)行學(xué)習,看懂幾個(gè)歷程后想自己也照著(zhù)搞搞,開(kāi)始有些錯誤經(jīng)調試后都解決了,但是在其他問(wèn)題都解決后,編譯就出現了More More than one section matches selector - cannot all be FIRST/LAST這個(gè)錯誤,還提示啥包涵了一個(gè)錯誤的路徑,本人各種檢查路徑,和歷程的都一樣了,可這個(gè)問(wèn)題還沒(méi)解決,當然后來(lái)發(fā)現這個(gè)不是路徑的問(wèn)題,上網(wǎng)找了好久,終于發(fā)現了,在歷程中RVMDK以及STM32_EVAL中的幾個(gè)初始匯編文件前有三個(gè)紅點(diǎn),而自己的工程中沒(méi)有,再找資料才發(fā)現了如何設置,在此分享下,希望對大家有幫助:

對需要設置的文件(就是文件上有三個(gè)紅點(diǎn)的文件,幾個(gè)歷程基本都一樣),點(diǎn)右鍵Options for File'***',勾去灰化的Include in Target Build和Always Build,然后才重新編譯,就能順利通過(guò)了。

類(lèi)型說(shuō)明------100腳

S - 電源

I - 輸入

O - 輸出

I/O - 輸入輸出

FT - 5V 兼容

VDD - 單片機3.3V 電源正

VSS - 單片機3.3V 電源負

VDDA - 單片機A/D 轉換器電源正

VSSA - 單片機A/D 轉換器電源負

VREF+ - 單片機A/D 轉換器參考電壓

VREF- - 單片機A/D 轉換器參考電壓負

由于STM32F103 系列單片機的內部高速RC 振蕩器(HSI)由VDDA、VSSA 供電,故

即使不使用單片機自帶的A/D 轉換器,也必須保證VDDA、VSSA 的供電,否則STM32F103

單片機不能正常啟動(dòng)。在EC30-EKSTM32 核心板的背面,VDDA 和VSSA 分別通過(guò)電感連接

到VDD 和VSS。如果外部有VDDA、VSSA 的處理電路,需要將背面這兩個(gè)電感拆除。


STM32F103 有兩個(gè)獨立的12 位A/D 轉換器,16 個(gè)A/D 轉換通道。EC30-EKSTM32 只

使用第1 個(gè)A/D 轉換器ADC1。16 個(gè)A/D 轉換通道分布在PA0 ~ PA7、PB0、PB1、PC0 ~ PC5

這16 個(gè)管腳上,其中任何一個(gè)管腳都可以配置為模擬量輸入管腳AIWx。


設置NVIC優(yōu)先級分組,方式。注:一共16個(gè)優(yōu)先級,分為搶占式和響應式。兩種優(yōu)先級所占的數量由此代碼確定,NVIC_PriorityGroup_x可以是0、1、2、3、4,分別代表?yè)屨純?yōu)先級有1、2、4、8、16個(gè)和響應優(yōu)先級有16、8、4、2、1個(gè)。規定兩種優(yōu)先級的數量后,所有的中斷級別必須在其中選擇,搶占級別高的會(huì )打斷其他中斷優(yōu)先執行,而響應級別高的會(huì )在其他中斷執行完優(yōu)先執行。


STM32中有些硬件功能可以由用戶(hù)自己配置,選擇字節用于這些配置。這些通過(guò)用戶(hù)選擇字節配置的功能不能簡(jiǎn)單地通過(guò)軟件配置,相應的功能必須在芯片上電時(shí)存在。如內部的獨立看門(mén)狗,可以通過(guò)用戶(hù)選擇字節配置為做看門(mén)狗用,也可以通過(guò)用戶(hù)選擇字節配置為做普通計數器用;做看門(mén)狗使用時(shí),軟件是無(wú)法停止它的,所以芯片上電時(shí)這個(gè)功能就必須有效。

STM32三種啟動(dòng)模式中存儲器的存儲介質(zhì)

STM32三種啟動(dòng)模式對應的存儲介質(zhì)均是芯片內置的,它們是:

1)用戶(hù)閃存 = 芯片內置的Flash。
2)SRAM = 芯片內置的RAM區,就是內存啦。
3)系統存儲器 = 芯片內部一塊特定的區域,芯片出廠(chǎng)時(shí)在這個(gè)區域預置了一段Bootloader,就是通常說(shuō)的ISP程序。這個(gè)區域的內容在芯片出廠(chǎng)后沒(méi)有人能夠修改或擦除,即它是一個(gè)ROM區。在每個(gè)STM32的芯片上都有兩個(gè)管腳BOOT0和BOOT1,這兩個(gè)管腳在芯片復位時(shí)的電平狀態(tài)決定了芯片復位后從哪個(gè)區域開(kāi)始執行程序,見(jiàn)下表:

BOOT1=x  BOOT0=0  從用戶(hù)閃存啟動(dòng),這是正常的工作模BOOT1=0  BOOT0=1  從系統存儲器啟動(dòng),這種模式啟動(dòng)的程序功能由廠(chǎng)家設置。
BOOT1=1  BOOT0=1  從內置SRAM啟動(dòng),這種模式可以用于調試。

STM32 GPIO端口的輸出速度設置

當STM32的GPIO端口設置為輸出模式時(shí),有三種速度可以選擇:2MHz、10MHz和50MHz,這個(gè)速度是指I/O口驅動(dòng)電路的速度,是用來(lái)選擇不同的輸出驅動(dòng)模塊,達到最佳的噪聲控制和降低功耗的目的。

高頻的驅動(dòng)電路,噪聲也高,當你不需要高的輸出頻率時(shí),請選用低頻驅動(dòng)電路,這樣非常有利于提高系統的EMI性能。

當然如果你要輸出較高頻率的信號,但卻選用了較低頻率的驅動(dòng)模塊,你很可能會(huì )得到失真的輸出信號。

實(shí)際上芯片內部在I/O口的輸出部分安排了多個(gè)響應速度不同的輸出驅動(dòng)電路,用戶(hù)可以根據自己的需要選擇合適的驅動(dòng)電路。

注意:GPIO的引腳速度是指I/O口驅動(dòng)電路的響應速度而不是輸出信號的速度,輸出信號的速度與你的程序有關(guān)。

關(guān)鍵是,GPIO的引腳速度跟應用匹配。

比如對于串口,假如最大波特率只需115.2k,那么用2M的GPIO的引腳速度就夠了,既省電也噪聲小。

對于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引腳速度或許不夠,這時(shí)可以選用10M的GPIO引腳速度。深圳STM32技術(shù)實(shí)訓QQ754634522

對于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引腳速度顯然不夠了,需要選用50M的GPIO的引腳速度。


沙發(fā)
發(fā)表于 2014-8-6 16:26:00 | 只看該作者
不錯!
板凳
 樓主| 發(fā)表于 2014-8-7 10:43:13 | 只看該作者
相互學(xué)習分享
地板
 樓主| 發(fā)表于 2014-8-26 10:52:36 | 只看該作者
相互學(xué)習分享
地下室
發(fā)表于 2014-9-9 15:27:36 | 只看該作者
謝謝樓主分享。
6
 樓主| 發(fā)表于 2014-9-10 11:12:04 | 只看該作者
相互學(xué)習,分享
您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

關(guān)于我們  -  服務(wù)條款  -  使用指南  -  站點(diǎn)地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
午夜高清国产拍精品福利|亚洲色精品88色婷婷七月丁香|91久久精品无码一区|99久久国语露脸精品|动漫卡通亚洲综合专区48页