|
这个开发板还是一如既往的简洁,我就喜欢这种风格。板子默认下载了流水灯程序,所以红橙绿三个LED流动亮灭。为了学习用WorkBench开发,启动WorkBench,选择合适的系列和型号,
根据电路图,找到LED对应的几个GPIO口,
先做一个简单的闪烁灯程序。在Work Bench中设置PD13、PD14、PD15位输出口,
这三个IO口以外的是默认的,不用管。为了方便产生延时信号,加入定时器1。按照下图设置为2Hz的周期。
配置定时器1中断:
只选择溢出中断。好了,先保存下这个配置,方便下次直接调出来用。保存完成后,可以试着生成代码了。
因为准备使用雅特力自己的IDE处理,所以要配置好选项:
因为要用固件包,所以选择了“下载最新版本”
点击“确定”,等待完成。
我点击了“打开项目”,结果系统跳转到“STM32CubeIDE”去了。唉,还是老老实实打开雅特力的IDE来打开这个工程吧。打开IDE,选择导入已存在的工程到工作区,
然后是改造代码,加入定时中断,
在wk_tmr1_init函数中的末尾加上一句:
// 允许Timer1溢出中断
tmr_interrupt_enable(TMR1, TMR_OVF_INT, TRUE);
不加的话,中断是不起作用的。
编译程序,需要下载时,要配置调试选项:
需要建立一个新的AT-Link 调试器,如上图所示,然后就可以调试运行了。这里要注意一点哈,不要使用低版本的计算机USB口,否则会出现错误,提示找不到Dap Link调试器。
程序运行起来了,那三个LED以一秒的周期闪烁。
在主程序的循环中使用以下代码:
while (1) {
/* add user code begin 3 */
if (flag) {
gpio_bits_write(GPIOD, LD1_PIN, TRUE);
gpio_bits_write(GPIOD, LD2_PIN, TRUE);
gpio_bits_write(GPIOD, LD3_PIN, TRUE);
} else {
gpio_bits_write(GPIOD, LD1_PIN, FALSE);
gpio_bits_write(GPIOD, LD2_PIN, FALSE);
gpio_bits_write(GPIOD, LD3_PIN, FALSE);
}
/* add user code end 3 */
}