DSP28035的编程初步 | 您所在的位置:网站首页 › dsp28035 › DSP28035的编程初步 |
明白DSP编程的基本流程,熟悉DSP28035的GPIO的使用。代码执行流程:首先是系统时钟的选择。其次是PIE中断向量表的初始化。一些外设的初始化操作While(){}根据EXPERIMENTER’S KIT板上两个发光二极管对DSP的GPIO进行操作。GPIO31和GPIO34两个IO口进行操作 宏定义操作:#define LED_ON (GpioDataRegs.GPADAT.bit.GPIO31 = 0;) //GPIO31输出低电平#define LED_OFF (GpioDataRegs.GPADAT.bit.GPIO31 = 1;) //GPIO31输出高电平#define LED_TOGGLE (GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1) //GPIO31输出翻转电平输入的宏定义操作:#define IsK3_L (GpioDataRegs.GPBDAT.bit.GPIO32 == 0) //GPIO32输入低电平#define IsK3_H (GpioDataRegs.GPBDAT.bit.GPIO32 == 1) //GPIO32输入高电平 void Init_GPIO(){ EALLOW; //GPIO寄存器受保护 GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 0; //GPIO31作为普通IO GpioCtrlRegs.GPAMUX2.bit.GPIO31 = 1; //GPIO31作为CAN_TXD GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 0; //GPIO34作为普通IO GpioCtrlRegs.GPBMUX1.bit.GPIO34 = 1; //GPIO34作为特殊功能口 GpioCtrlRegs.GPADIR.bit.GPIO31 = 1; //GPIO31方向为输出 GpioCtrlRegs.GPADIR.bit.GPIO31 = 0; //GPIO31方向为输入 GpioCtrlRegs.GPBDIR.bit.GPIO34 = 1; //GPIO34方向为输出 GpioCtrlRegs.GPADIR.bit.GPIO34 = 1; //GPIO34方向为输入 EDIS;}输入操作: EALLOW; //GPIO寄存器受保护 GpioCtrlRegs.GPBMUX1.bit.GPIO32 = 0; //GPIO32作为普通IO GpioCtrlRegs.GPBDIR.bit.GPIO32 = 0; //GPIO32方向为输入 GpioCtrlRegs.GPBPUD.bit.GPIO32 = 0; //开启内部上拉 EDIS;输出IO口输出高低电平的配置操作方式:Eg1:GpioDataRegs.GPADAT.bit.GPIO31 = 1; //GPIO31输出高电平GpioDataRegs.GPBDAT.bit.GPIO34 = 1; //GPIO34输出高电平 GpioDataRegs.GPADAT.bit.GPIO31 = 0; //GPIO31输出低电平GpioDataRegs.GPBDAT.bit.GPIO34 = 0; //GPIO34输出低电平Eg2:GpioDataRegs.GPASET.bit.GPIO31 = 1; //Set置位则输出高电平GpioDataRegs.GPBSET.bit.GPIO34 = 1;GpioDataRegs.GPACLEAR.bit.GPIO31 = 1; //CLEAR置位则输出低电平GpioDataRegs.GPBCLEAR.bit.GPIO34 = 1;Eg3:GpioDataRegs.GPATOGGLE.bit.GPIO31 = 1; //GPIO31端口电平翻转一次GpioDataRegs.GPBTOGGLE.bit.GPIO34 = 1; //GPIO34端口电平翻转一次 检测DSP的IO输入操作:GPIO的输入操作配置; if( GpioDataRegs.GPBDAT.bit.GPIO32 == 0) //if(IsK3_L) { GpioDataRegs.GPBDAT.bit.GPIO40 = 0; } else { GpioDataRegs.GPBDAT.bit.GPIO40 = 1; }上面的语句就可以作为检测的输入端口了。这样关于DSP的IO口的配置已经完成了。根据相应的结构体可以查看寄存器。注意学会使用联想功能。 |
CopyRight 2018-2019 实验室设备网 版权所有 |