基于意法半導(dǎo)體MCU STM32的底層配置
2019-11-25 10:06:19
意法半導(dǎo)體MCU是全球領(lǐng)先的半導(dǎo)體供應(yīng)商,自成立以來(lái)已滿足了市場(chǎng)上多元化的需求,提供了各行業(yè)領(lǐng)域范圍半導(dǎo)體產(chǎn)品及解決方案.為了保持其技術(shù)優(yōu)勢(shì),意法半導(dǎo)體堅(jiān)定地致力于創(chuàng)新,約有7400人從事研發(fā)和產(chǎn)品設(shè)計(jì)工作,并在2018年將其收入的15%用于研發(fā)。STM32MCU被廣泛應(yīng)用在各種豐富的不同行業(yè)當(dāng)中.為此本篇文章將介紹有關(guān)STM32底層配置的相關(guān)技術(shù).
本文通過(guò),介紹STM32主要的底層配置,通過(guò)關(guān)鍵步驟的程序源代碼的介紹,闡述實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)募?xì)節(jié)以及注意事項(xiàng)。該方法對(duì)其他項(xiàng)目或芯片有一定的實(shí)現(xiàn)價(jià)值和參考價(jià)值,且簡(jiǎn)單可靠,具有普遍性和通用性。
1、STM32底層配置
為了實(shí)現(xiàn)STM32單片機(jī)與SIM900A模塊之間的數(shù)據(jù)命令的傳輸,本文以串口為例,先搭建開(kāi)發(fā)平臺(tái),在工程中加入相應(yīng)的庫(kù)函數(shù)以及配置文件,然后配置時(shí)鐘以及串口相應(yīng)的輸入輸出GPIO接口。在配置的同時(shí),需要針對(duì)自身的原理圖進(jìn)行編寫,才能保證配置正確無(wú)誤。這樣基本的開(kāi)發(fā)平臺(tái)就搭建起來(lái)了。
1.1、串口配置
在開(kāi)發(fā)平臺(tái)搭建起來(lái)之后,就可以對(duì)串口進(jìn)行配置了。配置速率為115200b/s,字長(zhǎng)為8bit,1bit停止位,串口模式為輸入與輸出模式,最后初始化相對(duì)應(yīng)的串口。初始化串口之后,打開(kāi)串口的中斷響應(yīng)函數(shù),即USART_ITConfig(USART2,USART_IT_RXNE,ENABLE)(以串口2為例),然后使能相對(duì)應(yīng)的串口,這樣串口函數(shù)就基本配置完成了。需要注意一點(diǎn),有些程序可能在傳輸?shù)臅r(shí)候出現(xiàn)首位丟失。這個(gè)問(wèn)題涉及到USART的機(jī)制。硬件復(fù)位之后,USART的狀態(tài)位是置位的(置1,表示已經(jīng)發(fā)送完畢),而此時(shí)數(shù)據(jù)可以進(jìn)行正常發(fā)送。當(dāng)一幀數(shù)據(jù)發(fā)送后,由硬件將該位置位。而清除TC位(置0)是由軟件來(lái)完成的,通過(guò)先讀USART_SR,再寫USART_DR將該位清除。但是程序在發(fā)送第一幀數(shù)據(jù)的時(shí)候,并沒(méi)有進(jìn)行讀USART_SR,而是直接進(jìn)行寫USART_DR,因此TC標(biāo)志位還是置1,并沒(méi)有清除。當(dāng)發(fā)送第一幀數(shù)據(jù)之后,用USART_GetFlagStatus()檢測(cè)狀態(tài)返回的是已經(jīng)發(fā)送完畢,程序就會(huì)馬上發(fā)送下一幀數(shù)據(jù),因此第一幀數(shù)據(jù)就會(huì)被第二幀數(shù)據(jù)覆蓋了,這樣就看不到首位數(shù)據(jù)。根據(jù)這種情況來(lái)說(shuō)可以在每次傳輸之前或之后清除傳輸完成標(biāo)志位,即USART_ClearFlag(USART2,USART_FLAG_TC)。
1.2、中斷配置
配置完串口之后,將對(duì)NVIC進(jìn)行配置。首次配置中斷分組,然后選擇串口的中斷,即NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn(以所使用固件庫(kù)的定義為主)。
再設(shè)置搶占式中斷優(yōu)先級(jí)和響應(yīng)式中斷優(yōu)先級(jí),然后使能中斷和初始化。以上的配置必須結(jié)合自身的情況,設(shè)計(jì)出最優(yōu)的中斷分組和優(yōu)先級(jí),以保證程序響應(yīng)中斷的速度。中斷后所做的內(nèi)容在stm32f10x_it.c文件里配置。
MCU應(yīng)用極其廣泛,國(guó)內(nèi)本土為了不再依附進(jìn)口芯片而投身研發(fā)國(guó)內(nèi)芯片。目前國(guó)內(nèi)有著幾家不錯(cuò)的廠商,已為市場(chǎng)提供上百種的MCU產(chǎn)品.例如靈動(dòng)微電子,旗下產(chǎn)品MM32F系列可替換兼容STM32F系列.
關(guān)于上海靈動(dòng)微電子
靈動(dòng)微電子是國(guó)內(nèi)專注于MCU產(chǎn)品與應(yīng)用方案的領(lǐng)先供應(yīng)商,自2011年3月成立至今,上海靈動(dòng)微電子已經(jīng)成功完成數(shù)百余個(gè)MCU產(chǎn)品的設(shè)計(jì)及推廣,靈動(dòng)微目前已批量供貨的基于內(nèi)核M0及Cortex-M3 內(nèi)核的MCU產(chǎn)品包括:通用高性能市場(chǎng)的MM32F系列,超低功耗及安全應(yīng)用的MM32L系列,具有多種無(wú)線連接功能的MM32W系列,電機(jī)及電源專用的MM32SPIN系列,以及OTP型的MM32P系列等,以滿足客戶及市場(chǎng)多領(lǐng)域、多層次的豐富應(yīng)用場(chǎng)景需求。
本文關(guān)鍵詞: 意法半導(dǎo)體MCU
相關(guān)文章:靈動(dòng)微可替換意法半導(dǎo)體MCU
深圳市英尚微電子有限公司是一家專業(yè)的靜態(tài)隨機(jī)記憶體產(chǎn)品及方案提供商,十年來(lái)專業(yè)致力代理分銷存儲(chǔ)芯片IC, SRAM、MRAM、pSRAM、 FLASH芯片、SDRAM(DDR1/DDR2/DDR3)等,為客人提供性價(jià)比更高的產(chǎn)品及方案。
英尚微電子中國(guó)區(qū)指定的授權(quán)代理:VTI、NETSOL、JSC濟(jì)州半導(dǎo)體(EMLSI)、Everspin 、IPSILOG、LYONTEK、ISSI、CYPRESS、ISOCOME、PARAGON、SINOCHIP、UNIIC; 著名半導(dǎo)體品牌的專業(yè)分銷商 如:RAMTROM、ETRON、FUJITSU、LYONTEK、WILLSEMI。
?更多資訊關(guān)注SRAMSUN. cakyus.com 0755-66658299