【DSP学习】【从零开始新建工程点亮LED】【28377S】

这篇博客介绍了如何从零开始使用Code Composer Studio(CCS)建立DSP工程并点亮LED。步骤包括新建项目、添加头文件和源文件、设置项目属性、查阅芯片技术手册理解PIN复用,并编写main函数。强调了软件版本更新、文件目录全英文、以及控制SUITE的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

注意1: 官网下载:Code Composer Studio  ,我用的 Version: 9.3.0.00012 (应该是越新越好)

注意2:所有软件文件、工程文件均放在【纯英文/数字】目录下

注意3:官网下载:controlSUITE(如果出现打开空白,删除安装目录下的\ti\controlSUITE\eclipse\workspace\.metadata  中,.metadata 文件夹)

 

 

LED点灯步骤:

步骤1.新建空白的CCSproject

b112653057d94273ad49333306e83483.png

4c544667fd0947a29135734df1716bf5.png

步骤2:添加【头文件(xx.c)】、【源文件(xx.h)】、【cmd文件(xx.cmd)】

文件来源:controlSUITE

步骤2.1:在工程中新建文件夹,用于放置各类文件。

右键选择你的工程

490c24ca93fa429e8094e09cefc692fb.png

2c476eff28b8459fba4077aa638f7333.png

 

步骤2.2:打开【C:\ti\controlSUITE\device_support\F2837xS\v210】(具体看个人安装位置),把【头文件(xx.h)】放进【F2837xS_headers文件夹】,把【源文件(xx.c)】放进【F2837xS_common文件夹】,把cmd文件放进工程主目录

头文件位置1:C:\ti\controlSUITE\device_support\F2837xS\v210\F2837xS_headers\include,文件夹所有

头文件位置2:C:\ti\controlSUITE\device_support\F2837xS\v210\F2837xS_common\include,文件夹所有

源文件位置1:C:\ti\controlSUITE\device_support\F2837xS\v210\F2837xS_common\source,文件夹所有

源文件位置2:C:\ti\controlSUITE\device_support\F2837xS\v210\F2837xS_headers\source,文件夹所有

cmd文件位置1:C:\ti\controlSUITE\device_support\F2837xS\v210\F2837xS_headers\cmd,文件夹中的F2837xS_Headers_nonBIOS.cmd

 

步骤3:设置【properties】

3945f52569e8429ba2546f30ad7ac121.png

步骤3.1:【properties】中添加【头文件】

b6815907e2484ad2b57f49387252dbe1.png

步骤3.2:尝试build,如有报错则百度

0073245759b44d5dafbfc604cca7534a.png


步骤4:电路图 与 芯片技术手册(TMS320F2837xS Microcontrollers Technical Reference Manual )中的PIN复用表

如图所示,LED1由69号PIN控制,即33号GPIO。可在PIN复用表中找到该PIN具备哪些功能,如何启用某个功能,(或者把GPxMUX寄存器设置为相应的值,)

8f5a665cd58b44db9b85eb273993ed40.png

上图为—电路图

68e30ed9810f4ef59481ab18c419aafd.png

上图为—芯片技术手册—PIN复用表

 

步骤5:编写main

#include "F28x_Project.h"
#include "F2837xS_device.h"
#include "math.h"

void main(void)
{
	memcpy(&RamfuncsRunStart, &RamfuncsLoadStart, (size_t)&RamfuncsLoadSize);
	//该指令为解决调用DELAY_US()函数会进入死循环中断的BUG;

       InitSysCtrl();//初始化控制系统。
       //1)关闭看门狗。2)初始化PLL,确定系统主时钟。3)初始化外设时钟。

        DINT;//汇编指令:关闭中断

        InitPieCtrl();//初始化pie控制寄存器

        EALLOW;//汇编指令:受保护的寄存器可写入

        IER = 0x0000;//关闭CPU中断并清除所有CPU中断信号
        IFR = 0x0000;

        EDIS;//汇编指令:受保护的寄存器禁止写入

        InitPieVectTable();//初始化PIE

        InitGpio();  //初始化GPIO

        //以下寄存器配置
        GPIO_SetupPinMux(33, GPIO_MUX_CPU1, 0);
//启用【第一个CPU】的【33号GPIO】的【第一个功能】
        GPIO_SetupPinMux(34, GPIO_MUX_CPU1, 0);//

        GPIO_SetupPinOptions(33, GPIO_OUTPUT, GPIO_OPENDRAIN);
//把【GPIO33】设置为【输出模式】+【开漏模式】
        GPIO_SetupPinOptions(34, GPIO_OUTPUT, GPIO_PUSHPULL);
//把【GPIO34】设置为【输出模式】+【推挽模式】

/*
#define GPIO_PUSHPULL      0                                  推挽模式
#define GPIO_PULLUP        (1 << 0)						    上拉模式
#define GPIO_INVERT        (1 << 1)							翻转模式
#define GPIO_OPENDRAIN     (1 << 2)						开漏模式
#define GPIO_PULLUP|GPIO_ASYNC					上拉模式(不要让输入悬空)和异步模式
*/

    for(;;)
    {
        DELAY_US(500000);//延时
        GPIO_WritePin(33, 1);//输出高电平,灭
        GPIO_WritePin(34, 1);//
        DELAY_US(500000);//延时
        GPIO_WritePin(33, 0);//输出低电平,亮
        GPIO_WritePin(34, 0);//
    }


}

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值