一个简单的跑马灯

拿到板子一转眼已经过去许久,本想通过JLINK 类的工具来连接调试,就沟通得知只知此ADS下的 Multi ICE,没有此工具,还是老实使用ISP 下载加串口信息调试吧!

 

通过USB ISP很容易就将例程下载成功,还是动动手,写点才能真正深入了解。

 

第一次就弄个简单的跑马灯

 

1,先认识下线路:

333.png

在板上一共有四颗led,D2,D3,D4 三个LED 分别由PB3,PB4,PB5 控制,低电平有效。

 

2,定义LED ,方便后面使用

#define LED2                 1<<3

#define LED2_OUT_INIT(  )     { R32_PB_OUT |= LED2; R32_PB_DIR |= LED2; }         /* LED 高电平为输出方向 */

#define LED2_OUT_ACT(  )      { R32_PB_CLR |= LED2; }                            /* LED 低电平驱动LED显示 */

#define LED2_OUT_INACT(  )    { R32_PB_OUT |= LED2; }                            /* LED 高电平关闭LED显示 */

 

 

#define LED3                 1<<4

#define LED3_OUT_INIT(  )     { R32_PB_OUT |= LED3; R32_PB_DIR |= LED3; }         /* LED 高电平为输出方向 */

#define LED3_OUT_ACT(  )      { R32_PB_CLR |= LED3; }                            /* LED 低电平驱动LED显示 */

#define LED3_OUT_INACT(  )    { R32_PB_OUT |= LED3; }                            /* LED 高电平关闭LED显示 */

 

#define LED4                 1<<5

#define LED4_OUT_INIT(  )     { R32_PB_OUT |= LED4; R32_PB_DIR |= LED4; }         /* LED 高电平为输出方向 */

#define LED4_OUT_ACT(  )      { R32_PB_CLR |= LED4; }                            /* LED 低电平驱动LED显示 */

#define LED4_OUT_INACT(  )    { R32_PB_OUT |= LED4; }                            /* LED 高电平关闭LED显示 */

 

LEDx_OUT_INIT()  用于初始化端口

LEDx_OUT_ACT()   用于点亮LED

LEDx_OUT_INACT() 用于关闭LED

 

3,跑马灯的效果就是一个个等依次点亮熄灭

 

LED2_OUT_ACT( );     //点亮 LED2

Delay_ms(300);        //保持300mS

 

LED2_OUT_INACT( );   //熄灭LED2

LED3_OUT_ACT( );      //点亮LED3

Delay_ms(300);         //保持300mS

 

LED3_OUT_INACT( );   //熄灭LED3

LED4_OUT_ACT( );      //点亮LED4 

Delay_ms(300);         //保持300mS

 

LED4_OUT_INACT( );   //熄灭LED4

 

以上代码完成一个周期,将以上代码重复执行就可以实现跑马灯的效果。

 

4,完整代码见附件:

icon_rar.gifpamadeng.zip


j_0057.gif


只有登录才能回复,可以选择微信账号登录