查看: 1090|回复: 0

【玩转STM32序列】序列之6:单灯闪烁仿真

[复制链接]
  • TA的每日心情
    开心
    2019-6-24 16:41
  • 签到天数: 709 天

    连续签到: 1 天

    [LV.9]以坛为家II

    发表于 2015-4-23 13:24:13 | 显示全部楼层 |阅读模式
    分享到:

    #define LED1 PCout(1) //PC1#define LED2 PCout(2) //PC2        #define LED3 PCout(3) //PC3#define LED4 PAout(0) //PA0void LED_Init(void);  //LED初始化【玩转STM32序列】序列之6:单灯闪烁仿真转载请注明出处和作者:请尊重版权所有!否则后果自负,谢谢!!
    本节主要是从下面3个方面进行讲解:
    1.工具准备工作
    2.建立工程
    3.效果展示

    一、工具准备工作
    1.电脑一台;
    2.LCD12864液晶一块;
    3.USB数据线一根;
    4.STM32开发板一块;
    5.杜邦线若干根;
    6.排线一组;
    7.已经装安装MDK和keil软件;
    8.按键4x4;
    9.继电器或者替代设备;
    10.Jlink下载器。


    二、建立工程
    1.新建一个LED文件夹。如下图所示


    2.将文件添加到工程里面去。如下图所示

    3.当然这里修改了,关联也要修改。如下图所示

    4.编写led.c和led.h文件。

    void LED_Init(void){ GPIO_InitTypeDef  GPIO_InitStructure;          RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);        //使能PA端口时钟         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;                                      //LED0--&gtA.0 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                   //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_Init(GPIOA, &GPIO_InitStructure); GPIO_SetBits(GPIOA,GPIO_Pin_0);                                                           //PA.0 输出高         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);   //使能PC端口时钟 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3;         //LED1--&gtD.2 端口配置 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                  //推挽输出 GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;  GPIO_Init(GPIOC, &GPIO_InitStructure);         GPIO_SetBits(GPIOC,GPIO_Pin_1 |GPIO_Pin_2 | GPIO_Pin_3);         //PC.2 输出高 } #define LED1 PCout(1) //PC1
    #define LED2 PCout(2) //PC2
    #define LED3 PCout(3) //PC3
    #define LED4 PAout(0) //PA0
    void LED_Init(void);  //LED初始化


    int main(void){        SystemInit();                              //系统时钟初始化为72M          SYSCLK_FREQ_72MHz        delay_init(72);                       //延时函数初始化                  NVIC_Configuration();          //设置NVIC中断分组2:2位抢占优先级,2位响应优先级        LED_Init();  //LED初始化        while(1)        {                LED1 = 0;                                                 LED2 = 1;                                                 LED3 = 1;                LED4 = 1;                delay_ms(500);                                   LED1 = 1;                              LED2 = 0;                                            LED3 = 1;                LED4 = 1;                delay_ms(500);                        LED1 = 1;                              LED2 = 1;                                            LED3 = 0;                LED4 = 1;                delay_ms(500);                        LED1 = 1;                              LED2 = 1;                                            LED3 = 1;                LED4 = 0;                delay_ms(500);                }}
    三、效果展示
    file:///G:Tempksohtmlwps8D3C.tmp.jpg



    file:///G:Tempksohtmlwps8D5C.tmp.jpg
    file:///G:Tempksohtmlwps8D5D.tmp.jpg
    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

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

    手机版|小黑屋|与非网

    GMT+8, 2024-4-20 22:45 , Processed in 0.109860 second(s), 17 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.