学习日志 姓名: 祖东科 日期:2018.7.24
今日学习任务 | 用寄存器点亮四个灯,形成彩灯 |
今日任务完成情况 | 本日任务按照老师要求完成 |
今日开发中出现的问题汇总 | delay函数延时不够准确 |
今日未解决问题 | 基本解决 |
今日开发收获 | STM32F429IG的基本理论知识,对环境的使用方法的掌握,固件库的如何使用,对开发板的操作和结合代码的理解去控制开发板实现各种指令。 |
自我评价 | 按老师的要求完成所有代码的编写,实际操作有些问题但都已经解决,对开发板的使用和操作不熟练,参考手册也不理解。和别人相互讨论,获得很多知识。 |
其他 | 无 |
头文件 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
main函数
#include "stm32f4xx.h"
void delay()
{
int x=200,y;
while(x--)
{
for(y=0;y<1000;y++);
}
}
int main(void)
{
int i;
RCC_AHB1ENR|=(1<<2);
GPIOC_OTYPER&=~(1<<1);
GPIOC_OSPEEDR&=~(3<<2);
GPIOC_OSPEEDR|=(2<<2);
while(1)
{
for(i=1;i<5;i++)
{
GPIOC_MODER&=~(3<<2*i);
GPIOC_MODER|=(1<<2*i);
GPIOC_ODR|=(1<<1*i);
delay();
}
}
}
void SystemInit(void)
{
}