qidao123.com技术社区-IT企服评测·应用市场

标题: 嵌入式GPIO 实行(流水灯程序,八段数码管显示程序) [打印本页]

作者: 数据人与超自然意识    时间: 2025-5-6 04:35
标题: 嵌入式GPIO 实行(流水灯程序,八段数码管显示程序)
浮空输入、上拉输入、下拉输入、模拟输入、
   开漏输出、推挽输出、推挽复用、开漏复用     每组GPIO端口的寄存器包罗:      两个32位配置寄存器(GPIOx_CRL ,GPIOx_CRH) ,      两个32位数据寄存器 (GPIOx_IDR和GPIOx_ODR),      一个32位置位/ 复位寄存器(GPIOx_BSRR),      一个16位复位寄存器(GPIOx_BRR),      一个32位锁定寄存器(GPIOx_LCKR)。     每个I/O端口位可以自由编程,然而  I/O端口寄存器必须按32位字被访问  (不答应半字或字节访问) 。  

CRL 0-7
CRH 8-15
IDR 0-15 输入 只读
ODR 0-15 输出 控制上拉/下拉电阻的使能

复位&=(清0 看0的位,别的位置填F)
置为|= (置1 看1的位 别的位置填0)



   如:设置PORTC的11位为上拉输入,12位为推挽输出:      GPIOC->CRH &= 0xFFF00FFF;      GPIOC->CRH |= 0x00038000;      GPIOC->ODR = 1<<11;    引脚模式配置方式PC11上拉输入CNF11=10 + ODR=1PC12推挽输出CNF12=00 + MODE12=1  
  

  

  
  流水灯
  【主要是CRL/CRH 配置 一般为0011 推挽输出50HZ 及ODR】
     电路中有    L0,L1,L2,L3,L4,L5,L6,L7    共八个发光二极管,当引脚    LED_SEL(PB4)   输入为    1   ,对        于    A   、   B   、   C   、   D   、   E   、   F   、   G   、   H(PE8-15)   引脚,只要输入为    1   ,则点亮相连接的发光二极管。        A~H    引脚连接    STM32F108VB    芯片的    PE8~PE15   ,程序初始化时,对其进行初始设置。引        脚    LED_SEL    为    1    时,发光二极管才工作,否则右边的数码管工作。   注意:   LED_SEL    连接于    PB4   

  GPIOB->CRL &= 0xFFF0FFFF;  // 清零 PB4 的配置位(CNF4、MODE4)
GPIOB->CRL |= 0x00030000;  // 设置 PB4 为推挽输出(50MHz) 
GPIOB->ODR |= 0x00000010;  // 初始置 PB4=1(默认点亮 LED) 1<<4 = 0x00000010
  
  GPIOE->ODR &= ~(0xff << 8);  // 清除PE8-PE15(熄灭所有LED)
LED_SEL = 1;                 // 使能LED控制信号
light = 0x01;                // 初始化light(从PE8开始)
  

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。




欢迎光临 qidao123.com技术社区-IT企服评测·应用市场 (https://dis.qidao123.com/) Powered by Discuz! X3.4