• DSP2335的LED工程笔记


    首先是确定时钟

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

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

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

    在我板子里面的原理图是

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

    GPIO68到GPIO64确定端口

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

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

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

    配置输出

     配置方向寄存器;

    配置复用输出;

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

     

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



    程序

    配置控制有控制寄存器;

    写数据有数据寄存器;

    1. void led_all_flow_init()
    2. {
    3. EALLOW;
    4. SysCtrlRegs.PCLKCR3.bit.GPIOINENCLK = 1;//系统控制,外设时钟3
    5. GpioCtrlRegs.GPCMUX1.bit.GPIO64 = 0;//复用寄存器 0为gpio
    6. GpioCtrlRegs.GPCPUD.bit.GPIO64 = 1;//上拉寄存器 1为上上拉
    7. GpioCtrlRegs.GPCDIR.bit.GPIO64 = 1;//方向寄存器,1为输出
    8. GpioCtrlRegs.GPCMUX1.bit.GPIO65 = 0;
    9. GpioCtrlRegs.GPCPUD.bit.GPIO65 = 1;
    10. GpioCtrlRegs.GPCDIR.bit.GPIO65 = 1;
    11. GpioCtrlRegs.GPCMUX1.bit.GPIO66 = 0;
    12. GpioCtrlRegs.GPCPUD.bit.GPIO66 = 1;
    13. GpioCtrlRegs.GPCDIR.bit.GPIO66 = 1;
    14. GpioCtrlRegs.GPCMUX1.bit.GPIO67 = 0;
    15. GpioCtrlRegs.GPCPUD.bit.GPIO67 = 1;
    16. GpioCtrlRegs.GPCDIR.bit.GPIO67 = 1;
    17. GpioCtrlRegs.GPCMUX1.bit.GPIO68 = 0;
    18. GpioCtrlRegs.GPCPUD.bit.GPIO68 = 1;
    19. GpioCtrlRegs.GPCDIR.bit.GPIO68 = 1;
    20. EDIS;
    21. }
    22. #define LED1_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO68 = 1 //反转gpio寄存器
    23. #define LED2_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO67 = 1
    24. #define LED3_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO66 = 1
    25. #define LED4_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO65 = 1
    26. #define LED5_TOGGLE GpioDataRegs.GPCTOGGLE.bit.GPIO64 = 1
    27. void delay_led()
    28. {
    29. int i = 0;
    30. int j = 0;
    31. for (i = 10000; i > 0; i--)
    32. for (j = 10000; j > 0; j--);
    33. }
    34. #define us_us 1000000
    35. void led_all_flow_twinkle(void)
    36. {
    37. LED1_TOGGLE;
    38. DELAY_US(us_us);//自带延时
    39. LED2_TOGGLE;
    40. DELAY_US(us_us);
    41. LED3_TOGGLE;
    42. DELAY_US(us_us);
    43. LED4_TOGGLE;
    44. DELAY_US(us_us);
    45. LED5_TOGGLE;
    46. DELAY_US(us_us);
    47. }

  • 相关阅读:
    xshell---git上传文件到gitee远程仓库配置
    如何提升爬虫IP使用效率?精打细算的方法分享
    Python编程 基础数据类型
    ARMday2(环境创建+工程配置+创建文件+单步调试)
    Redis的神奇之处:为什么它如此快速?【redis第三部分】
    Java基于JSP实验室预约管理系统
    ubuntu 给meld加上右键菜单
    比特币抛售潮导致73亿美元损失
    Shell 函数详解(函数定义、函数调用)
    关起门来搞开源,做不了开源世界的Leader
  • 原文地址:https://blog.csdn.net/qq_36658033/article/details/134489229