打印
[STM32F4]

编写适当的STM32固件程序来让PA6和PB3引脚交替闪烁

[复制链接]
105|3
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
<font color="#000000">在Proteus中,可以使用STM32F103R6模拟器,通过编写适当的STM32固件程序来让PA6和PB3引脚交替闪烁。</font>
在Proteus中,可以使用STM32F103R6模拟器,通过编写适当的STM32固件程序来让PA6和PB3引脚交替闪烁。

你可以将其加载到STM32F103R6模拟器中


示例程序

#include "stm32f10x.h"

void Delay(uint32_t time) {
    while(time--);
}

int main(void) {
    // 启用GPIOA和GPIOB的时钟
    RCC->APB2ENR |= RCC_APB2ENR_IOPAEN | RCC_APB2ENR_IOPBEN;

    // 配置PA6和PB3为推挽输出模式
    GPIOA->CRL &= ~GPIO_CRL_CNF6;
    GPIOA->CRL |= GPIO_CRL_MODE6;

    GPIOB->CRL &= ~GPIO_CRL_CNF3;
    GPIOB->CRL |= GPIO_CRL_MODE3;

    while(1) {
        // 置位PA6,清零PB3
        GPIOA->BSRR = GPIO_BSRR_BS6;
        GPIOB->BSRR = GPIO_BSRR_BR3;

        Delay(1000000); // 延时

        // 置位PB3,清零PA6
        GPIOB->BSRR = GPIO_BSRR_BS3;
        GPIOA->BSRR = GPIO_BSRR_BR6;

        Delay(1000000); // 延时
    }
}




这个简单的程序配置了PA6和PB3为推挽输出,然后让它们交替置位和清零,通过延时来控制频率。
可以将此程序编译为固件,并加载到Proteus中的STM32F103R6模拟器中进行仿真。确保将模拟器的时钟速度设置得足够高,以便观察到LED的明显闪烁。



使用特权

评论回复
沙发
问天少年| | 2024-2-29 17:04 | 只看该作者
这是引脚连接的LED交替闪烁

使用特权

评论回复
板凳
heisexingqisi| | 2024-2-29 22:19 | 只看该作者
比较原始的编程方式。

使用特权

评论回复
地板
heisexingqisi| | 2024-2-29 22:19 | 只看该作者
现在都是用库函数了。你这直接操作寄存器呢。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

44

主题

569

帖子

1

粉丝