zoukankan      html  css  js  c++  java
  • STM32学习笔记(一):跑马灯

    本实验所采用的开发板为正点原子的MiniSTM32f103rc开发板,主函数程序如下,注释如下:
    main.c

    #include "stm32f10x.h"
     void Delay(u32 count)
     {
      u32 i=0;
      for(;i<count;i++);
    
     }
     int main(void)
     {    
      GPIO_InitTypeDef  GPIO_InitStructure;
         
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);     //使能PA,PD端口时钟
        
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                 //LED0-->PA.8 端口配置
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //推挽输出
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //IO口速度为50MHz
      GPIO_Init(GPIOA, &GPIO_InitStructure);                     //根据设定参数初始化GPIOA.8
      GPIO_SetBits(GPIOA,GPIO_Pin_8);                         //PA.8 输出高
    
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                 //LED1-->PD.2 端口配置, 推挽输出
      GPIO_Init(GPIOD, &GPIO_InitStructure);                       //推挽输出 ,IO口速度为50MHz
      GPIO_SetBits(GPIOD,GPIO_Pin_2);                          //PD.2 输出高       
      while(1)
        {
            GPIO_ResetBits(GPIOA,GPIO_Pin_8);
            GPIO_SetBits(GPIOD,GPIO_Pin_2);
            Delay(3000000);
            GPIO_SetBits(GPIOA,GPIO_Pin_8);
            GPIO_ResetBits(GPIOD,GPIO_Pin_2);
            Delay(3000000);
        }
     }

     如果使用正点原子厂家所提供的system文件下的delay.h的头文件,可以更加方便地进行延时,利用这个头文件的延时效果如下,主要调用了我们的delay_init()函数以及后面的delay_ms()函数即可:

    #include "stm32f10x.h"
    #include "delay.h"
     void Delay(u32 count)
     {
      u32 i=0;
      for(;i<count;i++);
    
     }
     int main(void)
     {    
      GPIO_InitTypeDef  GPIO_InitStructure;
         
         
        delay_init();
         
      RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOD, ENABLE);     //使能PA,PD端口时钟
        
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_8;                 //LED0-->PA.8 端口配置
      GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;          //推挽输出
      GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;         //IO口速度为50MHz
      GPIO_Init(GPIOA, &GPIO_InitStructure);                     //根据设定参数初始化GPIOA.8
      GPIO_SetBits(GPIOA,GPIO_Pin_8);                         //PA.8 输出高
    
      GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;                 //LED1-->PD.2 端口配置, 推挽输出
      GPIO_Init(GPIOD, &GPIO_InitStructure);                       //推挽输出 ,IO口速度为50MHz
      GPIO_SetBits(GPIOD,GPIO_Pin_2);                          //PD.2 输出高       
      while(1)
        {
            GPIO_ResetBits(GPIOA,GPIO_Pin_8);
            GPIO_SetBits(GPIOD,GPIO_Pin_2);
            //Delay(3000000);
            delay_ms(300);
            GPIO_SetBits(GPIOA,GPIO_Pin_8);
            GPIO_ResetBits(GPIOD,GPIO_Pin_2);
            Delay(3000000);
        }
     }
  • 相关阅读:
    爬虫例子及知识点(scrapy知识点)
    Xpath()语法
    yield和python(如何生成斐波那契數列)
    Python3导入cookielib失败
    使用Scrapy爬虫框架简单爬取图片并保存本地(妹子图)
    python使用cookielib库示例分享
    xpath中/和//的差别
    [洛谷P3320] SDOI2015 寻宝游戏
    [洛谷P3322] SDOI2015 排序
    [51nod 1830] 路径交
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10776070.html
Copyright © 2011-2022 走看看