(STM32笔记5)ws2812驱动开发

2023-05-16

ws2812

需要开发的外设:ws2812

开发环境:MDK

开发板:stm32最小系统板

杜邦线无数

一、原理阐述

(一)这个ws2812有很多种,一个小灯、灯带,矩形像素屏等等。

这些都是DIN连接输入,DOUT连接输出,另外两个引脚是GNE和VCC

 

(二)数据传输原理:

第1个WS2812B灯珠接收到了第1个24bit的数据,做出响应(发光);

第N个WS2812B灯珠接收到了第N个24bit的数据,
再收到第二个24bit的数据后,直接转发给第二个WS2812B灯珠,由第二个WS2812B灯珠做出响应;依次类推。

每次给一个灯一个24位的数据,顺序是GRB-green red bule

(三)数据编码

编码时序是低高电平占位大小来区分的,分别是高比低比例位    1/2-->0 code

                                                                                                      2/1-->1 code

 

 (四)定时器配置

根据WS2812的最大传输速率800kbps,设置定时器不分频和计数周期为89+1,这样下来波形的频率为  72M /(89+1) = 800K  ,并且一个波形的周期为  1 / 800 = 1.25us

我用的最大是72M,不同板子不同配置,自行选择。

二、代码展示

 main.h

#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
#include "ws2812b.h"
uint8_t rgb0[][3] = {0,0,0};
uint8_t rgb1[212][3] = {{0,0,0},{10,0,0},{20,0,0},{30,0,0},{40,0,0},{50,0,0},{60,0,0},{70,0,0},{80,0,0},{90,0,0},
											 {100,0,0},{110,0,0},{120,0,0},{130,0,0},{140,0,0},{150,0,0},{160,0,0},{170,0,0},{180,0,0},{190,0,0},
										   {200,0,0},{210,0,0},{220,0,0},{230,0,0},{240,0,0},{250,0,0},{10,10,0},{20,20,0},{30,30,0},
											 {40,40,0},{50,50,0},{60,60,0},{70,70,0},{80,80,0},{90,90,0},{100,100,0},{110,110,0},{120,120,0},{130,130,0},{140,140,0},
											 {150,150,0},{160,160,0},{170,170,0},{180,180,0},{190,190,0},{200,200,0},{210,210,0},{220,220,0},{230,230,0},{240,240,0},
											 {250,250,0},{10,0,10},{20,0,20},{30,0,30},{40,0,40},{50,0,50},{60,0,60},{70,0,70},{80,0,80},{90,0,90},{100,0,100},{110,0,110},{120,0,120},
											 {130,0,130},{140,0,140},{150,0,150},{160,0,160},{170,0,170},{180,0,180},{190,0,190},{200,0,200},{210,0,210},{220,0,220},
											 {230,0,230},{240,0,240},{250,0,250},{0,10,10},{0,20,20},{0,30,30},{0,40,40},{0,50,50},{0,60,60},{0,70,70},
											 {0,80,80},{0,90,90},{0,100,100},{0,110,110},{0,120,120},{0,130,130},{0,140,140},{0,150,150},{0,160,160},{0,170,170},
											 {0,180,180},{0,190,190},{0,200,200},{0,210,210},{0,220,220},{0,230,230},{0,240,240},{0,250,250},{10,10,10},{30,30,30},
											 {90,90,90},{140,140,140},{200,200,200},{0,0,0},{10,0,0},{20,0,0},{30,0,0},{40,0,0},{50,0,0},{60,0,0},{70,0,0},{80,0,0},{90,0,0},
											 {100,0,0},{110,0,0},{120,0,0},{130,0,0},{140,0,0},{150,0,0},{160,0,0},{170,0,0},{180,0,0},{190,0,0},
										   {200,0,0},{210,0,0},{220,0,0},{230,0,0},{240,0,0},{250,0,0},{10,10,0},{20,20,0},{30,30,0},
											 {40,40,0},{50,50,0},{60,60,0},{70,70,0},{80,80,0},{90,90,0},{100,100,0},{110,110,0},{120,120,0},{130,130,0},{140,140,0},
											 {150,150,0},{160,160,0},{170,170,0},{180,180,0},{190,190,0},{200,200,0},{210,210,0},{220,220,0},{230,230,0},{240,240,0},
											 {250,250,0},{10,0,10},{20,0,20},{30,0,30},{40,0,40},{50,0,50},{60,0,60},{70,0,70},{80,0,80},{90,0,90},{100,0,100},{110,0,110},{120,0,120},
											 {130,0,130},{140,0,140},{150,0,150},{160,0,160},{170,0,170},{180,0,180},{190,0,190},{200,0,200},{210,0,210},{220,0,220},
											 {230,0,230},{240,0,240},{250,0,250},{0,10,10},{0,20,20},{0,30,30},{0,40,40},{0,50,50},{0,60,60},{0,70,70},
											 {0,80,80},{0,90,90},{0,100,100},{0,110,110},{0,120,120},{0,130,130},{0,140,140},{0,150,150},{0,160,160},{0,170,170},
											 {0,180,180},{0,190,190},{0,200,200},{0,210,210},{0,220,220},{0,230,230},{0,240,240},{0,250,250},{10,10,10},{30,30,30},
											 {90,90,90},{140,140,140},{200,200,200}};
