DSP28335使用心得

板子烧写

烧写步骤

  • 将28335供电,连接JTAG仿真器
  • 打开setup CCS软件,选择XDS100USB DSP Emulator,即下载的仿真器
  • 打开CCS 3.3软件
  • 如果没有连接上,则点击debug-->connect,连接成功的话左下角会有提示
  • 打开工程,后缀名是pjt
  • 进行编译链接
  • 点击file-->load program,在一个debug的文件夹里选择后缀名是.out的文件,打开之后就开始擦除并下载了
  • 完成后,可以点击debug-->run,即可观察单片机按照程序的指令运行了
  • 如果不想运行了,首先要debug-->disconnect,然后退出CCS,最后再拔出JTAG和电源线,否则很容易出现类似地址错误的问题等等。。。

#

注意事项

  • 以上所有,按照步骤来!!!

常用模块

GPIO

初始哈步骤

  • EALLOW
  • 配置GPIO是否上拉、出入输出使能、相应初始状态以及相应的mux寄存器需要设置为0(仅适用GPIO功能时)
  • EDIS

基本代码

  • 设置为输入

    EALLOW;
    GpioCtrlRegs.GPBPUD.bit.GPIO51 = 0;  // Enable pullup on GPIO51
    GpioCtrlRegs.GPBMUX2.bit.GPIO51 = 0; // 设置为一般IO口
    GpioCtrlRegs.GPBDIR.bit.GPIO51  = 0; // IO口方向为输入
    EDIS;
    
  • 设置为输出

    EALLOW;
    GpioCtrlRegs.GPAPUD.bit.GPIO0 = 0;                                     
    GpioDataRegs.GPASET.bit.GPIO0 = 1;          //设置初始状态为1
    //GpioDataRegs.GPACLEAR.bit.GPIO0 = 1;      //设置初始状态为0   
    GpioCtrlRegs.GPAMUX1.bit.GPIO0 = 0;                                    
    GpioCtrlRegs.GPADIR.bit.GPIO0 = 1;
    EDIS;
    

#

注意

  • GPIO分组,不同的号

PIE(peripheral interrupt expansion)

  • 外部中断(GPIO0~GPIO63)

中断的使用方法

  • 初始化PIE控制寄存器

  • 使能所有中断

  • 初始化中断向量表

  • 开中断

ePWM

  • 基本功能
    • 时间基准子模块
    • 计数比较子模块
    • 动作限定子模块
    • 死区控制子模块
    • pWM斩波子模块
    • 错误控制子模块
    • 事件触发子模块

外扩RAM读写

步骤

  • 写入0xAA
  • 写入0x55
  • 写入需要写入的内容

示例代码

    for(i = 0; i < 0x4FFFF; i++)
    {
        *(ExRamStart + i) = 0x5555; 
        //ExRamStart是RAM的起始地址,可以是0x200000之类的
        if(*(ExRamStart + i) != 0x5555)
        {
            asm ("      ESTOP0");//error 
        }
    }

    for(i = 0; i < 0x4FFFF; i++)
    {
        *(ExRamStart + i) = 0xAAAA;
        if(*(ExRamStart + i) != 0xAAAA)
        {
                asm ("      ESTOP0");//error 
        }
    }

    for(i = 0; i< 0xFFFF; i++)
    {
        *(ExRamStart + i) = i;
        if(*(ExRamStart + i) != i)
        {
            asm ("      ESTOP0");//error 
        }
    }
         asm ("      ESTOP0");//ok  
}

外扩Flash读写实验

步骤

  • 初始化外部接口扩展(Xintf)
  • 初始化DSP内部Ram区
  • 清除DSP外扩FLASH(SST39VF800)内容
  • 写数据到SST39VF800(外扩Flash)
  • 清除RAM的数据
  • 将Flash中的数据读到另一块RAM中

基本代码

按照示例程序操作即可

外部中断

你可能感兴趣的:(杂)