chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

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

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

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

基于CH32V103系列MCU點(diǎn)亮LED

CHANBAEK ? 來(lái)源:CSDN-借過(guò)風(fēng)景 ? 作者:CSDN-借過(guò)風(fēng)景 ? 2023-01-31 12:01 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

簡(jiǎn)介

CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開(kāi)源指令集設(shè)計(jì)。 片上集成了時(shí)鐘安全機(jī)制、多級(jí)電源管理、通用DMA控制器。 此系列具有1路USB2.0主機(jī)/設(shè)備接口、多通道12位ADC轉(zhuǎn)換模塊、多通道TouchKey、多組定時(shí)器、多路IIC/USART/SPI接口等豐富的外設(shè)資源。

本章通過(guò)點(diǎn)亮LED作為CH32V103系列MCU應(yīng)用開(kāi)發(fā)的第一個(gè)教程,其LED燈控制使用到GPIO外設(shè)的基本輸出功能,本章將通過(guò)點(diǎn)亮LED對(duì)CH32V103的GPIO進(jìn)行基本的學(xué)習(xí)了解。

1、GPIO簡(jiǎn)介及其庫(kù)函數(shù)介紹

GPIO,全稱(chēng)為通用輸入輸出端口,其可與外部設(shè)備連接實(shí)現(xiàn)MCU與外部設(shè)備的通訊、控制、信號(hào)采集等功能。 本教程即通過(guò)CH32V103的GPIO與LED連接,實(shí)現(xiàn)MCU對(duì)LED的輸出控制。 關(guān)于CH32V103 GPIO的具體介紹,可參考CH32V103應(yīng)用手冊(cè)和數(shù)據(jù)手冊(cè)。

進(jìn)行LED點(diǎn)亮程序編寫(xiě)之前,需對(duì)GPIO固件庫(kù)進(jìn)行了解。 GPIO相關(guān)的函數(shù)和定義分布在固件庫(kù)文件ch32v10x_gpio.c和頭文件ch32v10x_gpio.h文件中,LED點(diǎn)亮程序需要調(diào)用GPIO固件庫(kù)文件中某些函數(shù),GPIO庫(kù)函數(shù)相關(guān)函數(shù)如下:

pYYBAGPYkQWAFsB5AACRyIPKIbs216.png

1.1、無(wú)效GPIO_DeInit(GPIO_TypeDef* GPIOx)

功 能:將GPIOx外圍寄存器初始化為其默認(rèn)重置值。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG。

1.2、無(wú)效GPIO_AFIODeInit(無(wú)效)

功 能:將復(fù)用功能(重映射,事件控制與EXTI設(shè)置)重設(shè)為默認(rèn)值。 通俗理解可認(rèn)為此函數(shù)功能為初始化所有的復(fù)用功能。

參 數(shù):無(wú)。

1.3、無(wú)效GPIO_Init(GPIO_TypeDef* GPIOx, GPIO_InitTypeDef* GPIO_InitStruct)

功 能: GPIO初始化函數(shù),根據(jù)GPIO_InitStructure中的指定參數(shù)初始化GPIO外設(shè)寄存器。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_InitStructure為GPIO_InitTypedef類(lèi)型結(jié)構(gòu)體指針,指向包含GPIO外設(shè)配置信息的GPIO_InitTypedef結(jié)構(gòu)體。

1.4、void GPIO_StructInit(GPIO_InitTypeDef* GPIO_InitStruct)

功 能:初始化結(jié)構(gòu)體成員,即用其默認(rèn)值填充每個(gè)GPIO_StructInit成員,包括GPIO_Pin、GPIO_Speed、GPIO_Mode等。

參 數(shù):GPIO_StructInit為指向結(jié)構(gòu)體GPIO_InitTypedef的指針,待初始化。

1.5、uint8_t GPIO_ReadInputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

功 能:讀取指定端口管腳的輸入(0或1)。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_Pin用來(lái)選擇待讀取的端口位。

1.6、uint16_t GPIO_ReadInputData(GPIO_TypeDef* GPIOx)

