凌乱的DSP6678笔记--开篇LED点灯
最近开始学习C6678这块板子,记录一下自己学习的过程,作为笔记以作复习。
之前入手过28335,28335触发方式为边沿触发和电平触发,但C6678只有边沿触发方式。同时,28335中通过对具体的GPIO口操作寄存器,但6678中较少采用这种方式,6678通过对内存地址的访问来操作寄存器,方式为首地址+偏移量。
给一个LED点灯程序:
#define HWREG(x) * (volatile unsigned int *) (x)//HWREG()的意思就是操作硬件寄存器,里面的参数是芯片的硬件外设寄存器地址
#define GPIO_REG_BASE 0x2320000 //GPIO首地址从0x2320000开始
#define GPIO_DIR 0x10 //方向寄存器的地址偏移为0x10
#define GPIO_OUTDATA 0x14 //输出数据寄存器的地址偏移为0x14int main(void) //按位或|,逻辑加。按位与&,逻辑乘 6678只有三个LED,底板的LED加了个非门,与核心板逻辑相反
{
//配置输出方向,给GPIO写0
HWREG(GPIO_REG_BASE + GPIO_DIR) &= ~((1<<15) | //核心板LED