在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

學(xué)STM32對(duì)你來(lái)說(shuō)有什么好處

GReq_mcu168 ? 來(lái)源:未知 ? 作者:胡薇 ? 2018-10-25 09:06 ? 次閱讀

STM32是32位的單片機(jī)卻只要八位單片機(jī)的價(jià)格,速度也是八位的好幾倍。

更重要的是它作為ARM入門(mén)級(jí)的芯片比較容易掌握,網(wǎng)上資料也很多,很多人都在用。

STM32的IO端口有7個(gè)寄存器來(lái)控制,但是我們常用的就4個(gè):CRL、CRH、IDR和ODR 。

端口配置低寄存器(GPIOx_CRL)

端口配置高寄存器(GPIOx_CRH)

端口輸入數(shù)據(jù)寄存器(GPIOx_IDR)

端口輸出數(shù)據(jù)寄存器(GPIOx_ODR)

其中CRL控制高8位的IO,CRH控制低8位的IO。這兩個(gè)實(shí)質(zhì)是一樣的。

八種模式

對(duì)照AVR來(lái)GPIOx_CRL就相當(dāng)于DDRx;GPIOx_ODR就相當(dāng)于PORTx;GPIOx_ODR就相當(dāng)于PINxSTM32的IO口;可以由軟件配置成8種模式。

輸入浮空、輸入上拉、輸入下拉、模擬輸入、開(kāi)漏輸出、推挽輸出、推挽式復(fù)用功能、開(kāi)漏復(fù)用功能。

簡(jiǎn)單的來(lái)說(shuō)STM32的CRL寄存器可以設(shè)置輸入、輸出模式,還可以設(shè)置輸出的最大速率。

輸入浮空:既不是上拉也不是下拉輸入。

開(kāi)漏模式和推挽模式:弱上拉和下拉電阻被禁止,開(kāi)漏模式時(shí),讀輸入數(shù)據(jù)寄存器時(shí)可得到I/O口狀態(tài),推挽模式時(shí),讀輸出數(shù)據(jù)寄存器時(shí)可得到最后一次寫(xiě)的值,模擬輸入配置。弱上拉和下拉電阻被禁止讀取輸入數(shù)據(jù)寄存器時(shí)數(shù)值為‘0’。

常見(jiàn)控制方法

接下來(lái)要說(shuō)兩個(gè)常常聽(tīng)到的控制方法:直接操作寄存器和庫(kù)函數(shù)方法。直接操作寄存器就是直接對(duì)CRL等寄存器寫(xiě)值。庫(kù)函數(shù)是ST官方把所有的控制都寫(xiě)好了,我們只需要調(diào)用。

直接操作寄存器

GPIOA-CRH=0XFFFFFFF0;

GPIOA-CRH|=0X00000003;/PA8推挽輸出

GPIOA-ODR|=18;/PA8輸出高

庫(kù)函數(shù)

GPIO_InitTypeDef GPIO_InitStruct;

GPIO_InitStruct.GPIO_Pin=GPIO_Pin_11|GPIO_Pin_12 ;

GPIO_InitStruct.GPIO_Mode=GPIO_Mode_OUT;

GPIO_InitStruct.GPIO_OType=GPIO_OType_PP;

GPIO_InitStruct.GPIO_Speed=GPIO_Speed_Level_3;

GPIO_Init(GPIOA,GPIO_InitStruct);

GPIO_SetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12 );

舉個(gè)栗子

現(xiàn)在寫(xiě)一個(gè)LED的初始化程序。

直接操作寄存器

/LED IO初始化

void LED_Init(void)

{

RCC-APB2ENR|=12;/使能PORTA時(shí)鐘

GPIOA-CRH=0XFFFFFFF0;/PA8推挽輸出

GPIOA-CRH|=0X00000003;/速率

GPIOA-ODR|=18;/PA8輸出高一開(kāi)始高滅燈

}

注:先要使能PORTA時(shí)鐘。

庫(kù)函數(shù)

void LED_Init(void)

{

GPIO_InitTypeDefGPIO_InitStructure;/聲明結(jié)構(gòu)體ST庫(kù)

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);/使能PA端口時(shí)鐘

GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;/LED0-PA.8端口配置

GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;/推挽輸出

GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;

GPIO_Init(GPIOA,GPIO_InitStructure);/結(jié)構(gòu)體初始化

GPIO_SetBits(GPIOA,GPIO_Pin_8);/PA.8輸出高

}

到這兩種方法的初始化都OK了。

main函數(shù)

int main(void)

