野火电子论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 884|回复: 1

求教:寄存器点灯,ODR不修改灯的颜色也能变化

[复制链接]
发表于 2024-3-19 22:01:00 | 显示全部楼层 |阅读模式
将点亮绿色LED的程序进行修改,只改了CRL后,不修改ODR的赋值,灯就直接可以变成红色了。求教这是为什么呢?
#include "stm32f10x.h"
int main(void)
{
       
        //打开GPIOB端口时钟
        RCC_APB2ENR |= (1 << 3);
       
        //设置CRL寄存器控制PB0为通用推挽输出方式
        GPIOB_CRL &= ~(0x0F << (4 * 5));
        GPIOB_CRL |= (1 << 4 * 5);
       
        //通过ODR寄存器给PB0引脚送低电平
        GPIOB_ODR &= ~( 1 << 0);               
}

void SystemInit(void)
{
       
}

QQ截图20240319215907.png
回复

使用道具 举报

发表于 2024-3-19 23:54:45 | 显示全部楼层
本帖最后由 xlzrb 于 2024-3-19 23:57 编辑

设置了PB5为推挽输出,ODR寄存器复位值是0,PB5就是输出的低电平

这一条在这里没有作用

这一条在这里没有作用
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

联系站长|手机版|野火电子官网|野火淘宝店铺|野火电子论坛 ( 粤ICP备14069197号 ) 大学生ARM嵌入式2群

GMT+8, 2024-11-23 01:44 , Processed in 0.107913 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表