• STM32学习第一个程序,LED灯


    板子很早自己就焊接好了,一直没有动他。

    现在看STM32挺热的,也想学习下。

    淘宝上看到一个卖STM32开发板的,正点原子,他为自己卖的STM32学习板写了一个400多页的文档。

    呵呵,我这个菜鸟,也正是看他的文档,一步一步学习的。

    也给他打一个广告吧。他有一个自己的论坛http://www.openedv.com

    希望想学习STM32的可以去那里看看。他的文档确实不错。

    文档下载地址:http://www.openedv.com/posts/list/3.htm

    废话说完了,来正经的了。

    ----------------------------

    我的板子和他的不一样,所以我的程序都是经过他的程序修改的。详细说明,他的文档说的也经较清楚了,我就主要说说我在修改程序中,碰到的一些地方。

    Alientek SMT32开发板   跑马灯实验http://www.openedv.com/posts/list/18.htm

    这里有程序源文件,可以自行下载。

    原程序中,LED接在PA8,PD2中。我的是接在PA4,PA5上。

    所以这里我只要修改led.c,led.h文件。

    修改会的led.c

    #include <stm32f10x_lib.h>      
    #include "led.h"
    //Mini STM32开发板
    //LED驱动代码            
    //正点原子@ALIENTEK
    //2010/5/27
    //Modify:leo
    //date:2010-12-31
    //cepark STM32  
    // V1.0
    //初始化PA8和PD2为输出口.并使能这两个口的时钟           
    //LED IO初始化
    void LED_Init(void)
    {
        RCC->APB2ENR|=1<<2;    //使能PORTA时钟           
    //    RCC->APB2ENR|=1<<5;    //使能PORTD时钟   
        GPIOA->CRL&=0XFF00FFFF;
        GPIOA->CRL|=0X00330000;//PA4,PA5 推挽输出       
        GPIOA->ODR|=(1<<4)|(1<<5);      //PA4 输出高

    }

    这里我修改了GPIOA->CRL&=0xff00ffff;

    这里说下,STM32的GPIO口可以配置成8种模式。主要控制是CRL,CRH。详细的可以参看官方文档。

    修改后的LED.H文档

    #ifndef __LED_H
    #define __LED_H    
    #include "sys.h"
    //Mini STM32开发板
    //LED驱动代码            
    //正点原子@ALIENTEK
    //2010/5/27
    //Modify:hnrain
    //date:2010-12-31
    //cepark STM32  
    //LED端口定义
    #define LED0 PAout(4)// PA4
    #define LED1 PAout(5)// PA5   

    void LED_Init(void);//初始化                            
    #endif

    可以这样定义:#define LED0 PAout(4)// PA4  不太明白,等下研究下。

    大家学习中,还是要多看看寄存器,寄存器多没有关系,多看几次,关系理顺了就好了。

    呵呵,程序修改成功了,不代理你就会了。再继续研究了。

  • 相关阅读:
    linux 安装ssh
    Pwn环境安装
    18年最后一天
    绘制分形树
    python之绘制图形库turtle(转)
    turtle绘制多个五角星
    Flask的基本操作知识
    pycharm-professional-2018.2.3 汉化激活安装过程
    Could not find a version that satisfies the requirement flask
    豆瓣即将上映电影爬虫作业
  • 原文地址:https://www.cnblogs.com/hnrainll/p/1923450.html
Copyright © 2020-2023  润新知