功 能:讀取指定的GPIO輸入數(shù)據(jù)端口。

參 數(shù):無(wú)。

1.7、uint8_t GPIO_ReadOutputDataBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

功 能:讀取指定端口管腳的輸出(0或1)。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_Pin用來(lái)選擇待讀取的端口位。

1.8、uint16_t GPIO_ReadOutputData(GPIO_TypeDef* GPIOx)

功 能:讀取指定的GPIO輸出數(shù)據(jù)端口。

參 數(shù):無(wú)。

1.9、void GPIO_SetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

功 能:設(shè)置指定的數(shù)據(jù)端口位,可理解為將指定的引腳設(shè)置為高電平。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_Pin用來(lái)選擇待設(shè)置的端口位。

1.10、void GPIO_ResetBits(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

功 能:清除指定的數(shù)據(jù)端口位,可理解為將指定的引腳設(shè)置為低電平。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_Pin用來(lái)選擇待設(shè)置的端口位。

1.11、void GPIO_WriteBit(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, BitAction BitVal)

功 能:設(shè)置或清除指定的數(shù)據(jù)端口位,可理解為將指定的引腳設(shè)置為高電平或低電平。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;GPIO_Pin用來(lái)選擇待設(shè)置的端口位;BitVal為指定待寫(xiě)入的值,該參數(shù)必須取枚舉BitAction的其中一個(gè)值。

1.12、void GPIO_Write(GPIO_TypeDef* GPIOx, uint16_t PortVal)

功 能:向指定的GPIO端口寫(xiě)入數(shù)據(jù)

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;PortVal為待寫(xiě)入端口數(shù)據(jù)寄存器(ODR寄存器)的值。

1.13、void GPIO_PinLockConfig(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin)

功 能:鎖定GPIO管腳配置寄存器。

參 數(shù):GPIOx用來(lái)選擇GPIO外設(shè),取值可為GPIOA-GPIOG;,GPIO_Pin為待鎖定的端口位。

1.14、void GPIO_EventOutputConfig(uint8_t GPIO_PortSource, uint8_t GPIO_PinSource)

功 能:選擇GPIO管腳用作事件輸出

參 數(shù):GPIO_PortSource為選擇用作事件輸出的GPIO端口;GPIO_PinSource為事件輸出的管腳。

1.15、無(wú)效GPIO_EventOutputCmd(功能狀態(tài)新?tīng)顟B(tài))

功 能:使能或失能事件輸出

參 數(shù):NewState為管腳重映射的新?tīng)顟B(tài),該參數(shù)可以取ENABLE或DISABLE。

1.16、無(wú)效GPIO_PinRemapConfig(uint32_t GPIO_Remap,功能狀態(tài)新?tīng)顟B(tài))

功 能:更改指定管腳的映射。

參 數(shù):GPIO_Remap為選擇重映射的管腳; NewState為管腳重映射的新?tīng)顟B(tài),該參數(shù)可以取ENABLE或DISABLE。

1.17、無(wú)效GPIO_EXTILineConfig(uint8_t GPIO_PortSource、uint8_t GPIO_PinSource)

功 能:選擇GPIO管腳用作外部中斷線(xiàn)路。

參 數(shù):GPIO_PortSource為選擇用作外部中斷線(xiàn)源的GPIO端口; GPIO_PinSource為待設(shè)置的外部中斷線(xiàn)路。

2、硬件設(shè)計(jì)

由于本次教程為點(diǎn)亮LED,需用到LED。 開(kāi)發(fā)板上帶有兩個(gè)LED燈(LED1和LED2),用兩根杜邦線(xiàn)分別將LED1和LED2與對(duì)應(yīng)GPIO引腳連接起來(lái),此處連接方式為:

LED1與PA0連接;

LED2與PA1連接。

3、軟件設(shè)計(jì)

LED點(diǎn)亮程序通過(guò)控制CH32V103 GPIO引腳的電平高低實(shí)現(xiàn)LED閃爍,其實(shí)現(xiàn)步驟如下:

