在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,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>

            新聞中心

            STM32快速入門教程

            作者: 時(shí)間:2016-11-28 來(lái)源:網(wǎng)絡(luò) 收藏
            開發(fā)編譯的軟件: IAREWARM4.42A

            JTAG工具:ST-LINK2(開發(fā)板自帶)
            開發(fā)板:萬(wàn)利STM32EK(199元)

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

            建議看的資料:
            《STM32F10X-128K-EVAL MCU》ST公司 STM32開發(fā)板的電路圖
            《STM32技術(shù)參考手冊(cè)—RM0008.pdf 或 STM32F103-CN.pdf 》
            《Cortex-M3權(quán)威指南Cn.pdf》
            《如何在IAR下使用STM庫(kù).pdf》
            《STM32F10xxx_Library_Manual_ChineseV2.pdf》
            《漢化STM32F的固件.rar》----網(wǎng)友: SUNKE9
            《 netjob的BLOG上的初學(xué)者筆記》

            STM32 :把引腳BOOT1,BOOT0接地,3。3伏特供電,STM32就可以運(yùn)行,無(wú)需外部接晶振。
            芯片內(nèi)部有復(fù)位電路。STM32上電后默認(rèn)使用內(nèi)部【精度8MHZ左右】晶振,如果外部接了8MHZ,
            可以切換使用外部8MHZ,并最終PLL倍頻到72MHZ.

            軟件開發(fā)上,我們可以從萬(wàn)利公司或ST公司給 IAR公司寫的STM32例子,
            首先一點(diǎn),目前 STM32軟件開發(fā)都是使用ST公司STM32庫(kù),而我的BLOG上例子不是使用STM32庫(kù)。
            我自己建立了STM32的頭文件:stm32f103.h

            原因是 ST公司的STM32函數(shù)庫(kù) 太龐大復(fù)雜,效率低。 而且會(huì)讓開發(fā)人員不懂的如何操作STM32
            的寄存器,不懂的CPU 是如何工作的。

            一個(gè)STM32程序,有幾個(gè)必要文件:


            stm32f103.h我自己定義的 STM32頭文件 用來(lái)代替STM32函數(shù)庫(kù)
            cortexm3_macro.s宏定義函數(shù)
            stm32f10x_vector.c中斷初始化
            stm32f10x_it.c中斷函數(shù)
            main.c主函數(shù)

            //===================================================
            // 完整例子: 萬(wàn)利開發(fā)板上跑馬燈程序
            // 輪流點(diǎn)亮LED燈。
            //===================================================

            cortexm3_macro.s
            stm32f10x_vector.c
            stm32f10x_it.c

            上面三個(gè)文件獨(dú)立加入工程中。
            而且stm32f10x_it.c 可以不加,如果不可中斷

            【main.c內(nèi)容:】

            #include "stm32f103.h"

            void delay(void);
            void STM32_RCC_Configuration(void);
            void STM32_GPIO_Configuration(void);
            void STM32_NVIC_Configuration(void);
            void STM32_Led_Config(void);

            void main(void)
            {
            int i="0";


            STM32_RCC_Configuration();


            STM32_GPIO_Configuration();


            // STM32_NVIC_Configuration();// 可以省略 因?yàn)闆]開中斷

            STM32_Led_Config();

            while(1)
            {

            delay();
            switch(i)
            {
            case 1:
            // GPIO_ResetBits(GPIOC, GPIO_Pin_4); //關(guān)LED5這個(gè)是使用STM32庫(kù)函數(shù)方法
            // GPIO_SetBits(GPIOC, GPIO_Pin_7);//開LED2這個(gè)是使用STM32庫(kù)函數(shù)方法

            STM32_Gpioc_Regs->bsrr.bit.BR4 =1;// 1:清除對(duì)應(yīng)的ODRy位為0
            STM32_Gpioc_Regs->bsrr.bit.BS7 =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

            break;
            case 2:
            //GPIO_ResetBits(GPIOC, GPIO_Pin_7); //關(guān)LED2這個(gè)是使用STM32庫(kù)函數(shù)方法
            //GPIO_SetBits(GPIOC, GPIO_Pin_6);//開LED3這個(gè)是使用STM32庫(kù)函數(shù)方法

            STM32_Gpioc_Regs->bsrr.bit.BR7 =1;// 1:清除對(duì)應(yīng)的ODRy位為0
            STM32_Gpioc_Regs->bsrr.bit.BS6 =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

            break;
            case 3:
            //GPIO_ResetBits(GPIOC, GPIO_Pin_6); //關(guān)LED3這個(gè)是使用STM32庫(kù)函數(shù)方法
            //GPIO_SetBits(GPIOC, GPIO_Pin_5);//開LED4這個(gè)是使用STM32庫(kù)函數(shù)方法

            STM32_Gpioc_Regs->bsrr.bit.BR6 =1;// 1:清除對(duì)應(yīng)的ODRy位為0
            STM32_Gpioc_Regs->bsrr.bit.BS5 =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

            break;
            case 4:
            //GPIO_ResetBits(GPIOC, GPIO_Pin_5); //關(guān)LED4
            //GPIO_SetBits(GPIOC, GPIO_Pin_4);//開LED5
            STM32_Gpioc_Regs->bsrr.bit.BR5 =1;// 1:清除對(duì)應(yīng)的ODRy位為0
            STM32_Gpioc_Regs->bsrr.bit.BS4 =1;// 1:設(shè)置對(duì)應(yīng)的ODRy位為1

            i="0";
            break;
            default :
            i="0";
            break;


            }//
            i++; //切換到下一個(gè)燈
            delay();

            }//end main()
            //======================================================
            //
            //======================================================
            void delay(void)
            {
            int i,j;
            j=0;
            for (i=0; i<0xfffff; i++) j++;// 1,048,575

            }//end sub

            // netjobs blog 上的文件。。。
            void STM32_RCC_Configuration(void){;}
            void STM32_GPIO_Configuration(void){;}
            void STM32_NVIC_Configuration(void){;}
            void STM32_Led_Config(void){;}

            //======================================================
            //======================================================



            關(guān)鍵詞: STM32快速入門教

            評(píng)論


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

            關(guān)閉