学习日志

姓名:    王晨晨                   日期:  7.24

今日学习任务

使四个LED灯以跑马灯的形式亮。

今日任务完成情况

已完成

今日开发中出现的问题汇总

今日未解决问题

今日开发收获

AHB1时钟总线

  1. 打开时钟开关
  2. 打开C端口  进行设置  模式
  3. 高电平

自我评价

 刚学有点难。

其它

代码:

main.c

#include "stm32f4xx.h"
int main(void)
{
    int i=0,j=0,k=0;
    
    RCC_AHB1ENR |= (1<<2);
    
    while(1)
    {
        for(i=1;i<=4;i++)
        {
            
            GPIOC_MODER &=~(3<<i*2); 
            GPIOC_MODER |= (1<<i*2);
    
            GPIOC_OTYPER &= ~(1<<i);
    
            GPIOC_OSPEEDR &=~(3<<i*2); 
            GPIOC_OSPEEDR |= (2<<i*2);
    
            GPIOC_ODR |= (1<<i);
            
            for(j=0;j<100;j++)
        {
            for(k=0;k<10000;k++);
        }    
        GPIOC_ODR=0x00;
        }
    }
}
void SystemInit(void)
{
}

stm32f4xx.h

#ifndef _STM32F4XX_H
#define _STM32F4XX_H

#define PERIPH_BASE        (0x40000000)
#define AHB1PERIPH_BASE    (PERIPH_BASE + 0x20000)

#define RCC_BASE           (AHB1PERIPH_BASE + 0x3800)
#define RCC_AHB1ENR        *(unsigned int *)(RCC_BASE + 0x30)

#define GPIOC              (AHB1PERIPH_BASE + 0x800)
#define GPIOC_MODER        *(unsigned int *)(GPIOC + 0x00)
#define GPIOC_OTYPER       *(unsigned int *)(GPIOC + 0x04)
#define GPIOC_OSPEEDR      *(unsigned int *)(GPIOC + 0x08)
#define GPIOC_PUPDR        *(unsigned int *)(GPIOC + 0x0c)
#define GPIOC_ODR          *(unsigned int *)(GPIOC + 0x14)

#endif
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值