[资料分享] DSP流水灯源程序

Jacktang   2019-11-7 21:41 楼主

DSP流水灯源程序

  1. /*
  2. * main.c
  3. *
  4. *  Created on: 2019-9-2
  5. *      Author: CZQ
  6. */
  7.  
  8.  
  9. /*
  10. * GPxDAT   置1高电平            置0低电平
  11. * GPxSET    1---高            0---无效
  12. * GPxCLEAR  1---低             0---无效
  13. * GPxTolgole    1---翻转
  14. */
  15.  
  16.  
  17. #include "DSP2833x_Device.h"     // DSP2833x Headerfile Include File
  18. #include "DSP2833x_Examples.h"   // DSP2833x Examples Include File
  19.  
  20. //声明函数
  21. void delay_loop(void);
  22. void Gpio_select(void);
  23.  
  24. main()
  25. {
  26.    InitSysCtrl();
  27.  
  28.    //GPIO配置
  29.    Gpio_select();
  30.  
  31.    //清除所有中断,禁止CPU全局中断
  32.    DINT;
  33.  
  34.    //初始化PIE控制寄存器到他们的默认状态
  35.    InitPieCtrl();
  36.  
  37.    //禁止CPU中断和清除所有CPU中断标志
  38.    IER = 0x0000;
  39.    IFR = 0x0000;
  40.  
  41.    //初始化PIE中断向量表,并使其指向中断服务子程序(ISR)
  42.    InitPieVectTable();
  43.  
  44.    //用户代码,LED闪烁
  45.    GpioDataRegs.GPBDAT.all = 0x30000000;  //0x30000000   00  61-1  60-1
  46.    GpioDataRegs.GPCDAT.all = 0x00000007;  //0x00000007   000 68-0  67-0 66-1 65-1 64-1
  47.  
  48.    for(;;)
  49.    {
  50.            GpioDataRegs.GPBDAT.all = 0x1000000;
  51.            GpioDataRegs.GPCDAT.all = 0x0000001F;
  52.            delay_loop();
  53.            GpioDataRegs.GPBDAT.all = 0x20000000;
  54.            GpioDataRegs.GPCDAT.all = 0x0000001F;
  55.            delay_loop();
  56.            GpioDataRegs.GPBDAT.all = 0x30000000;
  57.            GpioDataRegs.GPCDAT.all = 0x0000001E;
  58.            delay_loop();
  59.            GpioDataRegs.GPBDAT.all = 0x30000000;
  60.            GpioDataRegs.GPCDAT.all = 0x0000001D;
  61.            delay_loop();
  62.            GpioDataRegs.GPBDAT.all = 0x30000000;
  63.            GpioDataRegs.GPCDAT.all = 0x0000000B;
  64.            delay_loop();
  65.            GpioDataRegs.GPBDAT.all = 0x30000000;
  66.            GpioDataRegs.GPCDAT.all = 0x00000017;
  67.            delay_loop();
  68.            GpioDataRegs.GPBDAT.all = 0x30000000;
  69.            GpioDataRegs.GPCDAT.all = 0x0000000F;
  70.            delay_loop();
  71.  
  72.  
  73.  
  74.  
  75.  
  76.  
  77. //           delay_loop();
  78. //           GpioDataRegs.GPBTOGGLE.all = 0x30000000;
  79. //           GpioDataRegs.GPCTOGGLE.all = 0x00000007;
  80. //
  81. //           delay_loop();
  82. //           GpioDataRegs.GPBTOGGLE.all = 0x30000000;
  83. //           GpioDataRegs.GPCTOGGLE.all = 0x00000007;
  84.  
  85.    }
  86. }
  87.  
  88. //延时子函数
  89. void delay_loop()
  90. {
  91.         Uint32 i;
  92.         Uint32 j;
  93.         for(i=0;i<32;i++)
  94.     for(j=0;j<100000;j++){}
  95. }
  96.  
  97. //GPIO初始化函数
  98. void Gpio_select(void)
  99. {
  100.    EALLOW;
  101.    GpioCtrlRegs.GPAMUX1.all = 0x00000000;  //ALL GPIO
  102.    GpioCtrlRegs.GPAMUX2.all = 0x00000000;
  103.    GpioCtrlRegs.GPBMUX1.all = 0x00000000;
  104.    GpioCtrlRegs.GPBMUX2.all = 0x00000000;
  105.    GpioCtrlRegs.GPCMUX1.all = 0x00000000;
  106.    GpioCtrlRegs.GPCMUX2.all = 0x00000000;
  107.  
  108.    GpioCtrlRegs.GPADIR.all = 0xFFFFFFFF;   //ALL outputs
  109.    GpioCtrlRegs.GPBDIR.all = 0xFFFFFFFF;
  110.    GpioCtrlRegs.GPCDIR.all = 0xFFFFFFFF;
  111.  
  112.    EDIS;
  113. }

DSP-流水灯.rar (151.17 KB)
(下载次数: 4, 2019-11-7 22:00 上传)

本帖最后由 Jacktang 于 2019-11-7 22:01 编辑
  • 360截图20191107213748108.jpg
  • 360截图20191107213933718.jpg
  • 360截图20191107214002117.jpg

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复