<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用

          新一代嵌入式微處理器STM32F103開發(fā)與應(yīng)用

          作者: 時(shí)間:2011-04-22 來源:網(wǎng)絡(luò) 收藏

            3.2 流程

           ?。?1)用J- L ink仿真器將PC 機(jī)和板連接起來。

            ( 2)使用K eil V ision4 IDE平臺(tái)創(chuàng)建新工程, 編寫源程序。

            打開Ke il V ision4 軟件, 創(chuàng)建新的工程文件, 為該工程選擇器件: STM icroe lectron ics 公司的R8芯片, 單擊確定后會(huì)彈出對(duì)話框, 提示是否選擇將啟動(dòng)代碼添加到目標(biāo)工程。啟動(dòng)代碼用來完成系統(tǒng)的初始化工作, 對(duì)于系統(tǒng)來說是必不可少的。選擇??是 將啟動(dòng)代碼加入到目標(biāo)工程, 這樣可以大大節(jié)省啟動(dòng)代碼的編寫工作。工程創(chuàng)建完畢后, 即可在該工程下新建C 文件, 編寫源程序, 完成后將其添加到工程中。最后將庫文件STM32F10xRLIB 和STM32F10xDLIB 也添加到工程中。至此, 程序創(chuàng)建工作結(jié)束。所需源文件及功能如表2示。

          表2 完整工程所需文件

          完整工程所需文件


           ?。?3)程序的編譯、下載、仿真和調(diào)試等。

            程序編寫完成后即可編譯文件, 編譯無錯(cuò)誤后選擇Options選項(xiàng), 在D ebug程序編譯鏈接成功之后, 選擇Pro ject /Opt ions for Targe,t 打開對(duì)話框后, 選擇Debug選項(xiàng)卡, 在U se下拉按鈕中選擇Cortex- M3 J- L ink, 選擇好后點(diǎn)擊settings, 在彈出的對(duì)話框中點(diǎn)擊Add按鈕, 選擇STM32F10xM ed- density Flash。點(diǎn)擊OK 完成配置。通過Load即可將程序下載到目標(biāo)器件中。如圖1所示。

            如果需要對(duì)程序進(jìn)行在線調(diào)試, 選擇S tart /Stop Debug Session, 這時(shí)可以插入斷點(diǎn)、設(shè)置指針、單步執(zhí)行、復(fù)位等, 還可以觀察各個(gè)寄存器值的變化, 進(jìn)行波形仿真。總之可以很方便的在線調(diào)試程序。

            4 程序開發(fā)實(shí)例

            下面以溫度測(cè)量為例, 具體介紹處理器的開發(fā)使用方法。該處理器帶有12位逐次逼近式ADC, 其輸入量程為VREF- ~ VREF+ , 在LQFP64引腳或更少的引腳封裝形式中, 它們?cè)谛酒瑑?nèi)部與ADC 的地VSSA和電源VDDA相連。由于STM32處理器在本設(shè)計(jì)中采用33V 電壓供電, 因此其輸入量程為0~ 33V。

            處理器內(nèi)部自帶一個(gè)溫度傳感器, 它感知到MPU 周圍的溫度變化, 將其轉(zhuǎn)化為電壓的變化。該傳感器的溫度適應(yīng)范圍很寬, 可以測(cè)量- 40℃~ + 125℃之間變化的溫度值, 轉(zhuǎn)換精度為±1.5 ℃ , 能夠較好的滿足溫度測(cè)量的任務(wù)。

            4.1 AD轉(zhuǎn)換和數(shù)據(jù)傳輸

            通常情況下, 內(nèi)部溫度傳感器是關(guān)閉的, 為了使其正常工作, 首先需要選擇ADC _IN16通道, 因?yàn)樵撏ǖ朗莾?nèi)部通道, 與溫度傳感器直接相連, 其次要設(shè)置相關(guān)功能寄存器ADC _CR2的TSVREFE位, 開啟溫度傳感器和VREFINT通道。

            編寫main c文件時(shí), 首先配置系統(tǒng)時(shí)鐘, 然后進(jìn)行引腳配置, 主要是為串口數(shù)據(jù)發(fā)送和接收配置引腳,本設(shè)計(jì)采用通用I /O 口PB10作為串口發(fā)送引腳, 配置為推挽式輸出, 速度為50MH z; 將通用I /O 口PB11作為串口接收引腳, 浮空輸入模式。然后配置串口工作方式及中斷, 設(shè)置波特率為9600Baud、8位數(shù)據(jù)位、無校驗(yàn)位、1位停止位、無硬件流控制。然后使能串口的中斷、發(fā)送、接收。將AD 轉(zhuǎn)換通道設(shè)為通道16, 使能溫度傳感器。檢測(cè)到ADC 校準(zhǔn)寄存器復(fù)位完成后, 啟動(dòng)ADC 校準(zhǔn), 校準(zhǔn)完成后軟件觸發(fā)啟動(dòng)ADC 轉(zhuǎn)換。

            設(shè)置w h ile無限循環(huán), 等待串口中斷, 在中斷程序stm32 f10x_ it c文件中, 將轉(zhuǎn)換結(jié)果數(shù)據(jù)通過串口發(fā)送到PC機(jī)。流程圖如圖2所示。

          Dubug 選項(xiàng)的配置

          圖1 Dubug 選項(xiàng)的配置

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();