CMS32F030_ARM_M0开发系列02最小系统代码及LED闪灯

LED灯是单片机开发,最简单的代码没有之一,一般拿到一个MCU都先试试控制IO口电平高低,可以通过示波器,万用表,或LED灯来看看自己的代码有没有运行起来.

LED程序运行步骤一般有两步,

第一步:配置GPIO口为输出

第二步:设置GPIO口的电平为高或低,或者不停翻转

我们先看看工程的文件结构:

一共有3个文件,
一个startup.s文件是系统初始化文件,一般不需要修改直接套用
sys_colck.c文件是芯片时钟设置,一般运行默认值就好,这里设置系统时钟为默认的48MHz
我们先来看看mian.c文件

#include "main.h"

// LED灯的引脚IO口定义
#define LED_GPIO  GPIO0
#define LED_PIN   6

// LED初始化配置函数
void LED_Config(void)
{
    LED_GPIO->PMS &= ~(0x0F << (LED_PIN*4));
    LED_GPIO->PMS |=  (0x01 << (LED_PIN*4));
    LED_GPIO->DR  &= ~(0x01 << LED_PIN);
    LED_GPIO->SR  &= ~(0x01 << LED_PIN);
}

int led_cnt=0;        //LED翻转延迟计数器

// LED翻转控制函数
void led_func(void)
{
    led_cnt++;
    if(led_cnt==300000)
    {
        LED_GPIO->DOSET = 1<<LED_PIN;        //LED 亮
    }

    if(led_cnt==600000)
    {
        LED_GPIO->DOCLR = 1<<LED_PIN;        //LED 灭
        led_cnt=0;
    }
}

// 主函数
int main(void)
{
    LED_Config();
    
    while(1)            // 无限循环
    {
        led_func();
    }
}



代码运行结果就是LED等不停的闪烁
是不是非常简洁

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值