硬汉嵌入式论坛

 找回密码
 立即注册
查看: 4019|回复: 3
收起左侧

[有问必答] BSRR寄存器操作

[复制链接]

5

主题

9

回帖

24

积分

新手上路

积分
24
发表于 2021-5-24 16:38:25 | 显示全部楼层 |阅读模式
举例子,V5开发板跑马灯例程对BSRR寄存器操作不明白的地方
LED1对应IO口为PI10
程序代码如下
/*
*********************************************************************************************************
*        函 数 名: bsp_LedOn
*        功能说明: 点亮指定的LED指示灯。
*        形    参:  _no : 指示灯序号,范围 1 - 4
*        返 回 值: 无
*********************************************************************************************************
*/
void bsp_LedOn(uint8_t _no)
{
        _no--;

        if (_no == 0)
        {
                GPIO_PORT_LED1->BSRR = (uint32_t)GPIO_PIN_LED1 << 16U;
        }
        else if (_no == 1)
        {
                GPIO_PORT_LED2->BSRR = (uint32_t)GPIO_PIN_LED2 << 16U;
        }
        else if (_no == 2)
        {
                GPIO_PORT_LED3->BSRR = (uint32_t)GPIO_PIN_LED3 << 16U;
        }
        else if (_no == 3)
        {
                GPIO_PORT_LED3->BSRR = (uint32_t)GPIO_PIN_LED4 << 16U;
        }
}
认为操作有问题,点亮不了对应的灯
测试程序


测试程序

测试程序
QQ截图20210524162605.png
回复

使用道具 举报

5

主题

9

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2021-5-24 16:41:18 | 显示全部楼层
希望硬汉老师,简单讲解一下,我哪里理解存在问题。。。
回复

使用道具 举报

1万

主题

7万

回帖

11万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
117563
QQ
发表于 2021-5-25 08:14:12 | 显示全部楼层
南北雁 发表于 2021-5-24 16:41
希望硬汉老师,简单讲解一下,我哪里理解存在问题。。。

了解下GPIO_PIN最原始的定义
回复

使用道具 举报

5

主题

9

回帖

24

积分

新手上路

积分
24
 楼主| 发表于 2021-5-25 08:49:36 | 显示全部楼层
谢谢硬汉老师,清楚明白了,贴上GPIO_PIN原始定义
#define GPIO_PIN_10                ((uint16_t)0x0400)  /* Pin 10 selected   */
回复

使用道具 举报

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

本版积分规则

QQ|小黑屋|Archiver|手机版|硬汉嵌入式论坛

GMT+8, 2025-8-14 16:13 , Processed in 0.039768 second(s), 27 queries .

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2023, Tencent Cloud.

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