自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(32)
  • 资源 (6)
  • 收藏
  • 关注

原创 在keil5(MDK5)上搭建51环境

前提:电脑已经安装好了keil5环境(MDK-Arm)第一步去官网下载 C51​​​​​​​​第二步双击执行 *.exe文件它会自动扫描到你的keil5环境,然后直接安装到keil5的安装目录中去。破解操作我就不累赘了,网上多的是。第三步如下创建一个51或52项目示范 然后再手动添加一个C文件到项目中,写上主函数即可编译。备注:需要使用下载助手来辅助烧录...

2021-07-11 20:15:04 3164 1

原创 3. GPIO驱动——纯代码驱动方式

#include "linux/gpio.h"#include "linux/module.h"#define DRV_DEBUG(format, ...) printk(KERN_INFO "[%s]: <" format ">\r\n", __FUNCTION__, ##__VA_ARGS__)// 定义gpio相关信息static struct gpio hello_gpio[] = { { .gpio = 1*32+('d'-'a')*8+0, // GPIO1_D0

2021-03-31 20:32:33 506

原创 1. 内核模块的创建

#include <linux/module.h>#include <linux/printk.h>// 定义 **__init** 函数static int __init hello_init(void){ printk(KERN_EMERG "hello, init\n"); return 0;}// 定义 **__exit** 函数static void __exit hello_exit(void){ printk(KERN_EME

2021-03-25 14:56:35 142

原创 2. 字符串设备的创建

#include <linux/module.h>#include <linux/kernel.h>#include <linux/fs.h>#include <linux/device.h>// 主从设备号(高12位为主设备号,底20位为从设备号)~~~in include/linux/types.hstatic dev_t s_dev;// 设备类static struct class *s_class;// 自动创建最大设备数stat

2021-03-25 14:51:15 116

原创 创建一个内核模块最基本的步骤

创建一个内核模块最基本的步骤定义 __init 函数static int __init hello_init(void){ printk(KERN_EMERG "hello, init\n"); return 0;}定义 __exit 函数static void __exit hello_exit(void){ printk(KERN_EMERG "hello, exit\n");}绑定init函数module_init(hello_init);

2021-03-25 09:52:57 184

原创 Qt寻找应用程序的目录位置(根据快捷方式)

小知识: 快捷方式其实也是有后缀的,后缀为.lnk。注释:lnk文件一般是看不到的,反正我不用代码的话,无论如何也是不行;如果大家有办法靠window上的简单配置就可以看到的话,欢迎留言,我也学习下。 具体的请好好阅读代码中的注释,因为下面我只简单写了步骤。第一步根据目录 找出全部的lnk文件(快捷方式)。// 传入参数:计算机的目录(一般是开始启动C:\Program...

2019-12-26 11:14:07 2350

原创 串口发送常用函数(笔记)

/* 发送字节数组 */void uart_send_arr(uint16_t len, uint8_t *buf){ HAL_UART_Transmit(&UART3_Handler,buf,len,1000);}/* 发送字符串 */#include <string.h>void uart_send_str(uint8_t *buf){ HAL_U...

2019-12-16 16:30:42 3008

原创 Linux下使用一个makefile编译多目录C文件

CompileTest--------Base----------------base.c----------------base.h --------Print----------------print1.c----------------print2.c----------------print3.c----------------print.h...

2019-10-24 09:54:33 1246

原创 枚举的运算

#include<stdio.h>typedef enum { Led_Off = 0, Led_1 = 2, Led_2 = 3, Led_3 = 5,} Led;int main(int argc, char** argv){ for (Led l = Led_Off; l < Led_3; ++l) { printf("%d\n", l); ...

2019-10-16 10:28:44 285

原创 指针数组与数组指针

中文取名角度:谁在后面谁就在最外面;用的时候就像剥东西一样,从外面剥起。语法角度:谁的优先级高谁就在最外面。例如:int *p[10],中括号的优先级高,最外面必然是数组,数组里面每一个成员都是int *型;int (*p)[]="zifuchuan",小括号的优先级高,最外面必然是指针,指针指的是一个int []数组;通过两个东西思维的里外关系就可以将中文取名和语法联...

2019-10-16 10:26:49 178

原创 使用牛顿迭代法实现开方运算

#include<stdio.h>double mysqrt(double in){ double x = 0.0; double y = in / 2; while (x != y) { x = y; y = (x + in / x) / 2; } return x;}int main(int argc, char** argv){ while (...

2019-10-16 09:58:00 327

原创 变量是直接取值来使用的

#include <stdio.h>static const int In1 = 5;static const int In2 = 5;static char *ChP1 = "chen";static char *ChP2 = "chen";int main(int argc, char** argv){ printf("In1:%p, In2:%p\n", &...

