程序开发平台:CDK
程序下载软件:Upgrade_Tools_V1.4.8.exe
驱动:ch340 usb转串口驱动
相关开发平台搭建及安装,论坛很多啦,这里就不再赘述了。
让板载得三个led实现闪烁效果
联盛德W806-KIT
如图,飞线是为了实现串口一键下载,不用手动复位了。
查看板子原理图,led对应引脚情况如下:
led0 --> PB0
led1 --> PB1
led2 --> PB2
本实验在官方sdk基础上添加 led.c 和 led.h 文件
led.c
#include "led.h"
#include "wm_hal.h"
void led_init(void)
{
GPIO_InitTypeDef gpio_init_struct;
gpio_init_struct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2;
gpio_init_struct.Mode = GPIO_MODE_OUTPUT;
gpio_init_struct.Pull = GPIO_NOPULL;
HAL_GPIO_Init(GPIOB, &gpio_init_struct);
HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2, GPIO_PIN_SET);
}
led.h
//led.h
#ifndef _LED_H
#define _LED_H
#define led0_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_RESET)
#define led0_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, GPIO_PIN_SET)
#define led0_toggle() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_0);
#define led1_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_RESET)
#define led1_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, GPIO_PIN_SET)
#define led1_toggle() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_1);
#define led2_on() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_RESET)
#define led2_off() HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, GPIO_PIN_SET)
#define led2_toggle() HAL_GPIO_TogglePin(GPIOB, GPIO_PIN_2);
void led_init(void);
#endif
修改main.c
#include
#include "wm_hal.h"
#include "led.h"
//#include "csi_config.h"
void Error_Handler(void);
void led_init(void);
int main(void)
{
SystemClock_Config(CPU_CLK_240M);
printf("enter mainrn");
printf("hello,worldrn");
led_init();
//trap_c(0x00);
while (1)
{
printf(".");
led0_toggle();
led1_toggle();
led2_toggle();
HAL_Delay(500);
}
}
void Error_Handler(void)
{
while (1)
{
}
}
void assert_failed(uint8_t *file, uint32_t line)
{
printf("Wrong parameters value: file %s on line %drn", file, line);
}
右击工程 -> 选择build
工程编译输出如下,没有错误或警告,表示编译成功。
打开 Upgrade_Tools_V1.4.8.exe,开始下载程序
三个 led 同时闪烁
下载软件串口成功接收到 helloworld 打印
官方的 sdk 代码,不要随便改动,可能带来意想不到得到 bug。
官方的 CDK 还是蛮好用的
由于产品不是很稳定,串口下载可能试好几次才成功
全部0条评论
快来发表一下你的评论吧 !