STM32单片机入门 寄存器版 跑马灯不亮

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了STM32单片机入门 寄存器版 跑马灯不亮相关的知识,希望对你有一定的参考价值。

#include <stm32f10x.h>
#include "sys.h"
#include "delay.h"
#include "usart.h"

int main(void)

Stm32_Clock_Init(9);
delay_init(72);

RCC->APB2ENR|=1<<3;
RCC->APB2ENR|=1<<6;

GPIOB->CRL&=0XFF0FFFFF;
GPIOB->CRL|=0X00300000;
GPIOB->ODR|=1<<5;

GPIOE->CRL&=0XFF0FFFFF;
GPIOE->CRL|=0X00300000;
GPIOE->ODR|=1<<5;
GPIOB->ODR &= ~(1<<5);

while(1)
GPIOE->ODR|=1<<5;
GPIOB->ODR|=1<<5;
delay_ms(300);
GPIOB->ODR &= ~(1<<5);
GPIOE->ODR &= ~(1<<5);
delay_ms(300);



以上是程序代码,编译能通过不报错,但是下载到板子上没有led灯闪烁!

//delay_ms(300);
//GPIOB->ODR &= ~(1<<5);
//GPIOE->ODR &= ~(1<<5);
//delay_ms(300);
看看led能否被点亮,如果不能,就是你的初始化配置有问题,可找原子的不完全手册。
如果能点亮,delay_ms(300);延时不够,加大一点,比如3000,30000追问

不对,我的是mini开发板。

参考技术A 将I/O口设为推挽输出追问

我的开发板是miniSTM32

参考技术B 配置可能不对追问

我的是miniSTM32,应该怎么配??

追答

控制LED 的端口 要配制成 推挽输出

stm32寄存器版——跑马灯

一。首先头文件LED定义

1 # ifndef __Led_H
2 #define  __Led_H
3 #include "sys.h"
4 #define LED0   PBout(5)  // 
5 #define LED1   PEout(5)
6 void LED_Init(void);
7 #endif

技术图片

 

 技术图片

二  LED.c

3.GPIO_CRL端口配置低寄存器
GPIO_CRH端口配置高寄存器
GPIO_IDR端口输入寄存器
GPIO_ODR端口输出寄存器
GPIO_BSRR端口位设置/清除寄存器
GPIO-BRR端口位清除寄存器
GPIO_LCKR端口配置锁存寄存器

技术图片

每一组CNFy[1:0]和MODEx[1:0]为一组;

技术图片

 

 

 

#include LED.h
void LED_Init()
{
   RCC->APB2ENR|=1<<3;              //使能PORTB
   RCC->APB2ENR|=1<<6;             //使能PORTE

   GPIOB->CRL&=0XFF0FFFFF;       //清0  
   GPIOB->CRL|=0X00300000;      //PB.5推挽输出  3->0011
    GPIOB->ODR|=1<<5;             //.PBS输出高

   GPIOE->CRL&=0XFF0FFFFF;       //清0
   GPIOE->CRL|=0X00300000;      //PE.5推挽输出
    GPIOE->ODR|=1<<5;             //.PES输出高


}

清0操作:&=把要赋值的那位写0,其他写1;

三.main 函数

 

         

#include "delay.h"
#include "sys.h"
#include  "led.h"
main()
{
  Stm32_Clock_Init(9);   //系统时钟设置
  delay_init (72);            //延时初始化
  LED_Init();                 //LED连接的硬件接口
   while(1)
   {
       LED1=1;LED0=0;
        delay_ms(300);
        LED1=0;LED0=1;
        delay_ms(300);
   }
}

 

以上是关于STM32单片机入门 寄存器版 跑马灯不亮的主要内容,如果未能解决你的问题,请参考以下文章

STM32F103五分钟入门系列定时器中断

正点原子STM32(基于HAL库)2

STM32编程怎么入门,聊聊我的入门经历

STM32之FIFO(先入先出寄存器)理解

STM32单片机GPIO口配置问题

stm32单片机按键检测io口应该怎么设置