uint8_t rgb2[109][3] = {{0,0,0},{0,5,0},{0,10,0},{0,15,0},{0,20,0},{0,25,0},{0,30,0},{0,35,0},{0,40,0},{0,45,0},{0,50,0},{0,55,0},{0,60,0},{0,65,0},{0,70,0},{0,75,0},{0,80,0},{0,85,0},{0,90,0},
											 {0,95,0},{0,100,0},{0,105,0},{0,110,0},{0,115,0},{0,120,0},{0,125,0},{0,130,0},{0,135,0},{0,140,0},{0,145,0},{0,150,0},{0,155,0},{0,160,0},{0,165,0},{0,170,0},{0,175,0},{0,180,0},{0,185,0},{0,190,0},
											 {0,195,0},{0,200,0},{0,205,0},{0,210,0},{0,215,0},{0,220,0},{0,225,0},{0,230,0},{0,235,0},{0,240,0},{0,245,0},{0,250,0},{0,255,0},{0,250,0},{0,245,0},{0,240,0},{0,235,0},{0,230,0},
											 {0,225,0},{0,220,0},{0,215,0},{0,210,0},{0,205,0},{0,200,0},{0,195,0},{0,190,0},{0,185,0},{0,180,0},{0,175,0},{0,170,0},{0,165,0},{0,160,0},{0,155,0},{0,150,0},{0,145,0},{0,140,0},{0,135,0},{0,130,0},
											 {0,125,0},{0,120,0},{0,115,0},{0,110,0},{0,105,0},{0,100,0},{0,95,0},{0,90,0},{0,85,0},{0,80,0},{0,75,0},{0,70,0},{0,65,0},{0,60,0},{0,55,0},{0,50,0},{0,45,0},{0,40,0},{0,35,0},{0,30,0},
											 {0,25,0},{0,20,0},{0,15,0},{0,10,0},{0,5,0},{0,0,0}};
uint8_t rgb3[53][3] = {{0,0,0},{0,0,10},{0,0,20},{0,0,30},{0,0,40},{0,0,50},{0,0,60},{0,0,70},{0,0,80},{0,0,90},
											 {0,0,100},{0,0,110},{0,0,120},{0,0,130},{0,0,140},{0,0,150},{0,0,160},{0,0,170},{0,0,180},{0,0,190},
											 {0,0,200},{0,0,210},{0,0,220},{0,0,230},{0,0,240},{0,0,250},{0,0,255},{0,0,250},{0,0,240},{0,0,230},
											 {0,0,220},{0,0,210},{0,0,200},{0,0,190},{0,0,180},{0,0,170},{0,0,160},{0,0,150},{0,0,140},{0,0,130},
											 {0,0,120},{0,0,110},{0,0,100},{0,0,90},{0,0,80},{0,0,70},{0,0,60},{0,0,50},{0,0,40},{0,0,30},
											 {0,0,20},{0,0,10},{0,0,0}};
