• 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);
        }
     }
  • 相关阅读:
    检索通讯录,根据输入的电话号码的每一位下拉显示检索结果
    获取手机的具体型号 及 iOS版本号
    在iOS中使用ZBar扫描二维码
    iOS沙盒路径的查看和使用
    ios打开通讯录及点击通讯录时提取相关信息
    获取倒计时距离某一时间点的时间,判断身份证,电话号码格式是否正确的简单封装
    iOS 获取手机的型号,系统版本,软件名称,软件版本
    第三天战略会议
    第二天站略会议总结
    第一天站略会议总结
  • 原文地址:https://www.cnblogs.com/geeksongs/p/10776070.html
Copyright © 2020-2023  润新知