TiveC微控制器基础练习1.1源码

//*****************************************************************************
// 基础练习1.1: 软件延时实现LED闪烁
//
// 硬件描述:
//    LED2(蓝色) --PF0
//    LED3(绿色) --PA4
//    LED4(红色) --PD6  --使用这个引脚
//
// 注意事项:
// 引脚PF0和PD7比较特殊,默认是保护的。要重新编程操作的话,需要先解锁
// 小技巧:
//  通过SysConfig工具进行引脚的初始配置,就不用考虑这些因素了.
//  SysConfig的使用可参考链接: https://www.bilibili.com/read/cv6258251
//
// 过程描述:
//  把引脚配置成GPIO,输出。 通过输出高电平和低电平来控制LED的亮和灭。
//  亮/灭的速度如果很快,人眼就识别不出来了.所以要放慢速度,才有闪烁的效果.
//
// 思考:
//  1. 蓝色LED默认是亮的,怎么办?  --初始化相关的GPIO
//  2. Launchpad上的三色LED也是亮的,怎么办? --初始化相关的GPIO
//
//*****************************************************************************

#include <stdbool.h>
#include <stdint.h>
#include "inc/hw_gpio.h"
#include "inc/hw_memmap.h"
#include "inc/hw_types.h"
#include "driverlib/gpio.h"
#include "driverlib/sysctl.h"

void main(void)
{
    //0-2的32次方-1, 4294967295
    uint32_t ui32_delay;

    //使能PD外设的时钟
    SysCtlPeripheralEnable(SYSCTL_PERIPH_GPIOD);

    //等待外设Ready
    while(!SysCtlPeripheralReady(SYSCTL_PERIPH_GPIOD))
    {
    }

    //将PD6配置成GPIO,方向为输出
    GPIOPinTypeGPIOOutput(GPIO_PORTD_BASE, GPIO_PIN_6);

    //可能出现的错误:
    //(1) 没有加while(1),程序语句按顺序执行1遍就结束了.
    //(2) 不加延时,单步运行,全速运行
    //(3) 要在两个地方加软件延时,点亮LED后延时,熄灭LED后也要加延时;
    //    +-----+      +------+
    //    |     |      |      |
    // ---+     +------+      +---------
    //
    while(1)
    {
        //PD6输出低电平,LED亮
        GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,0x00);
        for(ui32_delay=0;ui32_delay<300000;ui32_delay++);

        //PD6输出高电平,LED灭
        GPIOPinWrite(GPIO_PORTD_BASE,GPIO_PIN_6,0xFF);
        //此处要加延时,延时越长,表示亮的时间越久
        for(ui32_delay=0;ui32_delay<300000;ui32_delay++);
    }

}

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
GRBL 1.1h是一种开源的嵌入式控制器固件,用于控制三轴或四轴数控机床。它是基于Arduino开发板的,具有高度灵活性和可定制性。 GRBL 1.1h源码包含了整个GRBL固件的实现细节和功能。它是用C语言编写的,分为多个模块,每个模块负责不同的控制和处理功能。源码可以通过编译和烧录到Arduino板上,将其转换为一个功能强大的控制器。 GRBL 1.1h源码具有以下主要特点: 1. 移动控制:它支持多种移动指令,如直线插补、螺旋插补和圆弧插补。通过解析G代码文件,GRBL固件可以精确控制机床的运动,实现预定义的切削路径。 2. 速度控制:GRBL固件可以控制机床的速度,包括每分钟的切削速度和进给速度。用户可以根据需要调整速度参数,以优化切削质量和效率。 3. 输入输出控制:GRBL固件通过IO口向外部设备发送和接收控制信号。这些信号用于控制外部设备,如驱动电机、传感器和限位开关。源码详细说明了如何设置和使用这些IO口以及各种控制信号的处理逻辑。 4. 插件架构:GRBL 1.1h支持插件架构,用户可以自定义添加插件以扩展固件的功能。源码中包含了插件接口和示例代码,用户可以参考这些示例来编写自己的插件。 通过阅读和理解GRBL 1.1h源码,用户可以深入了解GRBL固件的工作原理和实现细节。这可以帮助用户更好地了解数控机床的控制过程,并根据需要进行定制和优化。由于GRBL是开源的,用户可以根据自己的需求修改源码,并将其重新编译和烧录到Arduino板上,从而实现个性化的数控机床控制系统。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HappyShengxiang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值