中科昊芯 DSP
直播中

jf_35322397

3年用户 3经验值
私信 关注
[经验]

Haawking-IDE 点亮LED灯

学习过程记录:
①听刘学长讲解
②看别人操作
③自己动手操作
④课后练习

具体学习内容:
  1. int main(void)
  2. {
  3.     InitSysCtrl();  //Initializes the System Control registers to a known state.

  4.     LED_Init();

  5.     while(1){

  6.             EALLOW;  // 打开寄存器写保护

  7.             GpioDataRegs.GPASET.bit.GPIO0 = 1;   // 输出高电平
  8.              DELAY_US(30000);  //30000us = 30ms
  9.              DELAY_US(30000);  //30000us = 30ms
  10.              DELAY_US(30000);  //30000us = 30ms
  11.              DELAY_US(30000);  //30000us = 30ms
  12.              DELAY_US(30000);  //30000us = 30ms
  13.              DELAY_US(30000);  //30000us = 30ms
  14.              DELAY_US(30000);  //30000us = 30ms
  15.              DELAY_US(30000);  //30000us = 30ms
  16.              DELAY_US(30000);  //30000us = 30ms
  17.              DELAY_US(30000);  //30000us = 30ms
  18.              DELAY_US(30000);  //30000us = 30ms
  19.              DELAY_US(30000);  //30000us = 30ms
  20.              DELAY_US(30000);  //30000us = 30ms
  21.              DELAY_US(30000);  //30000us = 30ms
  22.              DELAY_US(30000);  //30000us = 30ms
  23.              DELAY_US(30000);  //30000us = 30ms
  24.              DELAY_US(30000);  //30000us = 30ms
  25.              DELAY_US(30000);  //30000us = 30ms
  26.              DELAY_US(30000);  //30000us = 30ms
  27.              DELAY_US(30000);  //30000us = 30ms

  28.             GpioDataRegs.GPACLEAR.bit.GPIO0 = 1;   // 输出低电平
  29.             DELAY_US(30000);  //30000us = 30ms
  30.             DELAY_US(30000);  //30000us = 30ms
  31.             DELAY_US(30000);  //30000us = 30ms
  32.             DELAY_US(30000);  //30000us = 30ms
  33.             DELAY_US(30000);  //30000us = 30ms
  34.             DELAY_US(30000);  //30000us = 30ms
  35.             DELAY_US(30000);  //30000us = 30ms
  36.             DELAY_US(30000);  //30000us = 30ms
  37.             DELAY_US(30000);  //30000us = 30ms
  38.             DELAY_US(30000);  //30000us = 30ms
  39.             DELAY_US(30000);  //30000us = 30ms
  40.             DELAY_US(30000);  //30000us = 30ms
  41.             DELAY_US(30000);  //30000us = 30ms
  42.             DELAY_US(30000);  //30000us = 30ms
  43.             DELAY_US(30000);  //30000us = 30ms
  44.             DELAY_US(30000);  //30000us = 30ms
  45.             DELAY_US(30000);  //30000us = 30ms
  46.             DELAY_US(30000);  //30000us = 30ms
  47.             DELAY_US(30000);  //30000us = 30ms
  48.             DELAY_US(30000);  //30000us = 30ms


  49.             EDIS; // 关闭寄存器写保护
  50.     }

  51.         return 0;
  52. }



点亮一个小灯,用延时器达到闪烁的效果
需要注意的是,DSP延时有上限只能通过叠加使用。

回帖(1)

find-all

2023-2-6 16:33:11
DELAY_US  用 for 循环不好么。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分