基於意法半導體MCU STM32的底層配置

意法半導體MCU是全球領先的半導體供應商,自成立以來已知足了市場上多元化的需求,提供了各行業領域範圍半導體產品及解決方案.爲了保持其技術優點,意法半導體堅決地致力於創新,約有7400人從事研發和產品設計工做,並在2018年將其收入的15%用於研發。STM32MCU被普遍應用在各類豐富的不一樣行業當中.爲此本篇文章將介紹有關STM32底層配置的相關技術.安全

本文經過,介紹STM32主要的底層配置,經過關鍵步驟的程序源代碼的介紹,闡述實現數據傳輸的細節以及注意事項。該方法對其餘項目或芯片有必定的實現價值和參考價值,且簡單可靠,具備廣泛性和通用性。ide

一、STM32底層配置
爲了實現STM32單片機與SIM900A模塊之間的數據命令的傳輸,本文以串口爲例,先搭建開發平臺,在工程中加入相應的庫函數以及配置文件,而後配置時鐘以及串口相應的輸入輸出GPIO接口。在配置的同時,須要針對自身的原理圖進行編寫,才能保證配置正確無誤。這樣基本的開發平臺就搭建起來了。函數

1.一、串口配置
在開發平臺搭建起來以後,就能夠對串口進行配置了。配置速率爲115200b/s,字長爲8bit,1bit中止位,串口模式爲輸入與輸出模式,最後初始化相對應的串口。初始化串口以後,打開串口的中斷響應函數,即USART_ITConfig(USART2,USART_IT_RXNE,ENABLE)(以串口2爲例),而後使能相對應的串口,這樣串口函數就基本配置完成了。須要注意一點,有些程序可能在傳輸的時候出現首位丟失。這個問題涉及到USART的機制。硬件復位以後,USART的狀態位是置位的(置1,表示已經發送完畢),而此時數據能夠進行正常發送。當一幀數據發送後,由硬件將該位置位。而清除TC位(置0)是由軟件來完成的,經過先讀USART_SR,再寫USART_DR將該位清除。可是程序在發送第一幀數據的時候,並無進行讀USART_SR,而是直接進行寫USART_DR,所以TC標誌位仍是置1,並無清除。當發送第一幀數據以後,用USART_GetFlagStatus()檢測狀態返回的是已經發送完畢,程序就會立刻發送下一幀數據,所以第一幀數據就會被第二幀數據覆蓋了,這樣就看不到首位數據。根據這種狀況來講能夠在每次傳輸以前或以後清除傳輸完成標誌位,即USART_ClearFlag(USART2,USART_FLAG_TC)。性能

1.二、中斷配置
配置完串口以後,將對NVIC進行配置。首次配置中斷分組,而後選擇串口的中斷,即NVIC_InitStructure.NVIC_IRQChannel=USART2_IRQn(以所使用固件庫的定義爲主)。設計

再設置搶佔式中斷優先級和響應式中斷優先級,而後使能中斷和初始化。以上的配置必須結合自身的狀況,設計出最優的中斷分組和優先級,以保證程序響應中斷的速度。中斷後所作的內容在stm32f10x_it.c文件裏配置。接口

MCU應用極其普遍,國內本土爲了避免再依附進口芯片而投身研發國內芯片。目前國內有着幾家不錯的廠商,已爲市場提供上百種的MCU產品.例如靈動微電子,旗下產品MM32F系列可替換兼容STM32F系列.開發

關於上海靈動微電子產品

靈動微電子是國內專一於MCU產品與應用方案的領先供應商,自2011年3月成立至今,上海靈動微電子已經成功完成數百餘個MCU產品的設計及推廣,靈動微目前已批量供貨的基於內核M0及Cortex-M3 內核的MCU產品包括:通用高性能市場的MM32F系列,超低功耗及安全應用的MM32L系列,具備多種無線鏈接功能的MM32W系列,電機及電源專用的MM32SPIN系列,以及OTP型的MM32P系列等,以知足客戶及市場多領域、多層次的豐富應用場景需求。it

相關文章
相關標籤/搜索