在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記 之緒論

            STM32學(xué)習(xí)筆記 之緒論

            作者: 時(shí)間:2016-11-21 來(lái)源:網(wǎng)絡(luò) 收藏
            學(xué)習(xí)STM32也有些日子了。作為初學(xué)者,從最初的一無(wú)所知,到現(xiàn)在略知皮毛之皮毛,感覺(jué)著實(shí)不容易。

            下面把自己的體會(huì)以及自認(rèn)為初學(xué)者不易掌握的要點(diǎn)和大家分享一下,有錯(cuò)誤的地方,歡迎大家指正。

            本文引用地址:http://www.biyoush.com/article/201611/319281.htm

            一、關(guān)于學(xué)習(xí)方法

            初學(xué)STM32給我的一個(gè)感覺(jué)就是,概念繁多而且很多都可以繼續(xù)深究下去,教程對(duì)此又不可能都很詳細(xì)的論述,但于我來(lái)說(shuō)如魚(yú)鯁喉實(shí)在不爽。

            因?yàn)槲蚁矚g刨根問(wèn)底,網(wǎng)絡(luò)資料又實(shí)在繁雜,如此又耗費(fèi)精力,又打擊學(xué)習(xí)積極性。

            終于有一天,我轉(zhuǎn)變了心態(tài),如果STM32猶如枝繁葉茂的大樹(shù)(整個(gè)嵌入式體系亦如此),我要做的不是連每一個(gè)葉子都明了,而是暫時(shí)只要知曉其主干及一些必要的干支即可。其他的枝葉等有時(shí)間再去深究,而很多脈絡(luò)隨著學(xué)習(xí)的深入也會(huì)逐漸清晰起來(lái)。

            所以很多地方需要不求甚解,只要知道個(gè)概念即可,這些并不會(huì)影響自己的編程設(shè)計(jì)。相信假以時(shí)日,隨著經(jīng)驗(yàn)的豐富,涉獵的廣泛,總有一天會(huì)打通任督二脈,通體舒泰:)

            二、初學(xué)者容易疏忽及困惑的地方

            這些只是我個(gè)人的體會(huì),不一定完全正確

            1、Keil ARM使用問(wèn)題

            a、忘記添加啟動(dòng)文件,我就出現(xiàn)過(guò)一次搞了半天才發(fā)現(xiàn)。。。其出錯(cuò)信息為“error: L6236E: No section matches selector - no section to be FIRST/LAST.”

            b、忘了在Options of Target ->C/C++->Preprocessor Symbols->Define中添加“USE_STDPERIPH_DRIVER,STM32F10X_HD”

            前者的作用如下圖,定義此參數(shù)后即可包含 stm32f10x_conf.h文件,而stm32f10x_conf.h可以設(shè)置包含(使用)固件庫(kù)中的哪些外設(shè)。

            后者則根據(jù)所使用芯片flash的大小選擇,后綴表如下:

            cl:互聯(lián)型產(chǎn)品,stm32f105/107系列
            vl:超值型產(chǎn)品,stm32f100系列
            xl:超高密度產(chǎn)品,stm32f101/103系列 超大容量 512-1024K
            ld:低密度產(chǎn)品,F(xiàn)LASH小于64K
            md:中等密度產(chǎn)品,F(xiàn)LASH=64 or 128
            hd:高密度產(chǎn)品,F(xiàn)LASH大于128-512

            啟動(dòng)文件的選擇也可以參考此后綴。

            2、一些概念

            STM32固件庫(kù): STM32庫(kù)為ST提供的API,基于它我們可以很方便的進(jìn)行配置STM32寄存器等操作。

            一開(kāi)始我局限于單片機(jī)編程的思維,固執(zhí)的排斥固件庫(kù),想通過(guò)單純寄存器操作來(lái)編程。后來(lái)發(fā)現(xiàn)如果只是配置個(gè)GPIO口,點(diǎn)亮幾個(gè)LED直接用寄存器方式當(dāng)然不復(fù)雜,但隨著代碼量的增加此方法將會(huì)使人抓狂,因?yàn)镾TM32寄存器繁多,又不容易記憶,如此編程時(shí)需要不停的翻參考手冊(cè),這不是折磨人嘛。

            而庫(kù)函數(shù)則為我們封裝了對(duì)寄存器的操作,提供了一系列的函數(shù)、宏、結(jié)構(gòu)體等等,稍有點(diǎn)英文基礎(chǔ)的話,會(huì)發(fā)現(xiàn)非常好記憶。記不住就直接復(fù)制黏貼:)

            CMSIS標(biāo)準(zhǔn)(CortexMicroController Software Interface Standard)主要包括以下兩個(gè)方面

            內(nèi)核函數(shù)層:包含用于訪問(wèn)內(nèi)核寄存器的名稱、地址定義,由ARM公司提供

            設(shè)備外設(shè)訪問(wèn)層:提供片上核外外設(shè)的地址和中斷定義,由芯片制造商提供

            如想知道更詳細(xì)的定義,請(qǐng)參考 arm.cn/forum.php?mod=viewthread&tid=53&extra=page=1" target="_blank">點(diǎn)此

            固件庫(kù)一些文件簡(jiǎn)介:

            core_cm3.c 和 啟動(dòng)文件都屬于底層文件,由ARM公司提供,遵守CMSIS標(biāo)準(zhǔn)

            system_stm32f10x.c 由ST公司提供,遵守CMSIS標(biāo)準(zhǔn)。主要用于設(shè)置系統(tǒng)時(shí)鐘和總線時(shí)鐘。

            stm32f10x.h 寄存器封裝的一些相關(guān)定義

            misc.c 提供外設(shè)對(duì)NVIC的訪問(wèn)函數(shù)

            stm32f10x_it.c 中斷服務(wù)函數(shù)

            位操作

            a &=~(1<<6); bit6置0

            a |=(1<<6); bit6置1

            a^=(1<<6); bit6取反



            關(guān)鍵詞: STM32學(xué)習(xí)筆

            評(píng)論


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

            關(guān)閉