当前位置:首页 > 编程笔记 > 正文
已解决

DSP2335的LED工程笔记

来自网友在路上 158858提问 提问时间:2023-11-21 03:34:55阅读次数: 58

最佳答案 问答题库588位专家为你答疑解惑

首先是确定时钟

在技术参考中,找到时钟章节

只能观察每个寄存器,才能看到寄存器控制那个外设的时钟

第二找到对应GPIO以及寄存器;

在我板子里面的原理图是

但是TI的提供的库函数是分ABC的,刚开始就不知道怎麽分。GPIO68到GPIO64,应该是在ABC的那个端口;

GPIO68到GPIO64确定端口

在DSP开发原理中找到;同时也可以在寄存器中观察出来(截图太长了)。所以用的是c端口

值得注意的是:DSP开发原理是不教你怎麽去配置输入输出的;

全靠自己看结构图;或者用普中,或者其他公司的开发攻略;

配置输出

 配置方向寄存器;

配置复用输出;

 在复用表方面,各个公司的开发原理,又做得不够好;

 

如上图MUX复用表;64到68只有GPIO功能,没有其他复用;



程序

配置控制有控制寄存器;

写数据有数据寄存器;

void led_all_flow_init()
{ EALLOW;SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;//系统控制,外设时钟3GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0;//复用寄存器 0为gpioGpioCtrlRegs.GPCPUD.bit.GPIO64 = 1;//上拉寄存器 1为上上拉GpioCtrlRegs.GPCDIR.bit.GPIO64 = 1;//方向寄存器,1为输出GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 0;GpioCtrlRegs.GPCPUD.bit.GPIO65 = 1;GpioCtrlRegs.GPCDIR.bit.GPIO65 = 1;GpioCtrlRegs.GPCMUX1.bit.GPIO66 = 0;GpioCtrlRegs.GPCPUD.bit.GPIO66 = 1;GpioCtrlRegs.GPCDIR.bit.GPIO66 = 1;GpioCtrlRegs.GPCMUX1.bit.GPIO67 = 0;GpioCtrlRegs.GPCPUD.bit.GPIO67 = 1;GpioCtrlRegs.GPCDIR.bit.GPIO67 = 1;GpioCtrlRegs.GPCMUX1.bit.GPIO68 = 0;GpioCtrlRegs.GPCPUD.bit.GPIO68 = 1;GpioCtrlRegs.GPCDIR.bit.GPIO68 = 1;EDIS;
}#define LED1_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO68 = 1  //反转gpio寄存器
#define LED2_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO67 = 1
#define LED3_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO66 = 1
#define LED4_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO65 = 1
#define LED5_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO64 = 1void delay_led()
{int i = 0;int j = 0;for (i = 10000; i > 0; i--)for (j = 10000; j > 0; j--);}
#define us_us 1000000
void led_all_flow_twinkle(void)
{LED1_TOGGLE;DELAY_US(us_us);//自带延时LED2_TOGGLE;DELAY_US(us_us);LED3_TOGGLE;DELAY_US(us_us);LED4_TOGGLE;DELAY_US(us_us);LED5_TOGGLE;DELAY_US(us_us);}

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"DSP2335的LED工程笔记":http://eshow365.cn/6-40858-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!