苏嵌学习日志11

学习日志

姓名:唐小玲 日期:2018.7.24

 

 

 

今日学习任务

 

  1. 了解STM32单片机的基本理论知识,安装环境,
  2. 了解相关寄存器
  3. 用寄存器点亮4个LED灯

 

日任务完成情况

 

(详细说明本日任务是否按计划完成,开发的代码量)

均已完成。

 

日开发中出现的问题汇总

 

初次接触STM32系列的单片机,有点懵,此单片机管脚过多,功能复杂,编程有点困难,有点复杂。

 

日未解决问题

 

 

 

日开发收获

 

  1. STM32的命名方法
  2. 如何分配原理图引脚
  3. 如何寻找引脚的功能说明
  4. 数据手册中对引脚的功能定义
  5. 学习STM32的方法
  6. 点亮LED灯的方法

 

自我评价

(是否按开发规范完成既定任务,需要改进的地方,与他人合作效果等)

一些简单的练习能够做出,但是有一些小知识点遗忘了,不够熟练,需要多多实践练习!

 

 

作业

1.使四个灯都点亮

#include "stm32f4xx1.h"

 

int main(void)

{

RCC_AHB1ENR |= (1<<2);

 

GPIOC_MODER &= ~(3<<2);

GPIOC_MODER |= (1<<(2*1));

 

GPIOC_OTYPER &= ~(1<<1);

 

GPIOC_OSPEEDR &= ~(3<<2);

GPIOC_OSPEEDR |= (2<<2);

 

GPIOC_ODR   |= (1<<1);

 

GPIOC_MODER &= ~(3<<(2*2));

GPIOC_MODER |= (1<<(2*2));

 

GPIOC_OTYPER &= ~(1<<2);

 

GPIOC_OSPEEDR &= ~(3<<(2*2));

GPIOC_OSPEEDR |= (2<<(2*2));

 

GPIOC_ODR   |= (1<<2);

 

GPIOC_MODER &= ~(3<<(2*3));

GPIOC_MODER |= (1<<(2*3));

 

GPIOC_OTYPER &= ~(1<<3);

 

GPIOC_OSPEEDR &= ~(3<<(2*3));

GPIOC_OSPEEDR |= (2<<(2*3));

 

GPIOC_ODR   |= (1<<3);

 

GPIOC_MODER &= ~(3<<(2*4));

GPIOC_MODER |= (1<<(2*4));

 

GPIOC_OTYPER &= ~(1<<4);

 

GPIOC_OSPEEDR &= ~(3<<(2*4));

GPIOC_OSPEEDR |= (2<<(2*4));

 

GPIOC_ODR   |= (1<<4);

while(1);

}

 

void SystemInit(void)

{

}

 

2.4个LED灯实现流水灯

#include "stm32f4xx.h"

 

int main(void)

{

     RCC_AHB1ENR |= 1 << 2;

 

     GPIOC_MODER &= ~(3 << 2);

     GPIOC_MODER |= ((1 << (2 * 12)) | (1 << (2 * 13)) | (1 << (2 * 14)) | (1 << (2 * 15)));

  

     GPIOC_OTYPER &= ~(1 << 1);

     GPIOC_OTYPER |=((0 << (13)) | (0 << (13)) | (0 << (14)) | (0 << (15)));  

 

     GPIOC_OSPEEDR &= ~(3 << 2);

     GPIOC_OSPEEDR |=((1 << (13 * 2)) | (1 << (2 * 13)) | (1 << (2 * 14)) | (1 << (2 * 15)));

 

     GPIOC_ODR &= ~(1 << 1);

     GPIOC_ODR |= ((1 << (2 * 12)) | (1 << (2 * 13)) | (1 << (2 * 14)) | (1 << (2 * 15)));  

}

 

void SystemInit(void)

{

}

 

 

 

猜你喜欢

转载自blog.csdn.net/qq_36974603/article/details/81192845
今日推荐