自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 C语言实现贪吃蛇

#include <stdio.h>#include <stdlib.h>#define MAXLINE 1024void userGameGuid(){printf("-----------------------------\n");printf("----welocom join the game----\n");printf(“player options: \n”);printf(“w—UP s—DOWN\n”);printf(“a—LEFT

2021-08-15 09:53:42 102

原创 线程并发管理

并发注意事项:写并行程序相当棘手,代码的很小改动都有可能对性能有极大的影响版本 1 2 4 8 16psum_mutex 68 432 719 552 599psum_array 7.26 3.64 1.91 1.85 1.84psum_local 1.06 0.54 0.28 0.29 0.30信号量、线程锁机制,会大量的消耗系统资源,造成相当大的开销,甚至多于共享全局变量的存取,因此反而会效率低下通过全局变量计算技巧替换信号量,线程锁,效率得到很大提升通过局部变量替换全局变量的反复存取

2021-08-15 09:49:30 305

原创 shell脚本

shell脚本学习记录—参考Linux程序设计第四版/******************************************************************************#!/bin/shexit 0/*****************************************************************************注意: (1)如果字符串里面包含空格,必须用引号把字符串括起来(2)等号两边不能有空格1.使用引号:

2021-08-15 09:47:26 137

原创 2021-07-08

Makefile笔记:参考linux程序设计第四版make -jn: 允许make同时执行N条指令gcc -MM main.c :产生一个适用于make命令的依赖关系清单,当源文件较多以及包含关系复杂时使用main.o : main.c a.h2.o : 2.c a.h b.h3.o : 3.c b.h c.h$? 当前目标所依赖的文件列表中比当前文件还要新的文件$@ 当前目标的名字$< 当前依赖文件的名字$* 不包括后缀名的当前依赖文件的名字@{if…} 命令以符号@开头,表示m

2021-07-08 20:25:03 72

原创 C语言中连续使用scanf函数无效的错误

C语言中连续使用scanf函数无效的错误用C语言实现的模拟shell中需要接收相应的命令,在子进程中接收命令并进行相应的操作,父进程回收,而在加进父进程接收结束命令时,偶尔scanf函数会莫名其妙自动跳过。查阅资料得知:第一个scanf函数接收完命令后回车也会被接收进缓冲区,缓冲区是和进程绑定的,进程销毁则对应进程的缓冲区也清空,因此子进程并未受到影响,而父进程在循环过程中不断接收,而回车字符并未进行处理因此造成莫名其妙跳过第二个scanf函数。解决方法解决方法为在scanf函数中多加一个字符来接收回

2020-12-18 14:01:42 849

原创 visual studio 2017 安装完Python的numpy包仍然报错

visual studio 2017 安装完Python的numpy包仍然报在此路径 C:\Users\HP\AppData\Roaming\pip 下新建一个pip.ini文件,内容为[global]timeout = 60000index-url = https://pypi.tuna.tsinghua.edu.cn/simple[install]use-mirrors = truemirrors = https://pypi.tuna.tsinghua.edu.cn更换镜像源下载就快了

2020-12-16 14:06:29 707

原创 STM32与ESP8266的uart通信

STM32与ESP8266的uart通信课设中用到了ESP8266这个模块,用着着实十分的方便,唯一不足之处便是引脚数量太少导致引脚数量不足。因此只能外接一个单片机,通过单片机读取传感器的数据之后通过uart串口通信传送至8266。ESP8266:8266只有两个uart串口,默认的是uart0串口打印debug信息等,而uart1只有一个发送引脚(TXD),因此将默认打印信息的uart为uart1,并连接USB转TTL至电脑,接收打印的debug信息。将uart0设置为uart通信模式,将发送与接收

2020-12-14 22:39:28 7622

原创 QT中解析json数据问题

QT解析json数据,error提示显示成功,但是键值总是为0因为毕业设计需要用到mqtt客户端,因此使用qt实现mqtt客户端,但是在调试时解析收到的json字符串,解析完成后键值总是为0,一开始以为解析错误,查看error提示,显示 no error occured ,代表解析成功了。最后查看代码,问题出在了这里 QJsonDocument json_doc2; json_doc2.fromJson(test_message); QJsonObject json_obj2 =

2020-11-24 16:43:33 1054

原创 QT异常退出问题

QT解析json字符串时,遇到‘\’字符异常退出因为毕设需要用到mqtt客户端,便用QT实现了一个简单的客户端,可以实现简单的json数据接收功能。但是在调试过程中遇到了一个问题,费了好长时间,在这里记录下。程序在接收带有 ‘\’ 字符的json数据时,便会异常退出,网上博客大多说的是指针问题,但是去掉反斜杠就没问题了,不知道是什么原因。 QJsonObject json_obj; QJsonDocument json_doc; connect(m_client, &QMqttCli

2020-11-24 16:12:17 334

原创 QT实现一个简单计算器

QT实现一个简单计算器学生一枚,水平有限,如有问题,还望指正第一步通过QT设计师绘制出界面图形,界面大致如下:第二步将保存的.ui文件转换为头文件,以便于自己创建的对象对其继承和使用uic CalculatorDialog.ui -o ui_CalculatorDialog.h第三步创建自己的头文件CalculatorDialog.h和CalculatorDialog.cpp文件,以及main.cpp,具体实现代码如下,注释清晰第四步CalculatorDialog.h#ifndef

2020-10-25 16:39:07 3942 2

原创 冒泡排序和快速排序

冒泡排序算法算法流程a.比较相邻位置的元素,如果第一个元素比第二个元素大,则交换两个元素的位置b.对每一对相邻位置的元素做同样的工作,从开始的第一对一直到最后的一对,经过这一步, 最后的元素将是这组元素中的最大值c.针对所有的元素重复以上步骤,除了最后一个元素d.持续对越来越少的元素重复以上步骤,直到没有元素需要交换为止快速排序算法算法流程a.从样本元素中选择中间元素作为基准值b.重组样本顺序,将所有比基准值小的元素放在基准值的左边,将所有比基准值大和相等的元素放在基准值的右边,这个过程叫

2020-09-21 15:50:01 138

原创 进程和线程

学习篇UC-进程和线程进程什么是进程(进程是程序在CPU中运行时的整个生命周期的动态记录)进程是系统中正在运行的一个程序,程序一旦运行就是进程。进程可以看成程序执行的一个实例。进程是系统资源分配的独立实体,每个进程都拥有独立的地址空间。一个进程无法访问另一个进程的变量和数据结构,如果想让一个进程访问另一个进程的资源,需要使用进程间通信,比如管道,文件,套接字等。线程什么是线程线程就是进程的执行过程,即进程的内部控制序列,或者说是进程中的一个任务。一个进程可以同时拥有多个线程,并且同时可以系

2020-09-15 10:38:15 81

原创 ARM异常处理

1.ARM处理器的7种工作模式SVC(管理):处理器复位后进入该模式执行软中断指令(SWI)后进入该模式FIQ(快速中断):发生高优先级中断时进入该模式IRQ(中断):发生低优先级中断进入该模式ABORT(中止):用于处理非正常访问处理器UNDEF(未定义):用于处理未定义指令SYSTEM(系统):与用户模式共用寄存器的特权模式USER(用户):多数应用程序和系统任务运行在该模式2.以IRQ异常(按键)为例,介绍ARM异常处理过程分析电路原理图:按键-----》导线GPI

2020-09-13 15:54:40 310

原创 I2C通信协议

学习篇ARM-IIC通信协议

2020-09-12 22:08:46 167

原创 UART通信协议

学习篇ARM-UART通信协议1.基本概念百度百科:通用异步收发传输器(Universal Asynchronous Receiver/Transmitter)  UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。总结:UART, 串行异步收发器   串行通信/并行通信   异步通信/同步通信   单工/半双工/全双工

2020-09-11 15:54:41 437

原创 C语言构建简单客户端

学习篇UC-TCP/IP#include <stdio.h>#include <sys/types.h>#include <sys/socket.h>#include <unistd.h>#include <string.h>#include <netinet/in.h>#include <arpa/inet.h>#define E_MSG(STR, VAL) do{perror(STR); return (

2020-09-07 08:52:00 523

原创 python实现简单随机森林

学习篇Python:sklearnpython实现简单的决策树'''自助聚合:随机从N个样本中抽取M个样本,构建一棵决策树,重复此过程,共形成B棵树,构成每棵树的样本不同且随机,以此来削弱少数强势样本对模型预测结果的影响。sklearn.datasets:标准数据集sklearn.utils:辅助工具sklearn.tree:决策树(单个)model = st.DecisionTreeRegressor(max_depth = 4)max_depth:最大树的高度model.fit(tra

2020-09-06 13:35:28 307

原创 C语言构建简单服务器

学习篇1-TCP/IP#include <stdio.h>#include <sys/socket.h>#include <sys/types.h>#include <ctype.h>#include <unistd.h>#include <netinet/in.h>#include <arpa/inet.h>#define E_MSG(STR, VAL) do{perror(STR);return (VAL

2020-09-05 09:54:12 514

原创 deepin python3 命令行导入numpy库

sudo apt install python3-pippip3 install numpypip3 install scipypip3 install matplotlibread time outpip3 install tensorflow-gpu -i https://pypi.tuna.tsinghua.edu.cn/simple/ --default-timeout=1000

2020-09-04 08:51:47 262

原创 IDEA无法新建JavaClass文件

IDEA无法新建JavaClass文件突然无法在idea的目录文件下新建JavaClass流程如下详细解释参考博客https://www.cnblogs.com/zimo-jing/p/9628784.html

2020-07-03 18:05:16 253

原创 Linux环境下安装软件无法获得锁以及如何使用%取余操作

Linux环境下安装软件无法获得锁以及如何使用%取余操作1.Ubuntu使用命令sudo apt install 出现无法获得锁提示解决方法:移除进程rm -rf /var/cache/apt/archives/lockrm -rf /var/lib/dpkg/lock2.shell脚本使用%取余操作方法:a=(echo"(echo "(echo"looptime%5" | bc)...

2020-05-08 21:57:03 287

原创 基于PIC单片机的多功能电子时钟

基于PIC单片机的多功能电子时钟源起不久前做一个单片机的课程设计,主要是在液晶显示屏上显示日期时间以及温度。百度好长时间发现绝大部分都是基于51单片机的源程序,移植之后费了好长时间更改,原因是pic和51在一些细节方面有所不同。废话少说上代码,希望可以帮助到大家。代码程序目录原始头文件LCD12864头文件DS1302头文件DS18B20DS1302功能实现C程序主函数mai...

2020-02-18 22:04:43 1536 1

空空如也

空空如也

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

TA关注的人

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