- 博客(21)
- 资源 (6)
- 收藏
- 关注
原创 DCDC电源转换电路集合:MP1584、ETA1486、ETA3499
DC-DC低压转换电路,MP1584,ETA1486,ETA3499使用总结
2023-07-11 22:17:57
847
原创 Arduino DHT11温湿度模块 LCD1602A
arduino实现环境温湿度检测涉及模块:DHT11模块,LCD1602A接线图LCD参考前面设计实验代码#include <dht11.h>#include <LiquidCrystal.h>#define DHT11PIN 8dht11 DHT11;LiquidCrystal lcd(12, 11, 5, 4, 3, 2);void setup() { pinMode(DHT11PIN,OUTPUT); // set up the LCD's n
2020-12-24 17:10:25
2374
2
原创 STM32F407 DHT11温湿度模块读取 模拟IIC
STM32F407 DHT11温湿度模块读取 模拟IICDHT11.c#include "dht11.h"#include "delay.h"#include "sys.h"/*********************************引脚说明:PG9 -- DQ**********************************/void Dht11_Init(void){ GPIO_InitTypeDef GPIO_InitStructure; RCC_AHB1
2020-12-24 17:00:50
1371
3
原创 Arduino 光敏传感器 LCD1602A
arduino实现光控灯,光控开关涉及模块:光敏传感器,LCD1602A接线图实验代码:#include <LiquidCrystal.h>LiquidCrystal lcd(12, 11, 5, 4, 3, 2);#define photocellpin A5//int photocellpin=8;float Intensity = 0; void setup() {lcd. begin(16, 2);Serial.begin(9600);pinMode(
2020-11-27 15:45:27
1798
原创 Arduino 超声波测距 LCD1602A
arduino实现超声波测距涉及模块:四线超声波测距模块,LCD1602ALCD1602连接实验代码:#include <LiquidCrystal.h>LiquidCrystal lcd(12, 11, 5, 4, 3, 2);const int TrigPin = 7;const int EchoPin = 6;float cm; void setup() {lcd. begin(16, 2);pinMode(TrigPin, OUTPUT);pinMode
2020-11-27 15:40:22
2215
原创 STM32F407 按键抖动 延时消抖
按键抖动:在机械按键的触点闭合和断开时,都会产生抖动,为了保证系统能正确识别按键的开关,就必须对按键的抖动进行处理。按键的抖动对于人类来说是感觉不到的,但对单片机来说,则是完全可以感应到的,而且还是一个很“漫长”的过程,因为单片机处理的速度在“微秒”级,而按键抖动的时间至少在“毫秒”级。单片机如果在触点抖动期间检测按键的通断状态,则可能导致判断出错,即按键一次按下或释放被错误地认为是多次操作,从而引起误处理。因此,为了确保单片机对一次按键动作只作—次响应,就必须考虑如何消除按键抖动的影响。按键读取识
2020-11-26 20:14:44
2912
原创 STM32F407 定时器 时钟 Systick
时钟-定时器1.外部中断线跟GPIO的连接 不同组同号相连同号中断线2.全局中断号EXTI中断服务函数0-4 EXTIX_IRQhander();0 EXTI0_IRQn23 EXTI9_5IRQn 公用中断号::中断号共用,中断函数也共用40 EXTI15_10IRQn 公用中断号共用时,共用服务函数要判断标志位 if(EXTI_GetITPendingBit(EXTI_Line5) == 1) { //函数 //清除标志位 EXTI_ClearITPendingBit(
2020-11-26 19:24:22
2635
原创 STM32F407 按键中断 PA0
此处配置GPA0引脚口为按键,下降沿触发1.开启GPIO时钟开启EXTI相关时钟RCC_ APB2PeriphClockCmd(RCC_ APB2Periph_ SYSCFG, ENABLE);2.对应引脚使用GPIO_init();配置为输入模式3.使用SYSCFG_EXTILineConfig() ;选择一个引脚连接对应的一个外部中断线(EXTI0-15)4.使用EXTI_Init();选择模式(中断模式,事件模式(不会以中断机制处理))(上升沿,下降沿,边缘触发);5.配置刚开启的外部中
2020-11-25 17:22:45
3469
原创 C++中的前后置++重载
class Animal{public: Animal() { cout<<"无参构造"<<endl; } Animal(int _age) { cout<<"有参构造"<<endl; age=_age; } //前置的++ int operator++() { cout<<"前置++被调用"<<endl; this->age+=1; return this->ag
2020-11-05 23:43:03
653
原创 Linux - 线程池
//各类常用头文件#include <stdio.h>#include <stdlib.h>#include <stdbool.h>#include <unistd.h>#include <sys/stat.h>#include <sys/types.h>#include <sys/mman.h>#include <linux/fb.h>#include <linux/input.h
2020-11-05 22:18:14
178
1
原创 RC522读卡
#include <stdio.h>#include <assert.h>#include <fcntl.h> #include <unistd.h>#include <termios.h> #include <sys/types.h>#include <sys/ioctl.h>#include <sys/select.h>#include <stdlib.h>#include &l
2020-11-05 22:06:39
1227
1
原创 Linux-JPEG格式图片显示
display_jpeg.c#include <stdio.h>#include <setjmp.h>#include <stdlib.h>#include <jpeglib.h>#include <jerror.h>extern JSAMPLE * image_buffer; /* Points to large array of R,G,B-order data */extern int image_height; /* Num
2020-11-05 21:53:20
2461
原创 Linux -c- 多线程
多进程1. 多进程相关的理论概念 进程:一个正在运行的程序,系统中就会产生一个对应的进程,动态的概念,在内存中运行 程序:编译器编译得到的二进制程序,静态的概念,存储在电脑的磁盘上 父进程:你调用fork这个函数,创建出来的就是子进程,调用fork的进程就是父进程 子进程:fork产生的都是子进程 进程的ID号(pid):类似于进程的"身份证号"
2020-09-24 23:56:33
2119
原创 const 的作用
constconst 推出的bai初始目的,正是为了取代预编译指令,消除它du的缺点,同时zhi继承它的优点。const关键字使用非常的灵活,这一点和daophp差别很大,php中const用来在类中定义一个常量,而在c中,const因位置不同有不同的作用,因情景不同有不同的角色,使用起来也是非常的灵活。一、const用来修饰普通的变量(指针变量除外)的时候,const type name 和 type const name 这两种形式是完全等价的,都表示其是常量,不能进行修改。二、const用来修
2020-09-07 09:43:01
183
原创 bmp图片显示(任意位置任意大小)
文章目录前言图片显示1.普通全屏(800*480)显示bmp2.在任意位置显示任意大小bmp图片头文件前言Linux系统,GEC6818,800*480,bmp图片图片显示由文件IO实现(open,read,write)。1.普通全屏(800*480)显示bmp代码如下(示例)://显示完整图片的接口函数void show_bmp(char *photoname){ //存储图片像素信息 char bmpbuf[800*480*3]; int tmpbuf[800*480];
2020-08-19 19:43:28
5330
原创 800*480bmp图片显示
文章目录前言一、使用步骤代码:头文件:前言显示800*480像素的bmp图片(使用内存映射)一、使用步骤代码:代码如下:#include "project.h"//定义一个存放触摸屏信息的结构体struct input_event touch;//封装两个函数一个显示图片、一个触摸屏int Display_Bmp(int coos,char * pic_path){ int bmpfd; int lcdfd; int i,j,k; int x,y; //定义数组存放读
2020-08-17 19:52:14
3411
原创 Linux内核链表以及内核链表的使用
linux内核链表内核链表的本质本质就是双向循环链表,linux把前面我们觉得有难度,容易写错的指针操作封装成函数,直接给我们调用,大大方便我们写代码内核链表的基本的原理linux中定义了一个结构体,用来存放指针 struct list_head { struct list_head *next, *prev; };内核链表提供的常用接口函数(1) 初始化节点中next和prev指针INIT_LIST_HEAD(参数)
2020-08-17 19:33:33
325
原创 Linux数据结构
数据结构和算法培养我们的高级思维: 数据结构算法掌握–》有利于做上层应用开发提高程序的运行效率,采用不同的存储方式,数据的增删改查操作的效率是不一样的主要内容顺序表的基本操作链表基本操作(增加,删除,更改,查找数据)栈和队列树和二叉树常见的排序算法链表基本操作单链表单向循环链表双向链表双向循环链表内核链表顺序表本质:就是前面C语言学习过的数组,在数组的基础上做了二次封装,封装了结构体总结成公式: struct 你自己取名字
2020-08-17 19:20:47
247
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人