
C语言学习
猿之梦#
这个作者很懒,什么都没留下…
展开
-
STM32控制RGB(WS2812B)灯 ,纳秒(ns)级延时配置
一:WS2812B灯介绍: 1: 脚位: 2:数据0码:高电平时间220ns-500ns 低电平时间750ns-2us1码:高电平时间750ns-2us 低电平时间220ns-500ns复位码:300us以上的低电平由24位数据控制,高8bit控制绿灯,中8bit控制红灯,低8bit控制蓝灯。二:STM32介绍由于STM32时钟教学时钟配置72兆,按照计算纳秒延时应该是可以的,可是通过实际测试,可能...原创 2021-12-04 17:29:44 · 14451 阅读 · 6 评论 -
RGB(三色)灯配置常用颜色数据,用法讲解,基于C语言的程序讲解,七彩渐变程序讲解
本人新手,此讲解适合新手朋友,大神不喜勿喷。通过实际测试过的,请放心消化。1:灯的计数配置如下:2:七色在模拟PWM程序中的配置,原理:在一个周期中 灯亮的时长 /周期时长 = 占空比 ,此程序是通过占空比来调节各个灯的亮度,上表的配置参数为三种灯的比例参数,按照此参数配置为最亮。所以在配置橙的灯时,红色灯整个周期都亮,绿色灯只亮周期的一半时长。七彩渐变是每一种灯由暗变亮,在由亮变暗,然后在切换到另一种灯光的最暗状态继续循环。代码如下:/*******...原创 2021-11-24 17:02:39 · 18121 阅读 · 4 评论 -
BS814A触摸芯片用法,IIC(I2C)使用讲解以及实例代码基于C语言
一:了解触摸芯片的工作协议 1:资料BS814A(8SOP)为例:2:数据讲解 此芯片是通过IIC接收八位数据来判断四个按键是否按下的,bit0-3代表Key1-4脚位的触摸按键的状态,0代触摸按键按下,1则为没有按下。 bit6-4代表按键上有几个按键按下,000表示没有按键按下,100表示四个按键全部按下。 bit7为停止位,此位总是为“1”。3:iic数据接收讲解BS81...原创 2021-11-17 15:10:21 · 4464 阅读 · 1 评论 -
C语言--内存四区(堆区.栈区.全局区.程序区)讲解
本人在学习记录,觉得有帮助的点个赞,谢谢谢谢谢谢。1.全局区:全局变量:在函数外部定义的变量。 静态变量:static修饰定义的变量。 常量:数字常量或者字符串常量,由#define 常量 常量数值,修饰的常量 例:#include <stdio.h>char * getStr1() { //定义可返回指针的数组 char *p1 = "abcde"; /*把字符串常量的地址为指针变量p1,相当于在外部声明#d...原创 2021-07-01 18:56:00 · 749 阅读 · 0 评论 -
C语言中如何计算无长度的数组(数组可以不定义长度)
1.sizeof:计算数据类型或变量长度(即所占字节数)。2.实例:int main(){int i = 0;}原创 2021-06-09 09:15:22 · 2832 阅读 · 0 评论 -
C语言,在定时器中断模式中,单个按键 连续按下两次(开关灯) 和长时间按下(开关灯)功能
1.定时器中断设置:由于按键按下可能有抖动,所以我设置的时间为1ms进入一次,这样的话可以在程序中加点防抖判断。2:定时器中断回调函数:void hx_keyset_timer_(eTIMER_IDX TimerIdx){ static uint16_t KEYNUM_1 = 0; //按键按下计数 static uint16_t KEYNUM_2 = 0; //按键松开计数 static uint8_t keyflag1 = 0;...原创 2021-05-31 11:05:19 · 2462 阅读 · 0 评论 -
按键扫键脚位设置
1.一个按键由两个普通IO口控制:一个IO口设置为输出高(或输出低)模式,另外一个设置为输入下拉(或输入上拉)模式,判断设置为输入的IO口的值,若下拉模式下其值为1,则有按键按下,否则...原创 2021-05-28 11:53:59 · 463 阅读 · 0 评论