uint8_t rgb5[200][3] = {{0,0,0},{100,0,0},
											 {100,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,100,0},{0,100,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,100},{0,0,100},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{10,100,0},{10,100,0},
											 {0,0,0},{0,0,0},{0,0,0},{0,0,0},{10,0,100},{10,0,100},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,10,100},{0,10,100},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{100,0,10},{100,0,10},{0,0,0},{0,0,0},{0,0,0},{0,0,0},
											 {0,0,100},{0,0,100},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{0,100,0},{0,100,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{100,0,0},{100,0,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{100,0,100},{0,100,100},
											 {0,0,0},{0,0,0},{0,0,0},{0,0,0},{100,0,100},{100,100,0},{0,0,0},{0,0,0},{0,0,0},{0,0,0},{90,0,100},{0,100,0}};


											 
uint8_t rgb4[53][3] = {{0,0,0},{10,0,0},{20,0,0},{30,0,0},{40,0,0},{50,0,0},{60,0,0},{70,0,0},{80,0,0},{90,0,0},
											 {100,0,0},{110,0,0},{120,0,0},{130,0,0},{140,0,0},{150,0,0},{160,0,0},{170,0,0},{180,0,0},{190,0,0},
											 {200,0,0},{210,0,0},{220,0,0},{230,0,0},{240,0,0},{250,0,0},{255,0,0},{250,0,0},{240,0,0},{230,0,0},
											 {220,0,0},{210,0,0},{200,0,0},{190,0,0},{180,0,0},{170,0,0},{160,0,0},{150,0,0},{140,0,0},{130,0,0},
											 {120,0,0},{110,0,0},{100,0,0},{90,0,0},{80,0,0},{70,0,0},{60,0,0},{50,0,0},{40,0,0},{30,0,0},{20,0,0},{10,0,0},{0,0,0}};

//每个三位数,每一个位位一个不同颜色,数字大小表明亮度大小,最大256,通过将这个三个灯亮不同种类、大小程度进行调制不同量的颜色
u16 i,j;

 int main(void)
 {	

	delay_init();	      
	LED_Init();		  	
  Timer2_init();
	 
	while(1)
	{
		
		

		for(i=0;i<110;i++)
		{
			WS2812_send(&rgb2[i],50,0);
			delay_ms(50);
		}
		for(i=0;i<77;i++)
		{
		  WS2812_send(&rgb5[i],50,0);
			delay_ms(50);
		}	
		for(i=0;i<212;i++)
		{
			WS2812_send(&rgb1[i],50,1);
			delay_ms(50);
		} 
	}
 }



 每个三位数,每一个位位一个不同颜色,数字大小表明亮度大小,最大256,通过将这个三个灯亮不同种类、大小程度进行调制不同量的颜色

 

ws2812.c

#include "WS2812B.h"

#define TIM2_CCR1_Address 0x40000034
	
#define TIMING_ONE  50
#define TIMING_ZERO 25
 uint16_t LED_BYTE_Buffer[300];
void WS2812_send(uint8_t (*color)[3], uint16_t len,u8 flag)
{
	static unsigned char iie = 0;
	uint8_t i;
	uint16_t memaddr;
	uint16_t buffersize;
	buffersize = (len*24);
	memaddr = 0;				

	while (len)
	{	
		for(i=0; i<8; i++) // G
		{
			LED_BYTE_Buffer[memaddr] = ((color[iie][1]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
			memaddr++;
		}
		for(i=0; i<8; i++) // r
		{
				LED_BYTE_Buffer[memaddr] = ((color[iie][0]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
				memaddr++;
		}
		for(i=0; i<8; i++) // B
		{
				LED_BYTE_Buffer[memaddr] = ((color[iie][2]<<i) & 0x0080) ? TIMING_ONE:TIMING_ZERO;
				memaddr++;
		}
		if(flag==1)
		{
		if(iie>=12)
			iie = 0;
			iie++;
			
		}
		len--;
	}

 

 ws2812.h

#ifndef __WS2812B_H
#define	__WS2812B_H

#include "stm32f10x.h"
#include "delay.h"	

void Timer2_init(void);
void WS2812_send(uint8_t (*color)[3], uint16_t len,u8 flag);

#endif 

BUG:

如果使用象素萍的话我们只能成功使用50个,然后使用单一装置和小灯带可以成功,这个目前没有解决。

完整工程代码:

(35条消息) 外设ws2812使用32驱动-单片机文档类资源-CSDN文库icon-default.png?t=M666https://download.csdn.net/download/weixin_52451652/86399407?spm=1001.2014.3001.5503

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

(STM32笔记5)ws2812驱动开发 的相关文章

  • c项目makefile多重定义错误

    这个问题是一个对应于创建的repexthis问题 在我的嵌入式 C 项目中 我有两个独立的板 我想为每个板创建两个 c 文件 master c 和 Slave c 其中包含自己的特定main 功能 我使用 stm32cumbemx 生成带有
  • 134-基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真+源程序...

    资料编号 134 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 ds1302时钟 DHT11温湿度 电机 蜂鸣器 制作一个基于stm32单片机矿井瓦斯天然气浓度温湿度检测自动通风系统Proteus仿真 2 通过DH
  • 137-基于stm32单片机智能保温杯控制装置Proteus仿真+源程序

    资料编号 137 一 功能介绍 1 采用stm32单片机 LCD1602显示屏 独立按键 DS18B20传感器 电机 制作一个基于stm32单片机智能保温杯控制装置Proteus仿真 2 通过DS18b20传感器检测当前保温杯水的温度 并且
  • HAL库STM32常用外设教程(二)—— GPIO输入\输出

    HAL库STM32常用外设教程 二 GPIO输入 输出 文章目录 HAL库STM32常用外设教程 二 GPIO输入 输出 前言 一 GPIO功能概述 二 GPIO的HAl库驱动 三 GPIO使用示例 1 示例功能 四 代码讲解 五 总结
  • Push_back() 导致程序在进入 main() 之前停止

    我正在为我的 STM32F3 Discovery 板使用 C 进行开发 并使用 std deque 作为队列 在尝试调试我的代码 直接在带有 ST link 的设备上或在模拟器中 后 代码最终在 main 中输入我的代码之前在断点处停止 然
  • 匹配 STM32F0 和 zlib 中的 CRC32

    我正在研究运行 Linux 的计算机和 STM32F0 之间的通信链路 我想对我的数据包使用某种错误检测 并且由于 STM32F0 有 CRC32 硬件 并且我在 Linux 上有带有 CRC32 的 zlib 所以我认为在我的项目中使用
  • STM32超声波——HC_SR04

    文章目录 一 超声波图片 二 时序图 三 超声波流程 四 单位换算 五 取余计算 六 换算距离 七 超声波代码 一 超声波图片 测量距离 2cm 400cm 二 时序图 1 以下时序图要先提供一个至少10us的脉冲触发信号 告诉单片机我准备
  • STM32 GPIO工作原理详解

    STM32 GPIO介绍 1 STM32引脚说明 GPIO是通用输入 输出端口的简称 是STM32可控制的引脚 GPIO的引脚与外部硬件设备连接 可实现与外部通讯 控制外部硬件或者采集外部硬件数据的功能 以STM32F103ZET6芯片为例
  • 硬件基础-电容

    电容 本质 电容两端电压不能激变 所以可以起到稳定电压作用 充放电 电容量的大小 想使电容容量大 使用介电常数高的介质 增大极板间的面积 减小极板间的距离 品牌 国外 村田 muRata 松下 PANASONIC 三星 SAMSUNG 太诱
  • 解决KEIL编译慢问题

    两种方案 使用v6版本的ARM Compiler 如果v6版本编译不过 必须使用v5版本的 则可以勾选掉Browse Information选项 提升很明显 1分多钟能优化到几秒 看代码量 但是这个有个弊端 在KEIL中会影响函数跳转 建议
  • linux ARM64 处理器内存屏障

    一 内存类型 ARMv8架构将系统中所有的内存 按照它们的特性 划分成两种 即普通内存和设备内存 并且它们是互斥的 也就是说系统中的某段内存要么是普通内存 要么是设备内存 不能都是 1 普通内存 Normal Memory 普通内存的特性是
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • 1.69寸SPI接口240*280TFT液晶显示模块使用中碰到的问题

    1 69寸SPI接口240 280TFT液晶显示模块使用中碰到的问题说明并记录一下 在网上买了1 69寸液晶显示模块 使用spi接口 分辨率240 280 给的参考程序是GPIO模拟的SPI接口 打算先移植到FreeRtos测试 再慢慢使用
  • STM32 暂停调试器时冻结外设

    当到达断点或用户暂停代码执行时 调试器可以停止 Cortex 中代码的执行 但是 当皮质停止在暂停状态下执行代码时 调试器是否会冻结其他外设 例如 DMA UART 和定时器 您只能保留时间 r 取决于外围设备 我在进入主函数时调用以下代码
  • STM32F207 I2C 测试失败

    我正在使用 STM32F207 微控制器在 STM3220G EVAL 板上学习嵌入式开发 我尝试通过连接同一芯片上的两个 I2C2 和 I2C3 模块并发送 接收字符来测试 I2C 接口 这是我当前编写的代码 使用 mdk arm 5 i
  • 无法使用 OpenOCD 找到脚本文件

    我正在尝试按照本教程将 OpenOCD 与我的 ST 发现板一起使用 https japaric github io discovery README html https japaric github io discovery READM
  • Cortex-M3与M4权威指南

    处理器类型 所有的ARM Cortex M 处理器是32位的精简指令集处理器 它们有 32位寄存器 32位内部数据路径 32位总线接口 除了32位数据 Cortex M处理器也可以有效地处理器8位和16位数据以及支持许多涉及64位数据的操作
  • 核心耦合内存在 STM32F4xx 上可执行吗?

    尝试从 STM32F429s CCM 运行代码 但每当我命中 CCM 中的第一条指令时 我总是会遇到硬故障 并且 IBUSERR 标志被设置 该指令有效且一致 STM32F4xx 是否可能不允许从 CCM 执行 数据访问效果良好 alios
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • STM32 传输结束时,循环 DMA 外设到存储器的行为如何?

    我想问一下 在以下情况下 STM32 中的 DMA SPI rx 会如何表现 我有一个指定的 例如 96 字节数组 名为 A 用于存储从 SPI 接收到的数据 我打开循环 SPI DMA 它对每个字节进行操作 配置为 96 字节 是否有可能

随机推荐

  • Spring MVC超详细介绍!(包含基本配置)

    目前spring的后端架构 xff1a web层 xff1a servlet 数据访问层 xff1a Dao 业务逻辑层 xff1a service SpringMVC 概述 springMVC 是 spring 框架的一个模块 xff0c
  • 心怀美好,每天多一点微笑

    时光总是匆匆 xff0c 一年又到了尽头 xff0c 十一月底了 xff0c 还有一个月一年又过去了 我们回首过往 xff0c 有收获也要遗憾 在接下来的一个月 xff0c 心怀美好 xff0c 每天多一点微笑 xff0c 闲暇时 xff0
  • 5步完整的实操步骤,手把手教你,新手如何入门做短视频自媒体

    现在短视频越来越火爆 xff0c 很多人都会在空闲时间拿出手机刷刷短视频 xff0c 长的也就5分钟 xff0c 短的几十秒 1分钟 xff0c 符合现在人的碎片化时间的习惯 xff0c 所以这个行业会越来越热 知道做短视频能赚钱很多新手想
  • oracle时间判断

    正常情况下 span class token keyword select span user id span class token punctuation span create time span class token keywor
  • 新手小白做短视频自媒体,入门级教程分享,抓紧收藏

    很多新手做短视频自媒体 xff0c 坚持了一段时间后因为没有得到自己想要的收益 收益很低就放弃了 做任何事情坚持都是非常重要的 xff0c 做短视频也是 xff0c 前期可能要花费一段时间积累 xff0c 后期是爆发式的增长 xff0c 很
  • 新手做自媒体短视频,不会剪辑?大周教你10个小技巧

    有不少小伙伴给大周发信息说自己也想做自媒体短视频赚钱 xff0c 但自己不会剪辑怎么办 xff1f 不用担心 xff0c 方法总比困难多 xff0c 今天大周分享一下我整理了很久的剪辑小技巧给你们 xff0c 建议新手们收藏或保存下来留着慢
  • 0基础适合新手,5分钟教会你视频剪辑,新手做自媒体短视频必备

    昨天大周发了一个听歌的项目火了后 xff0c 收到很多粉丝给大周留言 xff0c 说自己也想做自媒体 但是他们最大的一个难题就是不知道怎么去剪辑 xff0c 今天就出这一期剪辑的基本教学 xff0c 感兴趣的小伙伴可以先点赞收藏这个内容了
  • 学会后不用担心不会剪辑了,手把手教你视频剪辑,不用真人露脸

    前段时间发布了几期有关剪辑的内容 xff0c 收到不少粉丝小伙伴的留言 xff0c 说自己很想做自媒体 现在遇到的最大的难题就是如何剪辑好视频作品 xff0c 今天就来出这一期的基本教学 xff0c 大周只分享今天这一次 xff0c 如果感
  • 这3个点很重要,做自媒体视频文案怎么写?需要注意哪些细节呢?

    做视频拍摄或剪辑之前写文案 脚本是很多做自媒体人的习惯了 xff0c 但是你有想过这个问题吗 xff1f 你的脚本有没有起到最大作用 xff0c 文案写对了吗 xff1f 有不少人都以为文案只需要把视频中需要的台词写下来就可以了 xff0c
  • 跟我做,快速帮你加入中视频伙伴计划,播放量没达到17000?

    想加入中视频计划获得更高的播放量和收益 xff1f 肯定还在为17000的播放量而发愁吧 xff1f 今天大周就来教你一招快速加入 xff0c 原创不易 xff0c 点个赞支持一下呗 xff01 在干货开始之前大周想问你们一个问题 xff1
  • 这样提升账号权重和活跃度,收益涨了十倍,不怕账号没流量涨粉慢

    播放量低 xff1f 涨粉慢 xff1f 收益只有几分几毛 xff1f 有的时候还往下掉粉 xff1f 其实想要做好自媒体不仅仅是把视频作品创作好 xff0c 更要知道如何去运营好一个自媒体账号 今天大周就来给你们分享一下大周是如何活跃自己
  • 分享3个自动生成文案的工具,月入6000,做自媒体不会写文案?

    做自媒体短视频不会写文案 xff0c 头都大了 xff01 在这个各种辅助工具 泛滥 的自媒体时代 xff0c 你还在自己写文案 xff1f 事实上 xff0c 对于一个刚开始做自媒体的新手小白来说 xff0c 写视频文案是一件比较费力的事
  • 不知道如何做自媒体怎样学习?

    上一期内容大周跟粉丝们分享了如何起步 xff1a 注册账号 账号定位 xff01 这两个步骤是尤为重要的 没有前期的定位 xff0c 后期想要通过账号赚钱是并不容易的 自己不会做内容 xff0c 不知道如何操作应该怎么办呢 xff1f 今天
  • 做自媒体去哪里找视频剪辑素材?

    当我们注册好自媒体账号 有了创作的方向 完成了前期的学习 xff0c 接下来就是实践操作了 前期我们可以从视频的二次剪辑创作开始 xff0c 不需要自己拍摄视频素材 xff0c 创作起来会更快捷一些 那我们要去哪里找素材好呢 xff1f 这
  • oracle创建用户、表空间、授权、建表等一系列操作

    开发过程中自己搭建测试数据库的次数不多 xff0c 但建立新用户建新表会经常碰到 xff0c 整理方便日后开发 xff0c 不需要再为此花费过多时间 1 用scott用户以sysdba的身份登录oracle conn scott span
  • 自媒体视频剪辑有哪些技巧需要注意?

    前几期内容跟粉丝们分享了账号注册 账号定位 素材资源 xff0c 接下来就到了比较关键的内容剪辑部分了 大周这里说的剪辑并不是简单的视频画面拼接 xff0c 如果只是简单的拼凑内容 xff0c 我想你也不会喜欢看吧 xff1f 首先我们要学
  • 利用汇编语言实现1-5的数字阶乘并求和

    开发环境masm 代码如下 xff1a assume cs code ds data data segment dw 1 2 3 4 5 dd 0 data ends code segment start mov ax data mov d
  • 事件监听的理解(ActionListener等)

    Java事件监听机制在GUI应用的比较多 我们会时常对界面进行一系列的操作 如文本框输入 添加删除按钮等等 当进行这些操作时 xff0c 程序就会采取相应措施相应这些事件 一 事件监听有三部分组成 xff1a 事件源 xff0c 事件 xf
  • 【HAL库-STM】智能温控按键小风扇【胎教级教学】

    嗨害嗨 xff01 失踪人口回来了 xff01 吐血五天实现小成品 xff08 能力有限 呃呃呃呃呃 xff09 那么回归正题 xff0c 这次是智能温控小风扇我在这个基础上又加了一个按键控制功能 xff0c 当人在的风扇面前时可以自行控制
  • (STM32笔记5)ws2812驱动开发

    ws2812 需要开发的外设 xff1a ws2812 开发环境 xff1a MDK 开发板 xff1a stm32最小系统板 杜邦线无数 一 原理阐述 xff08 一 xff09 这个ws2812有很多种 xff0c 一个小灯 灯带 xf