{

SystemInit();

/系統(tǒng)時(shí)鐘初始化為72M SYSCLK_FREQ_72MHz

delay_init(72);/延時(shí)函數(shù)初始化

NVIC_Configuration();/設(shè)置NVIC中斷分組2:2位搶占優(yōu)先級(jí),2位響應(yīng)優(yōu)先級(jí)

LED_Init();/LED端口初始化

while(1)

{

LED0=0;/也可以使用(庫(kù))GPIO_ResetBits(GPIOA,GPIO_Pin_8);

/寄存器GPIOA-ODR=-(18);

delay_ms(300);

LED0=1;/也可以使用 GPIO_SetBits(GPIOA,GPIO_Pin_8);

/寄存器|GPIOA-ODR|=18;

delay_ms(300);

}

}

使能PORTA時(shí)鐘,這里說(shuō)明下STM32的時(shí)鐘樹(shù)和AVR51等有很大的區(qū)別,它每個(gè)外設(shè)都會(huì)有自己的時(shí)鐘,要使用一個(gè)外設(shè)必須要先開(kāi)外設(shè)的時(shí)鐘。這樣也一定程度上減少了功耗。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 單片機(jī)
    +關(guān)注

    關(guān)注

    6058

    文章

    44822

    瀏覽量

    644822
  • STM32
    +關(guān)注

    關(guān)注

    2283

    文章

    10986

    瀏覽量

    361352

原文標(biāo)題:為什么要學(xué)STM32?答案就在這里!

