沁恒ch32V208處理器開發(三)GPIO控制

目錄

GPIO功能概述

CH32V2x 微控制器的GPIO 口可以配置成多種輸入或輸出模式,內置可關閉的上拉或下拉電阻,可以配置成推挽或開漏功能。GPIO 口還可以復用成其他功能。端口的每個引腳都可以配置成以下的多種模式之一:

		1	浮空輸入 2	上拉輸入 3	下拉輸入 4	模擬輸入 5	開漏輸出 6	推挽輸出 7	復用功能的輸入和輸出

內部結構圖如下:
://img-blog.csdnimg.cn/479f410fc2924365b37164a2be565cc2.png)
可以看出,IO 口內部可分為輸入驅動模塊1和輸出驅動模塊2。其中輸入驅動有弱上下拉電阻可選,可連接到 AD 等模擬輸入的外設;如果輸入到數字外設,就需要經過一個 TTL 施密特觸發器,再連接到 GPIO 輸入寄存器或其他復用外設。而輸出驅動有一對 MOS 管,可通過配置上下的 MOS 管是否使能來將 IO 口配置成開漏或推挽輸出;輸出驅動內部也可以配置成由 GPIO 控制輸出還是由復用的其他外設控制輸出。

GPIO寄存器

為了實現上述對端口的靈活配置,處理器設置了一系列寄存器來實現上述功能:
(1)配置輸入相關的寄存器
端口輸入寄存器(GPIOx_INDR)
GPIO 配置寄存器低位(GPIOx_CFGLR)
GPIO 配置寄存器高位(GPIOx_CFGHR)

(2)配置輸出相關的寄存器
端口輸出寄存器(GPIOx_OUTDR)
GPIO 配置寄存器低位(GPIOx_CFGLR)
GPIO 配置寄存器高位(GPIOx_CFGHR)
(3)復位和鎖定寄存器
端口復位寄存器(GPIOx_BCR)
配置鎖定寄存器(GPIOx_LCKR)
(4)AFIO 寄存器
事件控制寄存器(AFIO_ECR)
重映射寄存器 (AFIO_PCFR1) 和(AFIO_PCFR2)
外部中斷配置寄存器 (AFIO_EXTICR1、AFIO_EXTICR2、AFIO_EXTICR3、AFIO_EXTICR4)

GPIO實現LED閃爍燈

以PA0接LED燈為例,實現LED燈的間隔500ms閃爍功能,代碼實現如下:

LED所在GPIO端口的初始化:

void GPIO_Toggle_INIT(void)
{
GPIO_InitTypeDef GPIO_InitStructure = {0};

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);

}

Main功能實現

int main(void)
{
u8 i = 0;

NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
printf("GPIO Toggle TEST\r\n");
GPIO_Toggle_INIT();
while(1)
{Delay_Ms(500);GPIO_WriteBit(GPIOA, GPIO_Pin_0, (i == 0) ? (i = Bit_SET) : (i = Bit_RESET));
}

}

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/37409.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/37409.shtml
英文地址,請注明出處:http://en.pswp.cn/news/37409.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

AMEYA360:DNB1101大唐恩智浦工規級電池管理芯片

大唐恩智浦作為全球領先的半導體供應商,一直致力于為全球客戶提供高質量的解決方案。在電池管理芯片領域,大唐恩智浦推出的DNB1101可謂是一款工規級的電池管理芯片,其卓越的性能和可靠性成為市場上備受全球領先的半導體供應商,一直…

c#編碼技巧(十四):全面總結delegate、Func委托的寫法演變

delegate委托對于初學者來說不太好理解。 按筆者的經驗,delegate本質是函數指針,可以把它理解為某一類方法的入口,把他翻譯為:“長得像XXX的函數方法(入參是什么、返回值是什么)”可能更容易理解。 以下示例…

2023杭電多校第7場M題-M. Minimal and Maximal XOR Sum

題目鏈接:csoj | M. Minimal and Maximal XOR Sum (scnu.edu.cn) 解題思路: 最小值:每次操作的區間長度為2,即交換兩個相鄰數,每次異或2(10),故最小值肯定為2(10)或0(00),如果是偶排序最小值是…

Java接口壓力測試—如何應對并優化Java接口的壓力測試

導言 在如今的互聯網時代,Java接口壓力測試是評估系統性能和可靠性的關鍵一環。一旦接口不能承受高并發量,用戶體驗將受到嚴重影響,甚至可能導致系統崩潰。因此,了解如何進行有效的Java接口壓力測試以及如何優化接口性能至關重要…

SpringBoot復習:(48)RedisAutoConfiguration自動配置類

RedisAutoConfiguration類代碼如下: 可以看到在這個類中配置了2個bean: redisTemplate和stringRedisTemplate. 而它通過EnableConfigurationProperties(RedisProperties.class)注解,把配置文件中配置的Redis相關的信息引入進來了,RedisPrope…

安裝Linux操作系統CentOS 6詳細圖文步驟

為滿足業務對Linux操作系統部署的要求,本文檔主要提供CentOS 6操作系統的最小化安裝和基本配置, 安裝本系統建議最少1GB內存和2GB磁盤空間。 1、 使用光盤或者掛載ISO鏡像,在出現如下圖形界面時選擇【Install or upgrade an existing system】并按Ent…

CLickhouse核心特性

目錄 CLickhouse核心特性 1 完備的DBMS功能 2 列式存儲與數據壓縮 3 向量化執行引擎 4 關系模型與SQL查詢 5 多樣化的表引擎 6 多線程與分布式 7 多主架構 8 在線查詢 9 數據分片與分布式查詢 Clickhouse適用場景 Clickhouse不適用場景 Clickhouse名稱含義 CLickh…

