K210入门-裸机开发(三)之ws2812b 幻彩ARGB!!!!

开发板:K210 AIRV R3版 widora

开发环境:kendryte IDE 官方的

必须的参考文档:Standalone SDK编程指南v0.5.0,以及widora的原理图

(一) 新建文件夹 03my_code_ws2812

点击礼物 -> 地球

点击 实例 搜ws2812 选择develop 然后下载到刚才03mycode文件夹那边

选择好之后 项目工程自动调到新的ws2812b上面的了

安装依赖

清理+构建

开始修改代码 (有现成的代码(驱动) 我干嘛去写新的,学会GPIO输入输出就行)

(二)修改代码

找到板子上原理图 找到ws2812的引脚

在原理图搜索 LEDDI 找到连到哪个引脚

为IO15

在main.c中 修改这个为15就行

插上开发板,先按刷新 连接到开发板 然后选择对应的下载COM口 再烧录

烧录之后灯毛线都没反应, 但串口正常输出

 

找了一下 发现了问题了

(三) 回到正常步骤来 config->device 

修改成开发板的IO15,然后保存

再一条龙走起 清理 + 构建 +下载

效果

 

WS2812B学习完毕 下次再见

代码如下

#include <bsp.h>

#include <fpioa.h>

#include <gpiohs.h>

#include <stdint.h>

#include <sysctl.h>

#include <uarths.h>

#include <ws2812b.h>

 

#define WS_PIN 15

#define SPI_NUM SPI_DEVICE_0

 

ws2812_info *ws_info;

 

int main(void) {

sysctl_cpu_set_freq(500000000UL); //设置CPU频率 500M?

uarths_init(); //串口

 

ws_info = ws2812_get_buf(1); // 一个WS2812

 

printk("WS_SPI_TEST\n");

while (1) { //参数1为缓存(就一个),参数2为第几盏灯,参数345为RGB

ws2812_set_data(ws_info, 0, 0, 0, 0x11);

//参数1为SPI几,参数2为SPI对应的DMA通道,参数3为缓存

ws2812_send_data_spi(SPI_NUM, 1, ws_info);

printk("blue\n");

sleep(1);

ws2812_set_data(ws_info, 0, 0, 0x11, 0);

ws2812_send_data_spi(SPI_NUM, 1, ws_info);

printk("green\n");

sleep(1);

ws2812_set_data(ws_info, 0, 0x11, 0, 0);

ws2812_send_data_spi(SPI_NUM, 1, ws_info);

printk("red\n");

sleep(1);

}

}

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值