文章出處:【微信號(hào):mcu168,微信公眾號(hào):硬件攻城獅】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    對(duì)于應(yīng)用級(jí)的工程師來(lái)說(shuō)學(xué)FPGA應(yīng)該注意什么?怎么學(xué)?...

    對(duì)于應(yīng)用級(jí)的工程師來(lái)說(shuō)學(xué)FPGA應(yīng)該注意什么?怎么學(xué)?學(xué)到那個(gè)層次?
    發(fā)表于 06-18 18:03

    教是最好的學(xué)相信嗎?

    的其他成員準(zhǔn)備并做個(gè)培訓(xùn)。這種方式要比聘用外部培訓(xùn)師成本更低,同時(shí)還有其他一些好處。培訓(xùn)對(duì)于學(xué)員和講師來(lái)說(shuō)都有好處,可謂是一舉兩得。我記得在高中的心理學(xué)課上,老師告訴我說(shuō)教是記住信息的最好方式(
    發(fā)表于 12-17 16:36

    STM32應(yīng)用的范圍哪些?學(xué)STM32從哪開(kāi)始學(xué)比較好?

    STM32應(yīng)用的范圍哪些?學(xué)STM32從哪開(kāi)始學(xué)比較好?
    發(fā)表于 10-18 22:43

    STM32好找工作,所以學(xué)linux終究是錯(cuò)付了嗎

    STM32的局限性不能說(shuō)STM32不好,只能說(shuō)局限性。STM32最大的局限性就是:它只是個(gè)單片機(jī)。也就是說(shuō),學(xué)習(xí)
    發(fā)表于 06-26 14:25

    STM32好找工作,所以學(xué)linux終究是錯(cuò)付了嗎

    STM32的局限性不能說(shuō)STM32不好,只能說(shuō)局限性。STM32最大的局限性就是:它只是個(gè)單片機(jī)。也就是說(shuō),學(xué)習(xí)
    發(fā)表于 07-11 10:46

    孩子學(xué)單片機(jī)的好處

    孩子學(xué)單片機(jī)的好處很多初學(xué)者有這樣的困惑,單片機(jī)初學(xué)者感覺(jué)入門(mén)很難,學(xué)著學(xué)著,就會(huì)產(chǎn)生這樣的疑問(wèn)——自己辛辛苦苦學(xué)習(xí)單片機(jī),將來(lái)有用嗎?單片機(jī)只是一個(gè)工具,重要的還是思想,了自己
    發(fā)表于 07-16 07:05

    學(xué)51單片機(jī)什么好處

    學(xué)51單片機(jī)什么好處?開(kāi)發(fā)板如何選購(gòu)?
    發(fā)表于 07-23 13:32

    到底是學(xué)STM32還是學(xué)嵌入式linux

    01話 題經(jīng)常有大學(xué)生同學(xué)糾結(jié):我到底是學(xué)STM32還是學(xué)嵌入式linux。這個(gè)問(wèn)題很多人都會(huì)有自己的看法,今天我試著從多個(gè)角度,把我了解到的事實(shí)講一下,希望對(duì)大家有所啟發(fā)。STM3202ST
    發(fā)表于 02-07 07:06

    學(xué)stsw-stm32102講解

    學(xué)stsw-stm32102講解,很好的資料下載吧。
    發(fā)表于 01-13 16:08 ?0次下載

    是先學(xué)STM8 還是學(xué)STM32

    是先學(xué)STM8,還是學(xué)STM32
    的頭像 發(fā)表于 03-04 11:05 ?4362次閱讀

    PCBA打樣對(duì)整個(gè)生產(chǎn)什么好處

    PCBA打樣對(duì)于整個(gè)生產(chǎn)來(lái)說(shuō)什么好處?這里長(zhǎng)科順科技給您分析一下。
    發(fā)表于 08-27 09:27 ?928次閱讀

    micropython支持stm32型號(hào)_先學(xué)STM8,還是學(xué)STM32

    STM32之間有些什么差異,包括MCU基本信息、開(kāi)發(fā)難度、以及應(yīng)用場(chǎng)景等。站在客觀的角度來(lái)說(shuō),STM8比STM32學(xué)起來(lái)更容易,C語(yǔ)言功底還不錯(cuò)的朋友,直接上STM32也不是問(wèn)題。從
    發(fā)表于 12-29 19:26 ?0次下載
    micropython支持<b class='flag-5'>stm32</b>型號(hào)_先<b class='flag-5'>學(xué)</b>STM8,還是<b class='flag-5'>學(xué)</b><b class='flag-5'>STM32</b>?

    micropython支持stm32型號(hào)_先學(xué)STM8,還是學(xué)STM32

    朋友問(wèn):我學(xué)習(xí)過(guò)51,接下來(lái)我是先學(xué)習(xí)STM8,還是STM32呢?01寫(xiě)在前面物聯(lián)網(wǎng)STM32入門(mén) - 直播課程 - 創(chuàng)客學(xué)院?www.makeru.com.cn想要明白這個(gè)問(wèn)題,其實(shí)就需要明白
    發(fā)表于 12-31 19:28 ?1次下載
    micropython支持<b class='flag-5'>stm32</b>型號(hào)_先<b class='flag-5'>學(xué)</b>STM8,還是<b class='flag-5'>學(xué)</b><b class='flag-5'>STM32</b>?

    懂精通STM32的含金量嗎?

    懂精通ARM的含金量嗎?懂精通STM32的含金量嗎?不管懂不懂都要懂,趕緊學(xué)
    的頭像 發(fā)表于 04-19 09:13 ?2431次閱讀

    想在STM32 MCU上部署機(jī)器學(xué)習(xí)模型?這份入門(mén)教程,讓學(xué)就會(huì)~

    想在STM32 MCU上部署機(jī)器學(xué)習(xí)模型?這份入門(mén)教程,讓學(xué)就會(huì)~
    的頭像 發(fā)表于 10-18 17:45 ?5702次閱讀
    想在<b class='flag-5'>STM32</b> MCU上部署機(jī)器學(xué)習(xí)模型?這份入門(mén)教程,讓<b class='flag-5'>你</b>一<b class='flag-5'>學(xué)</b>就會(huì)~
    主站蜘蛛池模板: аⅴ天堂 在线 | 国产成人一区二区三中文 | 日韩欧美视频一区 | 午夜男人的天堂 | 欧美综合在线视频 | 欧美成人天天综合天天在线 | 国产精品主播在线观看 | 亚洲图片 欧美色图 | 日本a级精品一区二区三区 日本a级特黄三级三级三级 | 色黄污在线看黄污免费看黄污 | 久久天天躁综合夜夜黑人鲁色 | 一区卡二区卡三区卡视频 | 你懂的亚洲 | 色九九| 手机看片自拍自自拍日韩免费 | 亚洲一区二区影院 | 国产手机免费视频 | 天堂资源最新版在线官网 | 久久久久久久免费 | 亚洲视频一 | 亚洲欧美精品一区二区 | 激情福利视频 | 夜夜爽天天狠狠九月婷婷 | 九九99久久精品影视 | 全日本爽视频在线 | 久久美女精品 | 一级做a爱过程免费视 | 噜噜吧噜噜色 | 2022年国产精品久久久久 | 色综合天天综合网国产人 | 天天做夜夜爱 | 亚洲a毛片| 国产亚洲精品成人a在线 | 午夜视频在线观看一区二区 | 精品欧美小视频在线观看 | 视频一区二区不卡 | 成人夜夜嗨 | 亚洲成年人在线 | 磁力bt种子搜索在线 | 国产午夜a理论毛片在线影院 | 特黄特黄视频 |