普中开源电子分享网

 找回密码
 立即注册
搜索
查看: 3928|回复: 3

[已解决] STM32第一个电灯程序

 关闭 [复制链接]

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
发表于 2019-12-31 22:08:00 | 显示全部楼层 |阅读模式
买的STM32F4的板子,今天照着视频打了第一个程序点灯,但是没有现象,然后又自己改程序还是没有现象。是用普中自动下载软件 通过USB下载的hex文件,不知道在哪里出了问题,求教大神。
然后下面是程序:
视频的:
#include "stm32f4xx.h"

void SystemInit()
{

}

void delay( unsigned int i)
{
   while(i--);
}
int main()
{
        RCC_AHB1ENR |=1<<5;
        GPIOF_MODER = (1<<(2*9));
        while(1)
        {
                GPIOF_BSRR = (1<<(16+9));
                delay(0xFFFF);
                GPIOF_BSRR = (1<<9);
                delay(0xFFFF);
        }

自己的:
头文件:
#define AHB1PERIPH_BASE  ((unsigned int)0x40000000+ 0x00020000)

#define GPIOF_BASE (AHB1PERIPH_BASE + 0x1400)
#define GPIOF_MODER *(unsigned int *)(GPIOF_BASE+0x00)
#define GPIOF_BSRR  *(unsigned int *)(GPIOF_BASE+0x18)
#define GPIOF_OSPEEDR *(unsigned int *)(GPIOF_BASE + 0x08)
#define GPIOF_OTYPER  *(unsigned int *)(GPIOF_BASE + 0x04)       
#define GPIOF_PUPDR   *(unsigned int*)(GPIOF_BASE + 0xc)
#define RCC_BASE   (AHB1PERIPH_BASE +0x3800)
#define RCC_AHB1ENR *(unsigned int *)(RCC_BASE + 0x30)
       

void gpio_init()
{
        RCC_AHB1ENR |= 1<<5;
        GPIOF_MODER &= ~(0xF<<18);
        GPIOF_MODER |= (0x5<<18);
       
        GPIOF_OTYPER &= ~(3<<9);
        GPIOF_PUPDR  &= ~(0xF<<18);
        GPIOF_PUPDR  |= (0x5<<18);
        GPIOF_OSPEEDR &= ~(0xF<<18);
  
        GPIOF_BSRR = (3<<(9+16));
}
void gpio_set()
{
  GPIOF_BSRR &= ~(3<<(9+16));
        GPIOF_BSRR |= (3<<9);
}
void gpio_reset()
{
        GPIOF_BSRR &=  ~(3<<9);
  GPIOF_BSRR |=(3<<(9+16));
}

main.c文件:
#include "stm32f4xx.h"


void SystemInit()
{

}

void delay(int i)
{
        if(i<0)
                i=i*-1;
        while(i--);               
}

int main()
{
       
        gpio_init();
       
        while(1)
        {
                gpio_set();
                delay(5000);
                gpio_reset();
                delay(5000);
        }
}
回复

使用道具 举报

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2019-12-31 22:08:25 | 显示全部楼层
求大神指教
回复 支持 反对

使用道具 举报

6

主题

193

帖子

826

积分

超级版主

Rank: 8Rank: 8

积分
826
发表于 2020-1-2 08:58:02 | 显示全部楼层
可以参考下例程

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

2

主题

4

帖子

16

积分

新手上路

Rank: 1

积分
16
 楼主| 发表于 2020-1-2 14:26:36 | 显示全部楼层
loyalboy 发表于 2020-1-2 08:58
可以参考下例程

谢谢大神,我改了一下延迟时间就可以了,就是追问一下,为什么大神给的代码,和视频给的代码都不要设置输出类型,我设成了推挽,等也会亮,还有就是那个速度寄存器,也不需要设置么
,还有上下拉?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

Archiver|手机版|小黑屋|普中开源电子分享网 粤ICP备16123577号-2

GMT+8, 2024-4-26 09:18 , Processed in 0.096488 second(s), 31 queries .

Powered by 论坛搭建 X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表