P8642 [藍橋杯 2016 國 AC] 路徑之謎

[藍橋杯 2016 國 AC] 路徑之謎 題目描述 小明冒充 X X X 星球的騎士,進入了一個奇怪的城堡。 城堡里邊什么都沒有,只有方形石頭鋪成的地面。 假設城堡地面是 n n n\times n nn 個方格。如圖所示。 按習俗,騎士要從西北角走到東南角。 …

C/C++中const關鍵字詳解

為什么使用const?采用符號常量寫出的代碼更容易維護;指針常常是邊讀邊移動,而不是邊寫邊移動;許多函數參數是只讀不寫的。const最常見用途是作為數組的界和switch分情況標號(也可以用枚舉符代替),分類如下:…

音視頻 vs2017配置FFmpeg

vs2017 ffmpeg4.2.1 一、首先我把FFmpeg整理了一下&#xff0c;放在C盤 二、新建空項目 三、添加main.cpp&#xff0c;將bin文件夾下dll文件拷貝到cpp目錄下 #include<stdio.h> #include<iostream>extern "C" { #include "libavcodec/avcodec.h&…

【Docker】使用 Docker Registry 搭建自己的 Docker 鏡像倉庫

使用 Docker Registry 搭建自己的 Docker 鏡像倉庫 在使用 Docker 進行應用程序的開發和部署時&#xff0c;使用 Docker 鏡像倉庫是一個很好的實踐。它允許集中存儲和管理 Docker 鏡像&#xff0c;方便團隊協作和版本控制。在本文中&#xff0c;將介紹如何使用 Docker Registr…

Nginx隨筆

Nginx下載鏈接 安裝命令&#xff1a; apt update apt install nginx 一、基礎命令&#xff08;Ubuntu&#xff09; 1、在全局 nginx -t //檢查Nginx的配置文件是否有錯 systemctl start nginx //啟動Nginx systemctl stop nginx //停止Nginx systemctl status nginx //查…

【數據結構與算法——TypeScript】圖結構(Graph)

【數據結構與算法——TypeScript】 圖結構(Graph) 認識圖結構以及特性 什么是圖? 在計算機程序設計中&#xff0c;圖結構 也是一種非常常見的數據結構。 但是&#xff0c;圖論其實是一個非常大的話題 認識一下關于圖的一些內容 圖的抽象數據類型一些算法實現。 什么是圖?…

jmeter獲取mysql數據

JDBC Connection Configuration Database URL: jdbc:mysql:// 數據庫地址 /庫名 JDBC Driver class&#xff1a;com.mysql.jdbc.Driver Username&#xff1a;賬號 Password&#xff1a;密碼 JDBC Request 字段含義 字段含義 Variable Name Bound to Pool 數據庫連接池配置…

使用vue3 + ts + vite + v-md-editor 在前端頁面預覽markdown文件

1.效果預覽 2. 依賴包安裝 yarn add kangc/v-md-editornext v-md-editor中文官網&#xff1a;https://code-farmer-i.github.io/vue-markdown-editor/zh/ v-md-editor分為4種組件&#xff1a; 輕量版編輯器進階版編輯器預覽組件html預覽組件 對UI組件庫頁面&#xff0c;我只需…

問道管理:縮量小幅上漲說明什么?

股市里面&#xff0c;股票價格上漲或跌落都是常見現象。可是關于那些在商場上尋求收益的出資者來說&#xff0c;他們需要對每一個股市中的價格動搖有深化的了解&#xff0c;以便做出更正確的出資決策。最近&#xff0c;出資者們發現商場縮量小幅上漲的現象時有發生&#xff0c;…

Jmeter壓測實戰:Jmeter二次開發之自定義函數

目錄 1 前言 2 開發準備 3 自定義函數核心實現 3.1 新建項目 3.2 繼承實現AbstractFunction類 3.3 最終項目結構 4 Jmeter加載擴展包 4.1 maven構建配置 4.2 項目打包 4.3 Jmeter加載擴展包 5 自定義函數調用調試 5.1 打開Jmeter函數助手&#xff0c;選擇自定義函數…

clickhouse 刪除操作

OLAP 數據庫設計的宗旨在于分析適合一次插入多次查詢的業務場景&#xff0c;市面上成熟的 AP 數據庫在更新和刪除操作上支持的均不是很好&#xff0c;當然 clickhouse 也不例外。但是不友好不代表不支持&#xff0c;本文主要介紹在 clickhouse 中如何實現數據的刪除&#xff0c…

單鏈表相關操作(插入,刪除,查找)

通過上一節我們知道順序表的優點&#xff1a; 可隨機存儲&#xff08;O(1)&#xff09;&#xff1a;查找速度快 存儲密度高&#xff1a;每個結點只存放數據元素&#xff0c;而單鏈表除了存放數據元素之外&#xff0c;還需存儲指向下一個節點的指針 http://t.csdn.cn/p7OQf …

【2023年11月第四版教材】《第4章-信息系統管理(合集篇)》

第4章-信息系統管理之管理方法&#xff08;第四版新增章節&#xff09;&#xff08;第一部分&#xff09; 章節說明1 管理方法1.1 信息系統四個要素1.2 信息系統四大領域1.3 信息系統戰略三角1.4 信息系統架構轉換1.5 信息系統體系架構1.6 信息系統運行1.7 運行和監控1.8 管理和…