- 博客(32)
- 资源 (6)
- 收藏
- 关注
原创 在keil5(MDK5)上搭建51环境
前提:电脑已经安装好了keil5环境(MDK-Arm)第一步去官网下载 C51第二步双击执行 *.exe文件它会自动扫描到你的keil5环境,然后直接安装到keil5的安装目录中去。破解操作我就不累赘了,网上多的是。第三步如下创建一个51或52项目示范 然后再手动添加一个C文件到项目中,写上主函数即可编译。备注:需要使用下载助手来辅助烧录...
2021-07-11 20:15:04
4193
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
685
原创 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
206
原创 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
154
原创 创建一个内核模块最基本的步骤
创建一个内核模块最基本的步骤定义 __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
230
原创 Qt寻找应用程序的目录位置(根据快捷方式)
小知识: 快捷方式其实也是有后缀的,后缀为.lnk。注释:lnk文件一般是看不到的,反正我不用代码的话,无论如何也是不行;如果大家有办法靠window上的简单配置就可以看到的话,欢迎留言,我也学习下。 具体的请好好阅读代码中的注释,因为下面我只简单写了步骤。第一步根据目录 找出全部的lnk文件(快捷方式)。// 传入参数:计算机的目录(一般是开始启动C:\Program...
2019-12-26 11:14:07
2632
原创 串口发送常用函数(笔记)
/* 发送字节数组 */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
3260
原创 Linux下使用一个makefile编译多目录C文件
CompileTest--------Base----------------base.c----------------base.h --------Print----------------print1.c----------------print2.c----------------print3.c----------------print.h...
2019-10-24 09:54:33
1326
原创 枚举的运算
#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
338
原创 指针数组与数组指针
中文取名角度:谁在后面谁就在最外面;用的时候就像剥东西一样,从外面剥起。语法角度:谁的优先级高谁就在最外面。例如:int *p[10],中括号的优先级高,最外面必然是数组,数组里面每一个成员都是int *型;int (*p)[]="zifuchuan",小括号的优先级高,最外面必然是指针,指针指的是一个int []数组;通过两个东西思维的里外关系就可以将中文取名和语法联...
2019-10-16 10:26:49
209
原创 使用牛顿迭代法实现开方运算
#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
391
原创 变量是直接取值来使用的
#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
373
原创 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
790
原创 斑马线黑条个数识别函数
笔记:#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
369
转载 CentOS 7 安装Google Chrome
做个笔记。来自:https://blog.csdn.net/pyCrawler/article/details/92766664
2019-09-10 17:02:38
161
原创 中间字符串的替换
详细说明:用<字符串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
891
原创 解决VS打开qt creator写的pro项目无法编译
今天我使用VS打开之前使用qt creator写的QT项目,发现无法编译成功,报了一堆看不懂的错误。仔细一想,本来之前在qt creator上面已经写好的东西,怎么可能是代码语法的问题呢,所以就怀疑是编码有问题在VS里面更改字符集也没有用,于是我用notepad++将文本转为UTF-8-BOM编码,就没问题了。下载链接:notepad++...
2019-08-09 12:21:50
2013
6
原创 VS2019切换头|源文件
出厂快捷键:Ctrl+K,Ctrl+O如果想修改这个快捷键的话,可以这么做:1.工具-->选项-->环境-->键盘2.在显示命令包含中输“切换”,如下:3.找到“编辑器上下文菜单,代码窗口,切换标题代码文件”4.“按快捷键”处输入你修改后的快捷键,然后鼠标点击分配,一定要点!!!5.点“确定”即可...
2019-08-08 20:37:44
3903
原创 (参考printf)将字符串显示到LCD屏上
第一步,将整数转换成字符串第二步,中间字符串的替换第三步,整合注:使用到不限个数传参的思想//将整数插入到字符串当中 //str :字符串//... :模仿标准printf,不过目前只支持%d//注意:返回的指针是个临时申请的字符串,使用完这个函数后记得freeu8* myprintf(u8* str, ...){ va_list ap; ...
2019-07-19 20:06:41
4644
原创 怎么把整数转换成字符串?
为了解决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
4800
原创 解决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
17695
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
111
原创 C语言不限个数传参(...)
/****************************************************************************** * For: 设置轮子想达到的速度 * @para: int16_t select * Value: 1——设置左轮速度(例如:speed_set(1,SPEED_LEFT)) * ...
2019-06-16 13:58:17
799
原创 通过代码深入理解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
852
转载 Qt5.12.0+Opencv4.0.1
参考:https://blog.csdn.net/qq_33474442/article/details/87074218
2019-04-17 08:24:22
631
原创 解决STM32F407串口连续发数据乱码、扰码问题
一般我们发送一个字符的话就是使用下面这个函数。比如:USART_SendData(USART1,'a');USART_SendData(USART1,'b');USART_SendData(USART1,'c');USART_SendData(USART1,'d');然而呢,大家应该发现了,如果直接这么用的话,接受到的数据会乱码。然后,经过多次尝试的朋友可能发现:如果在中间...
2019-04-15 18:01:01
3530
原创 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
1769
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
5686
12
原创 QT版实现贪吃蛇步骤以及功能说明
贪吃蛇简介(源码和exe在我的资源里有下载)步骤1.根据构造函数传入的参数,来设定游戏地图横向纵向元素个数、游戏难度、以及地图元素大小; 2.加载所有图片资源,后面的绘制地图需要; 3.以当前时间为种子来为后面制造随机数作准备; 4.确定游戏界面大小; 5.地图数字数组申请内存; 6.地图元素绘制数组申请内存; 7.准备一个定时器,用于后面游戏每步进行的时间间隔; 8.布局; 9.创建...
2019-01-09 11:51:12
2240
原创 QT版推箱子实现步骤以及功能说明
推箱子简介(源码在我的另外一篇文章里有介绍https://blog.csdn.net/qq_37700564/article/details/83309743,本章只是简要介绍)推箱子游戏1.根据用户选定的地图文件打开地图; 2.将地图保存到地图数据数组中; 3.加载图片以及音乐资源; 4.地图元素绘制数组申请内存并完善; 5.绘制地图元素; 6.布局; 7.添加撤销快捷键(Ctrl+...
2019-01-09 11:44:01
3690
1
原创 Qt使用QChart制作多路虚拟示波器
使用QT做虚拟示波器,共16通道,波形是重叠在一起(不同颜色区分),想用写好的TCP传输来让单片机与电脑通信,解刨数据,放入到示波器中进行显示。准备工作:首先我缺一个绘图的控件,于是在网上找了找,网上给我介绍的有三种。分别是qcustomplot、qwt以及qchart。我第一次使用的是qcustomplot,我发现使用qcustomplot如果不生成静态库再使用的话,运行起来特别特别慢,这就...
2018-12-27 10:06:37
9858
12
原创 Qt5罗小黑战记(推箱子)
简要介绍:一、QT实现儿时推箱子,当然界面改良很多,可加载地图二、播放本地音乐,添加本地音乐列表三、自己可以制作地图在讲解之前我得感谢我的一位福建 漳州的朋友,我听取了她的很多宝贵意见,然后全都实现了才做出这个多功能的程序来分节详解我得简单介绍下我的一个习惯,那就是.cpp文件中注释颇少,因为每个变量以及函数要实现的功能我...
2018-10-24 00:42:28
3388
2
STM32F407用户手册
2019-06-14
QT版贪吃蛇(升级版)
2019-01-07
经典推箱子(C语言黑窗口)
2018-03-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人