姓名: 王晨晨 日期: 7.24
今日学习任务
使四个LED灯以跑马灯的形式亮。
今日任务完成情况
已完成
今日开发中出现的问题汇总
无
今日未解决问题
无
今日开发收获
AHB1时钟总线
- 打开时钟开关
- 打开C端口 进行设置 模式
- 高电平
自我评价
刚学有点难。
其它
代码:
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