Dsp28335点亮LED灯(学习笔记)

 文章目录

一、前言

1.1、设计思路

用DSP28335GPIO68管脚输出低电平,点亮LED灯

1.2、工具

1、普中科技开发板(TMS320F28335PGFA)×1

2、配套的仿真器×1

1.3、原理介绍

TMS320F28335PGFA有三组GPIO,A组(0~31),B组(32~63),C组(64~87),我们要使用GPIO68管脚,故,用的是C组。

下图为GPIOA组的原理框图,B、C组同理。

从图中可以得出,我们要控制GPIO68号管脚输出高低电平,就需要:

  1. 配置GPIO为通用输入输出口,即GPXMUX=1;
  2. 配置GPIO为输出模式,即GPXDIR=1;
  3. 因为开发板LED灯是输入低电平点亮,我们希望GPIO管脚不输出时LED灭,设置上拉,即:GPXPUD=0;
  4. 控制GPIO管脚输出低电平,点亮开发板LED灯,即GPXCLEAR=1.

这里“X”为A、B或C,因为控制GPIO68号管脚,本例为C

二、步骤

2.1、程序编写

1、初始化子程序

void LED_Init(void)
{
    EALLOW;//关闭写保护
    SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;// 开启GPIO时钟

    //LED1端口配置
    GpioCtrlRegs.GPCMUX1.bit.GPIO68=0;//设置为普通IO功能,如果是GPIO79以后的管脚由GPCMUX2控制
    GpioCtrlRegs.GPCDIR.bit.GPIO68=1;//设置GPIO方向为输出
    GpioCtrlRegs.GPCPUD.bit.GPIO68=0;//使能GPIO上拉电阻
    GpioDataRegs.GPCSET.bit.GPIO68=1;//初始时希望GPIO口输出高电平,使LED灯熄灭
    EDIS;//开启写保护
}

2、编写头文件

#ifndef LED_P_H_//条件编译
#define LED_P_H_

#include "DSP2833x_Device.h"     // DSP2833x Headerfile include File
#include "DSP2833x_Examples.h"   // DSP2833x Examples Include File

void LED_Init(void);   //声明源文件编写的初始化程序

3、编写主函数

#include "led_p.h" //包含头文件

void main()
{
	InitSysCtrl();//系统时钟初始化,默认开启F28335所有外设时钟

	LED_Init();//调用初始化程序

	while(1)
	{
		GpioDataRegs.GPCCLEAR.bit.GPIO68=1;//GPIO68管脚输出低电平,点亮开发板LED灯
	}

三、验证

仿真器连接开发板,进行程序烧录,结果如下图,这样就用GPIO68管脚点亮了LED~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值