拿到板子一转眼已经过去许久,本想通过JLINK 类的工具来连接调试,就沟通得知只知此ADS下的 Multi ICE,没有此工具,还是老实使用ISP 下载加串口信息调试吧!
通过USB ISP很容易就将例程下载成功,还是动动手,写点才能真正深入了解。
第一次就弄个简单的跑马灯
1,先认识下线路:
在板上一共有四颗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,完整代码见附件: