1-3ARM_GD32点亮LED灯

简介:

最多可支持 112 个通用 I/O 引脚(GPIO),分别为 PA0 ~ PA15,PB0 ~ PB15,PC0 ~ PC15,PD0 ~ PD15,PE0 ~ PE15,PF0 ~ PF15 和 PG0 ~ PG15,各片上设备用其来实现逻辑输入/输出功能。每个 GPIO 端口有相关的控制和配置寄存器以满足特定应用的需求。外设 GPIO 引 脚上的外部中断在中断/事件控制器(EXIT)中有相关的控制和配置寄存器。 GPIO 端口和其他的备用功能(AFs)共用引脚,在特定的封装下获得最大的灵活性。GPIO 引脚 通过配置相关的寄存器可以用作备用功能输入/输出。每个 GPIO 引脚可以由软件配置为输出(推挽或开漏)、输入、外设备用功能或者模拟模式。每 个 GPIO 引脚都可以配置为上拉、下拉或浮空。除模拟模式外,所有的 GPIO 引脚都具备大电 流驱动能力。

原理图:

案例演示使用寄存器的方式点亮PA8引脚对应的led灯

GPIO寄存器的基地址如下所示:

  1. GPIOA 基地址:0x4001 0800
  2. GPIOB 基地址:0x4001 0C00
  3. GPIOC 基地址:0x4001 1000
  4. GPIOD 基地址:0x4001 1400
  5. GPIOE 基地址:0x4001 1800
  6. GPIOF 基地址:0x4001 1C00
  7. GPIOG 基地址:0x4001 2000
  8. AFIO 基地址:0x4001 0000

查看数据手册可知端口控制寄存器:偏移地址为0x40,PA8端口位于端口控制寄存器1的位置

模式为与配置位如下所示:

寄存器配置参考:

配置位:

模式位:

端口输出控制寄存器:

或运算:有真为真,全假为假
片上外设工作需要配置时钟源:通过寄存器打开时钟源

程序:

cpp 复制代码
#include <stdint.h>
// 基础地址,将16进制数转换为地址:基地址 + 偏移量
#define  GPIOA_CTL1 (*(uint32_t *)(0x40010800 + 0x04))
// 配置
#define  GPIOA_OCTL (*(uint32_t *)(0x40010800 + 0x0C))
// 外设总线控制,时钟使能控制寄存器
#define  RCU_APB2EN (*(uint32_t *)(0x40021000 + 0x18))

static void Delay(uint32_t count)
{
	while (count--);
}

int main(void)
{
	/*使能GPIO的时钟*/
	RCU_APB2EN |= 1 << 2;
	/*配置为推挽输出模式*/
	GPIOA_CTL1 = 0x44444442;
	/*配置为输出高电平*/

	while (1)
	{
		GPIOA_OCTL |= 1 << 8;  //00000000 00000000 00000001 00000000	
		Delay(1000000);
		GPIOA_OCTL &= ~(1 << 8); //11111111 11111111 11111110 11111111
		Delay(1000000);
	}
}
相关推荐
Miuney_MAX3 小时前
【单片机】之HC32F460中断向量选择
单片机·嵌入式硬件
XINVRY-FPGA5 小时前
XC3S1000-4FGG320I Xilinx AMD Spartan-3 SRAM-based FPGA
嵌入式硬件·机器学习·计算机视觉·fpga开发·硬件工程·dsp开发·fpga
猫猫的小茶馆8 小时前
【ARM】ARM的介绍
c语言·开发语言·arm开发·stm32·单片机·嵌入式硬件·物联网
猫猫的小茶馆8 小时前
【PCB工艺】数模电及射频电路基础
驱动开发·stm32·单片机·嵌入式硬件·mcu·物联网·pcb工艺
点灯小铭8 小时前
基于单片机的智能药物盒设计与实现
数据库·单片机·嵌入式硬件·毕业设计·课程设计·期末大作业
梓德原9 小时前
【基础】详细分析带隙型稳压电路的工作原理
单片机·嵌入式硬件·物联网
国科安芯10 小时前
航天医疗领域AS32S601芯片的性能分析与适配性探讨
大数据·网络·人工智能·单片机·嵌入式硬件·fpga开发·性能优化
小李做物联网10 小时前
【物联网毕业设计】60.1基于单片机物联网嵌入式项目程序开发之图像厨房监测系统
stm32·单片机·嵌入式硬件·物联网
森G11 小时前
五、Linux字符设备驱动
linux·arm开发·c++·ubuntu
贝塔实验室11 小时前
新手如何使用Altium Designer创建第一张原理图(三)
arm开发·单片机·嵌入式硬件·fpga开发·射频工程·基带工程·嵌入式实时数据库