一、搭建Arduino环境

1、安装Arduino IDE

1)下载Arduino IDE
Arduino官网地址:Arduino Docs | Arduino Documentation | Arduino Documentation

2)安装Arduino IDE
打开安装包一路next即可。

2、在Arduino IDE上安装W806库

1)添加开发板管理器网址
打开Arduino IDE,依次打开 文件 -> 首选项,在“附加开发板管理器网址”一栏添加以下网址。

https://cdn.jsdelivr.net/gh/Hi-LinkDuino/w80x_arduino/package_w80x_proxy_index.json

2)重新启动Arduino IDE
添加网址之后关闭Arduino IDE,再重新打开。

3)下载安装W806库
依次打开 工具 -> 开发板-> 开发板管理器,找到w80x_duino并安装(可以通过搜索快速找到)。

下载安装完成之后就能看到W806的库了。使用的时候最好先重新启动一下Arduino IDE。

 

 二、编写代码

#include <stdio.h>
#include <Arduino.h>
//#include "wm_hal.h"

static volatile uint8_t key_flag = 0;

static void GPIO_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStruct = {0};

    __HAL_RCC_GPIO_CLK_ENABLE();

    GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2;
    GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT;
    GPIO_InitStruct.Pull = GPIO_NOPULL;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0 | GPIO_PIN_1 | GPIO_PIN_2, GPIO_PIN_SET);

    GPIO_InitStruct.Pin = GPIO_PIN_5;
    GPIO_InitStruct.Mode = GPIO_MODE_IT_FALLING;
    GPIO_InitStruct.Pull = GPIO_PULLUP;
    HAL_GPIO_Init(GPIOB, &GPIO_InitStruct);

    HAL_NVIC_SetPriority(GPIOB_IRQn, 0);
    HAL_NVIC_EnableIRQ(GPIOB_IRQn);
}

void setup() {
  // put your setup code here, to run once:
    printf("Led Demo\r\n");
    HAL_Init();
    GPIO_Init();
}

void loop() {
   // put your main code here, to run repeatedly:
    HAL_Delay(500);
    key_flag++;
    
    if (key_flag % 3 == 0)
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, (GPIO_PinState)0);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, (GPIO_PinState)1);
    }
    else if (key_flag % 3 == 1)
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, (GPIO_PinState)0);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, (GPIO_PinState)1);
    }
    else
    {
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_0, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_1, (GPIO_PinState)1);
        HAL_GPIO_WritePin(GPIOB, GPIO_PIN_2, (GPIO_PinState)0);
    }
}

三、编译烧录并运行

1)连接板子
根据自己的板子连接好电源和串口,并在Arduino IDE上面选择设备对于的端口号。

 

2)烧录程序上传
点击“上传”按键,上传的过程中按提示按主板上的复位键即可下载,等待右下角进度条结束即可完成烧录。

 3)运行结果

 

 

 

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