学习日志 姓名:成盛 班级:通卓161
今日学习任务 | 自习并完成LED相关代码 |
今日任务完成情况 | 基本完成 |
今日开发中遇见的问题 | 不明白RCC与各针脚之间的联系 |
今日未解决问题 | 不明白RCC与各针脚之间的联系 |
今日开发收获 | 明白了各寄存器与STM32F429IGT6各引脚之间的关系 |
自我评价 | 一般 |
其他 | 无 |
头文件:
#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
main函数
#include "stm32f4xx.h"
int main(void)
{
int i ,j = 0,k = 0;
RCC_AHB1ENR |= (1 << 2);
while(1)
{
for(i = 1; i < 5 ; 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 < 8000; k++);
}
GPIOC_ODR =0x0;
}
}
}
void SystemInit(void)
{
}