打印

试用GD32 第2个程序,也发一个跑马灯

[复制链接]
2019|10
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
wlzeagle|  楼主 | 2013-8-1 20:10 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
看论坛挺冷清的,发一个最入门的跑马灯,不过延时随便用软件弄的,没有用systemtick,代码如下:

#include         "stm32f10x.h"

void        led_init(void);
void        PA8_ON(void);
void        PD2_ON(void);
void        delay(uint32_t dly);


int main(void)
{
        led_init();

        for(;;)
        {
        PA8_ON();
        delay(100);
        PD2_ON();
        delay(100);               
        }
       
}

void        led_init(void)
{
        RCC->APB2ENR |= 0x00000024;                        //打开GPIOA,GPIOD的时钟
       
        GPIOA->CRH &= 0xFFFFFFF0;                        //复位 GPIOA 的PA8端口控制
        GPIOA->CRH |= 0x00000003;                        //设置 GPIOA 的PA8推挽输出
        GPIOA->ODR |= 0x00000100;                        //设置 GPIOA 的PA8输出1
       
        GPIOD->CRL &= 0xFFFFF0FF;               
        GPIOD->CRL |= 0x00000300;       
        GPIOD->ODR |= 0x00000004;
}


void        PA8_ON(void)
{
        GPIOA->ODR &= ~0x00000100;                        //设置 GPIOA 的PA8输出0
        GPIOD->ODR |= 0x00000004;       
}

void        PD2_ON(void)
{
        GPIOA->ODR |= 0x00000100;                        //设置 GPIOA 的PA8输出1
        GPIOD->ODR &= ~0x00000004;       
       
}

void        delay(uint32_t dly)
{
       
        dly *=72000;
        while(dly--);

}

沙发
miniko| | 2013-8-2 09:15 | 只看该作者
沙发。楼主的程序好像只是点亮了两个灯啊,没有循环闪烁吧?

使用特权

评论回复
板凳
wlzeagle|  楼主 | 2013-8-2 13:07 | 只看该作者
miniko 发表于 2013-8-2 09:15
沙发。楼主的程序好像只是点亮了两个灯啊,没有循环闪烁吧?

开发板上验证过的,你可以试试

使用特权

评论回复
地板
kkzz| | 2013-8-27 15:54 | 只看该作者
楼主应该再跑跑跑马灯的。

使用特权

评论回复
5
huangjia22| | 2014-1-26 19:08 | 只看该作者
楼主搞个流水灯的

使用特权

评论回复
6
dinghui28| | 2014-1-26 19:23 | 只看该作者
听好了

使用特权

评论回复
7
pengqihong2013| | 2014-1-26 19:35 | 只看该作者
很不错

使用特权

评论回复
8
chenhaibin1990| | 2014-1-27 23:06 | 只看该作者
挺好,继续分享哈

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

10

主题

266

帖子

0

粉丝