定義一個(gè)GPIO_InitTypeDef類(lèi)型結(jié)構(gòu)體,結(jié)構(gòu)體成員包括GPIO_Pin、GPIO_Mode、GPIO_Speed;

使能GPIO時(shí)鐘,否則GPIO引腳不工作,本次實(shí)驗(yàn)使能GPIOA時(shí)鐘;

配置GPIO_InitTypeDef類(lèi)型結(jié)構(gòu)體成員參數(shù),及配置GPIO引腳為對(duì)應(yīng)引腳、GPIO模式為推挽輸出、GPIO口輸出速度為相應(yīng)值;

調(diào)用庫(kù)函數(shù),初始化GPIO;

調(diào)用庫(kù)函數(shù),設(shè)置GPIO引腳輸出電平。

LED點(diǎn)亮程序如下:

pYYBAGPYkQWAY5RNAAAaWBCas2Y354.png

pYYBAGPYkQWAOoegAAB7a2q2wLI961.png

完成led.c和led.h之后,對(duì)其進(jìn)行編譯保存,繼續(xù)對(duì)main函數(shù)進(jìn)行編寫(xiě),main函數(shù)具體代碼如下:

main.c文件

pYYBAGPYkZiANeieAADAmSHcqxU331.png

聲明:本文內(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)投訴
  • 處理器
    +關(guān)注

    關(guān)注

    68

    文章

    19896

    瀏覽量

    235361
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23848

    瀏覽量

    674286
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17984

    瀏覽量

    367195
  • GPIO
    +關(guān)注

    關(guān)注

    16

    文章

    1280

    瀏覽量

    54127
  • RISC-V
    +關(guān)注

    關(guān)注

    46

    文章

    2574

    瀏覽量

    48858
  • ch32
    +關(guān)注

    關(guān)注

    0

    文章

    73

    瀏覽量

    904
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    基于CH32V103系列MCU的ADC采樣設(shè)計(jì)

    CH32V103系列是以青稞V3A處理器為核心的32位通用RISC-V MCU,該處理器是基于RISC-
    的頭像 發(fā)表于 01-31 14:21 ?4872次閱讀
    基于<b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的ADC采樣設(shè)計(jì)

    【RTT大賽作品連載】CH32V103 USBHID鍵盤(pán)鼠標(biāo)

    基于CH32V103實(shí)現(xiàn)了USB HID的鍵盤(pán)鼠標(biāo)功能,提供寫(xiě)好的代碼文件,歡迎fork。
    的頭像 發(fā)表于 11-29 08:49 ?8697次閱讀

    CH32V103數(shù)據(jù)手冊(cè)

    教程基于沁恒32位通用增強(qiáng)型RISC-V架構(gòu)MCU CH32V103,力爭(zhēng)全面分析CH32V103的每個(gè)外設(shè)功能及使用方法,手把手教大家玩轉(zhuǎn)RISC-
    發(fā)表于 07-19 07:55

    系列比如103系列,CH32V103系列CH32F103有哪些區(qū)別?

    系列比如103系列,CH32V103系列CH32F103有哪些區(qū)別?
    發(fā)表于 03-09 10:05

    CH32V103基礎(chǔ)教程1-新建工程

    在進(jìn)行CH32V103相關(guān)外設(shè)應(yīng)用學(xué)習(xí)之前,我們首先使用MounRiver Studio新建一個(gè)工程,以GPIO教程(點(diǎn)亮LED)為例,具體操作步驟如下:第一步:創(chuàng)建LED工程。打開(kāi)
    發(fā)表于 04-13 15:44

    CH32V103基礎(chǔ)教程2-GPIO庫(kù)函數(shù)介紹

    本章通過(guò)點(diǎn)亮LED作為CH32V103系列MCU應(yīng)用開(kāi)發(fā)的第一個(gè)教程,其LED燈控制使用到GPI
    發(fā)表于 04-13 15:52

    CH32V103基礎(chǔ)教程77-USART-指令控制LED

    ,在此不再贅述。 2、硬件設(shè)計(jì)由CH32V103系列MCU的串口1在調(diào)試文件中被用于調(diào)試打印,因此本次教程使用串口2進(jìn)行收發(fā)驗(yàn)證。由CH32V103數(shù)據(jù)手冊(cè)可知,串口2對(duì)應(yīng)引腳為PA2
    發(fā)表于 05-08 15:55

    CH32V103基礎(chǔ)教程78-USART-空閑中斷

    ,在此不再贅述。 2、硬件設(shè)計(jì)由于CH32V103系列MCU的串口1在debug文件中被用于調(diào)試打印,因此本次教程使用串口2進(jìn)行收發(fā)驗(yàn)證。由CH32V103數(shù)據(jù)手冊(cè)可知,串口2對(duì)應(yīng)引腳
    發(fā)表于 05-08 15:57

    RISC-V MCU應(yīng)用開(kāi)發(fā)教程之CH32V103

    教程基于沁恒32位通用增強(qiáng)型RISC-V架構(gòu)MCU CH32V103,力爭(zhēng)全面分析CH32V103的每個(gè)外設(shè)功能及使用方法,手把手教大家玩轉(zhuǎn)RISC-
    發(fā)表于 11-18 16:21 ?18次下載
    RISC-<b class='flag-5'>V</b> <b class='flag-5'>MCU</b>應(yīng)用開(kāi)發(fā)教程之<b class='flag-5'>CH32V103</b>

    通過(guò)CH32V103定時(shí)器中斷控制LED燈閃爍

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開(kāi)源指令集設(shè)計(jì)。 片上集成了時(shí)鐘安全機(jī)制、多級(jí)電
    的頭像 發(fā)表于 01-31 14:24 ?3952次閱讀
    通過(guò)<b class='flag-5'>CH32V103</b>定時(shí)器中斷控制<b class='flag-5'>LED</b>燈閃爍

    基于CH32V103系列MCU的觸摸按鍵檢測(cè)

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開(kāi)源指令集設(shè)計(jì)。片上集成了時(shí)鐘安全機(jī)制、多級(jí)電源
    的頭像 發(fā)表于 01-31 14:53 ?4959次閱讀
    基于<b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>的觸摸按鍵檢測(cè)

    CH32V103系列MCU內(nèi)部FLASH讀寫(xiě)操作方式

    CH32V103系列是以青稞V3A處理器為核心的32位通用MCU,該處理器是基于RISC-V開(kāi)源指令集設(shè)計(jì)。片上集成了時(shí)鐘安全機(jī)制、多級(jí)電源
    的頭像 發(fā)表于 01-31 15:02 ?5222次閱讀
    <b class='flag-5'>CH32V103</b><b class='flag-5'>系列</b><b class='flag-5'>MCU</b>內(nèi)部FLASH讀寫(xiě)操作方式

    ch32v103應(yīng)用教程 ch32v103c8t6兼容 ch32v103c8t6燒錄器

    的應(yīng)用教程以及燒錄器、編程器的介紹。 一、CH32V103應(yīng)用教程 1.硬件連接 首先,我們需要準(zhǔn)備好CH32V103的開(kāi)發(fā)板和一些外圍設(shè)備,如LED燈、按鍵
    的頭像 發(fā)表于 08-22 15:19 ?2943次閱讀

    ch32v103和stm32的區(qū)別

    和stm32。雖然它們共同作為微處理器的代表,但是它們之間還是有很多不同的。下面就詳細(xì)地對(duì)這兩種芯片進(jìn)行比較和解析。 1、基本介紹 CH32V103是一款以ARM結(jié)構(gòu)為基礎(chǔ),具有射頻控制功能,能提供所有常規(guī)的數(shù)字接口的單片機(jī)芯片。其中包含有多種與ARM控制器及AC55XX系列
    的頭像 發(fā)表于 08-22 15:48 ?2039次閱讀

    ch32v103與stm32f103的區(qū)別

    ch32v103與stm32f103的區(qū)別? Ch32v103與STM32f103是兩種不同的芯片,雖然它們都是基于ARM Cortex-M3內(nèi)核的32位微控制器,但它們?cè)谟布渲?、?/div>
    的頭像 發(fā)表于 08-22 15:49 ?3301次閱讀