dsp 基于tsm320f28335以dsp内部的graph图像记录led灯的亮灭情况具体代码
时间: 2024-02-06 07:10:42 浏览: 117
基于DSP代码,点亮LED灯
以下是一个基于TMS320F28335的DSP内部graph图像记录LED灯亮灭情况的示例代码:
```c
#include "DSP2833x_Device.h"
#include "DSP2833x_Examples.h"
#define LED1_GPIO 9
#define LED2_GPIO 11
static void InitGPIOs(void);
static void InitLedGraph(void);
void main(void)
{
InitSysCtrl();
InitGPIOs();
InitLedGraph();
for(;;) {
GpioDataRegs.GPATOGGLE.bit.GPIO9 = 1;
GpioDataRegs.GPATOGGLE.bit.GPIO11 = 1;
asm(" NOP");
asm(" NOP");
asm(" NOP");
asm(" NOP");
}
}
static void InitGPIOs(void)
{
EALLOW;
GpioCtrlRegs.GPAMUX1.all &= ~(BIT0 | BIT1 | BIT2 | BIT3 | BIT4 | BIT5 | BIT6 | BIT7);
GpioCtrlRegs.GPADIR.all |= BIT9 | BIT11;
EDIS;
}
static void InitLedGraph(void)
{
EALLOW;
PieVectTable.TINT0 = &cpu_timer0_isr;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
IER |= M_INT1;
CpuTimer0Regs.TCR.all = 0x4000;
CpuTimer0Regs.PRD.all = 0xFFFF;
CpuTimer0Regs.TPR.all = 0;
CpuTimer0Regs.TPRH.all = 0;
PieCtrlRegs.PIECTRL.bit.ENPIE = 1;
EINT;
EDIS;
}
```
此代码使用GPIO9和GPIO11控制两个LED灯。`InitGPIOs()`函数初始化GPIO并将它们配置为输出。`InitLedGraph()`函数初始化Graph图形,使其定期中断CPU,以便记录LED灯的亮灭情况。`main()`函数是一个无限循环,每次迭代时,它会切换LED的状态。在每次切换后,它会插入一些NOP指令来产生延迟,以便使LED状态更容易观察。
阅读全文