STM32-跑马灯实验代码分析

来源:本站
导读:目前正在解读《STM32-跑马灯实验代码分析》的相关信息,《STM32-跑马灯实验代码分析》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《STM32-跑马灯实验代码分析》的详细说明。
简介:本文给大家分享了一个STM32-跑马灯实验代码。

工程建立的主要步骤

1.新建3个文件夹:USER、SYSTEM、HARDWARE

2.新建led.c、led.h和test.c

3.在Target目录树上右击Manage Component,新建USER、SYSTEM、HARDWARE,并添加相关C文件(具体见前文MDK使用方法与技巧),跟前面一样HARDWARE组添加led.c文件。

4.在Options for Target ‘Target 1’对话框C/C++选项卡中Include Pathes里添加头文件路径。(这个不可少,否则编译出错,见前文MDK使用方法与技巧,led.h文件不可漏掉)

5.使用SWD方式下载,具体见MDK使用方法与技巧,注意reset and run选项,如果不选此项,程序下载后还要重启,然后才运行。

6.使用mcuisp通过串口下载程序搞了半天没下进去,原来是因为我把mcuisp左下角的电平设置错了,应该是DTR低电平复位,RTS高电平进BootLoader,真是粗心。

代码分析led.c [cpp] view plaincopy #include <stm32f10x_lib.h>  #include "led.h"  //硬件电路两个LED灯对应PA8和PD2,初始化PA8和PD2为输出口,并使能这两个口的时钟  void LED_Init(void)  {      RCC->APB2ENR|=1<<2;      //使能POARTA时钟      RCC->APB2ENR|=1<<5;      //使能POARTD时钟        GPIOA->CRH&=0XFFFFFFF0;      GPIOA->CRH|=0X00000003;  //PA8推挽输出      GPIOA->ODR=1<<8;        //PA8输出高        GPIOD->CRH&=0XFFFFF0FF;      GPIOD->CRH|=0X00000300;  //PD2推挽输出      GPIOD->ODR=1<<2;        //PD2输出高  }   注意:1.RCC是MDK定义的一个结构体,里面包含RCC相关寄存器组  2.在配置STM32外设时,任何时候都要先使能该外设的时钟!APB2ENR是APB2总线上的外设时钟使能寄存器。led.h [cpp] view plaincopy #ifndef __LED_H  #define __LED_H    #include "sys.h"    //LED端口定义  #define LED0 PAout(8)// PA8  #define LED1 PDout(2)// PD2     void LED_Init(void);//初始化                             #endif  可以右击找到PAout(x)的定义,在sys.h中。 test.c [cpp] view plaincopy #include   #include "sys.h"  #include "usart.h"        #include "delay.h"    #include "led.h"     int main(void)  {                           Stm32_Clock_Init(9); //系统时钟设置      delay_init(72);      //延时初始化      LED_Init();          //初始化与LED连接的硬件接口      while(1)      {          LED0=0;          LED1=1;          delay_ms(300);          LED0=1;          LED1=0;          delay_ms(300);      }      }   

提醒:《STM32-跑马灯实验代码分析》最后刷新时间 2024-03-14 00:57:55,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《STM32-跑马灯实验代码分析》该内容的真实性请自行鉴别。