2019-10-16 09:56:37 317

原创 VS2019+OpenCV4.1.0环境搭建

要求:Windows10 VS2019 OpenCV4.1.01.创建一个空白项目2.新建文件,写主函数用3.配置项目属性(打开项目属性对话框)(1)选择release版本,x64平台(一定要这么切换,我直接试过debug版本,发现opencv始终没办法读取到文件,后面看到一篇文章里谈及过使用release版本,终于可以读到图片了)(2)依次点击《VC++目录——...

2019-09-18 08:24:17 748

原创 斑马线黑条个数识别函数

笔记:#define IMAGE_HIGH 60#define IMAGE_WIDTH 80uint8_t zebraCntBlack(uint8_t line, uint8_t image[IMAGE_HIGH][IMAGE_WIDTH]){ int8_t i = 0, cnt = 0, flag; while (i < IMAGE_WIDTH) { flag = i...

2019-09-12 10:21:50 304

转载 CentOS 7 安装Google Chrome

做个笔记。来自:https://blog.csdn.net/pyCrawler/article/details/92766664

2019-09-10 17:02:38 109

原创 中间字符串的替换

详细说明:用<字符串src>替换掉<字符串des>的中间字符串(根据索引和长度来实现)u8* str_replace(u8 *des, u8 index, u8 len, u8 *src){ u8 des_length = strlen((const char*)des); u8 src_length = strlen((const char*)sr...

2019-08-09 12:44:42 813

原创 解决VS打开qt creator写的pro项目无法编译

今天我使用VS打开之前使用qt creator写的QT项目,发现无法编译成功,报了一堆看不懂的错误。仔细一想,本来之前在qt creator上面已经写好的东西,怎么可能是代码语法的问题呢,所以就怀疑是编码有问题在VS里面更改字符集也没有用,于是我用notepad++将文本转为UTF-8-BOM编码,就没问题了。下载链接:notepad++...

2019-08-09 12:21:50 1760 6

原创 VS2019切换头|源文件

出厂快捷键:Ctrl+K,Ctrl+O如果想修改这个快捷键的话,可以这么做:1.工具-->选项-->环境-->键盘2.在显示命令包含中输“切换”,如下:3.找到“编辑器上下文菜单,代码窗口,切换标题代码文件”4.“按快捷键”处输入你修改后的快捷键,然后鼠标点击分配,一定要点!!!5.点“确定”即可...

2019-08-08 20:37:44 3784

原创 (参考printf)将字符串显示到LCD屏上

第一步,将整数转换成字符串第二步,中间字符串的替换第三步,整合注:使用到不限个数传参的思想//将整数插入到字符串当中 //str :字符串//... :模仿标准printf,不过目前只支持%d//注意:返回的指针是个临时申请的字符串,使用完这个函数后记得freeu8* myprintf(u8* str, ...){ va_list ap; ...

2019-07-19 20:06:41 4403

原创 怎么把整数转换成字符串?

为了解决LCD屏上显示正负整数的麻烦,特意写出这个函数:uint8_t* num2string(int16_t num){ uint8_t count = 0; int16_t temp_num = num; if(num <= 0) { count++; temp_num = -num; } while...

2019-07-19 19:58:12 4668

原创 解决error: #8: missing closing quote报错

原因keil5不认识UTF-8无BOM编码去官网下载https://notepad-plus-plus.org/Notepad++使用Notepad++将文件转为UTF-8-BOM编码既可

2019-06-24 10:07:16 16748 1

原创 命令行传参+地精法排序

#include<stdio.h>#include<stdlib.h>//sort arrayvoid sort(int size, int* arr){ for (int i = 0; i < size - 1; i++) { if (arr[i] > arr[i + 1]) { arr[i] = arr[i] ^ arr[i +...

2019-06-16 14:08:12 84

原创 C语言不限个数传参(...)

/****************************************************************************** * For: 设置轮子想达到的速度 * @para: int16_t select * Value: 1——设置左轮速度(例如:speed_set(1,SPEED_LEFT)) * ...

2019-06-16 13:58:17 680

原创 通过代码深入理解closeEvent、delete和deletelater

通过代码调试就明白所有widget.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QCloseEvent>#include <QTimer>class Send : public QObject{ Q_OBJECTpublic: Send(QO...

2019-04-20 21:15:39 778

转载 Qt5.12.0+Opencv4.0.1

参考:https://blog.csdn.net/qq_33474442/article/details/87074218

2019-04-17 08:24:22 579

原创 解决STM32F407串口连续发数据乱码、扰码问题

一般我们发送一个字符的话就是使用下面这个函数。比如:USART_SendData(USART1,'a');USART_SendData(USART1,'b');USART_SendData(USART1,'c');USART_SendData(USART1,'d');然而呢,大家应该发现了,如果直接这么用的话,接受到的数据会乱码。然后,经过多次尝试的朋友可能发现:如果在中间...

2019-04-15 18:01:01 3169

原创 VS Code在Ubuntu上使用python

更新python:sudo apt update下载pip:sudo apt install python3-pip下载包:pip3 install pygame如果想用VS Code调试python代码的话,我们需要设置一下版本,用下面的方法:最后就可以直接调试了...

2019-04-14 21:42:31 1718 2

原创 QT在windows上检测USB端口插拔

(使用版本为5.12.0)需要的头文件有以下:#include <windows.h>#include <dbt.h>#include <devguid.h>#include <setupapi.h>#include <initguid.h>第一步:注册插拔事件 static const GUI...

2019-04-08 16:17:35 5162 12

原创 QT版实现贪吃蛇步骤以及功能说明

贪吃蛇简介(源码和exe在我的资源里有下载)步骤1.根据构造函数传入的参数,来设定游戏地图横向纵向元素个数、游戏难度、以及地图元素大小; 2.加载所有图片资源,后面的绘制地图需要; 3.以当前时间为种子来为后面制造随机数作准备; 4.确定游戏界面大小; 5.地图数字数组申请内存; 6.地图元素绘制数组申请内存; 7.准备一个定时器,用于后面游戏每步进行的时间间隔; 8.布局; 9.创建...

2019-01-09 11:51:12 2137

原创 QT版推箱子实现步骤以及功能说明

推箱子简介(源码在我的另外一篇文章里有介绍https://blog.csdn.net/qq_37700564/article/details/83309743,本章只是简要介绍)推箱子游戏1.根据用户选定的地图文件打开地图; 2.将地图保存到地图数据数组中; 3.加载图片以及音乐资源; 4.地图元素绘制数组申请内存并完善; 5.绘制地图元素; 6.布局; 7.添加撤销快捷键(Ctrl+...

2019-01-09 11:44:01 3557 1

原创 Qt使用QChart制作多路虚拟示波器

使用QT做虚拟示波器,共16通道,波形是重叠在一起(不同颜色区分),想用写好的TCP传输来让单片机与电脑通信,解刨数据,放入到示波器中进行显示。准备工作:首先我缺一个绘图的控件,于是在网上找了找,网上给我介绍的有三种。分别是qcustomplot、qwt以及qchart。我第一次使用的是qcustomplot,我发现使用qcustomplot如果不生成静态库再使用的话,运行起来特别特别慢,这就...

2018-12-27 10:06:37 8660 12

原创 Qt5罗小黑战记(推箱子)

简要介绍:一、QT实现儿时推箱子,当然界面改良很多,可加载地图二、播放本地音乐,添加本地音乐列表三、自己可以制作地图在讲解之前我得感谢我的一位福建 漳州的朋友,我听取了她的很多宝贵意见,然后全都实现了才做出这个多功能的程序来分节详解我得简单介绍下我的一个习惯,那就是.cpp文件中注释颇少,因为每个变量以及函数要实现的功能我...

2018-10-24 00:42:28 3156 2

STM32F407用户手册

本资料是STM32F407开发板配套的一些基本用户使用手册《STM32F4xx英文参考手册》《STM32F4xx中文参考手册》《STM32F4开发指南-寄存器版本_V1.1》《STM32F4开发指南-库函数版本_V1.1》《STM32F407ZGT6》,别下错了!

2019-06-14

3.2寸 液晶屏例程.rar

本资料是野火的STM3F4VET6核心板配套的3.2寸液晶屏示例,亲测可用,尽情下载吧!凑字数。凑字数。凑字数。凑字数。凑字数。

2019-06-14

QT版贪吃蛇(升级版)

已被包装成了完整一个类,直接调用这个类,就可以按照你的设定生成期望长宽的地图,以及其难度,可以随机生成起始位置以及食物,当然别忘记了Resource不可缺少!

2019-01-07

QT版推箱子(罗小黑战记)

使用QT实现如下功能:绘制新地图、正常累加分数的推箱子游戏、另加微型音乐播放器。主要方法:重写按键处理事件和绘图事件。

2018-08-23

图片音乐版推箱子

主要涉及的技术 :c语言,C++的类,教你怎么贴图和音乐播放,教你如何灵活的传参。

2018-03-08

经典推箱子(C语言黑窗口)

主要涉及的技术是C语言的基础知识,功能的实现方式是:通过在黑窗口中不断刷屏,实现对地图的动态绘制以及更新。如果你觉得这个看着太low的话,推荐去下载我的另一个资源//download.csdn.net/download/qq_37700564/10622690

2018-03-08

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除