自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 #esp8266模块通过AT指令获取网络时间(苏宁时间)

WiFi模块(ESP8266)获取时间、天气API AT指令串口调试_esp8266 wifi模块获取时间51-CSDN博客。利用苏宁API接口获取北京时间授时给esp8266使用 - 代码先锋网 (codeleading.com)使用ESP8266和STM32获取网络时间并在OLED上显示-物联沃-IOTWORD物联网。(或者AT+CIPSTART="TCP","tianqiapi.com",80)1.依次发送以下指令(发送新行)3.时间信息在Date里面。需要提取Date里面的内容。

2024-04-08 20:30:50 1971 1

原创 #Arduino开发(esp32c3)

(1)获取固件,这里有两个,一个是micropython的固件,另一个是Arduino的固件固件 · lovefoolnotme/固件 - 码云 - 开源中国 (gitee.com)到安信可获取flash固件烧录程序开发工具清单 | 安信可科技 (ai-thinker.com)(2)烧录步骤:QIO为烧录固件,切记。DIO为烧录程序 ,后面在Arduino中进行开发时需要配置烧录为DIO。地址也要选对,从0x00开始。(3)学习Arduino的推荐网页。

2024-04-08 13:31:45 2227 4

原创 #QT项目实战(天气预报)

if(window.IPCallBack) {IPCallBack({"ip":"123.147.249.72","pro":"重庆市","proCode":"500000","city":"重庆市","cityCode":"500000","region":"渝北区","regionCode":"500112","addr":"重庆市渝北区","regionNames":"","err":""});[]代表的是数组,{}代表的是对象,从最外层开始一层一层往里面剥开,最外层始终是一个"{}"。

2024-04-06 11:14:30 3551 1

原创 #Linux系统编程(信号量)

(一)发行版:Ubuntu16.04.7。

2024-04-01 10:22:15 686

原创 #Cubemx配置FSMC驱动IL9341

主要修改为u8,u16,u32,delay_ms等,可修改为uint8_t,uint16_t,uint32_t以及HAL_Delay。在编写由cubemx编写的代码时需要将代码写在begin和end之间,否则更新cubemx配置时会被去除。在最初这个驱动代码是由标准库移植过来的,需要进行适当修改才能使用。这里由于我的屏幕复位与单片机复位按键在一起,所以不配置了。快速replace或者find查找单词。想要大面积修改某一单词时,使用。上面代码仓库里面已经修改。

2024-03-29 23:36:22 911 1

原创 #Linux系统编程(消息队列)

消息队列是一种先进先出的队列型数据结构,实际上是系统内核中的一个内部链表。消息被顺序插入队列中,其中发送进程将消息添加到队列末尾,接受进程从队列头读取消息。多个进程可同时向一个消息队列发送消息,也可以同时从一个消息队列中接收消息。发送进程把消息发送到队列尾部,接受进程从消息队列头部读取消息,消息一旦被读出就从队列中删除。

2024-03-29 16:39:39 1011

原创 #Linux系统编程(共享内存)

共享内存是System V版本的最后一个进程间通信方式。共享内存,顾名思义就是允许两个不相关的进程访问同一个逻辑内存,共享内存是两个正在运行的进程之间共享和传递数据的一种非常有效的方式。不同进程之间共享的内存通常为同一段物理内存。进程可以将同一段物理内存连接到他们自己的地址空间中,所有的进程都可以访问共享内存中的地址。如果某个进程向共享内存写入数据,所做的改动将立即影响到可以访问同一段共享内存的任何其他进程。

2024-03-29 14:12:27 776

原创 #Linux系统编程(信号通信)

(一)发行版:Ubuntu16.04.7。

2024-03-28 11:17:38 24531

原创 #Linux系统编程(关于解决Source Insight自动补全的问题)

(一)发行版:Ubuntu16.04.7。

2024-03-27 22:03:36 893 1

原创 #Linux系统编程(进程通信之管道通信)

(一)发行版:Ubuntu16.04.7。

2024-03-27 15:43:51 875

原创 #Linux系统编程(守护进程)

(一)发行版:Ubuntu16.04.7。

2024-03-27 13:10:14 388

原创 #Linux系统编程(孤儿进程及僵尸进程以及wait函数)

在 Unix/Linux 系统中,正常情况下,子进程是通过父进程创建的,且两者的运行是相互独立的,父进程永远无法预测子进程到底什么时候结束。当一个进程调用 exit 命令结束自己的生命时,其实它并没有真正的被销毁,内核只是释放了该进程的所有资源,包括打开的文件、占用的内存等,但是留下一个称为僵尸进程的数据结构,这个结构保留了一定的信息(包括进程号 the process ID,退出状态,运行时间),这些信息直到父进程通过 wait()/waitpid() 来取时才释放。

2024-03-27 11:12:51 490

原创 #Linux系统编程(ps和kill命令)

(一)发行版:Ubuntu16.04.7。

2024-03-26 22:29:49 389

原创 #Linux系统编程(exec函数族)

在父进程fork()创建子进程中,子进程会拷贝父进程的代码,但是有时候不想要子进程拷贝父进程的代码,则需要引入exec函数族。

2024-03-26 21:56:00 295

原创 #Linux系统编程(进程基本知识)

程序是编译过的二进制文件,是静态的。进程指的是正在运行的程序,是动态的。每个进程都有一个唯一的标识符,既进程ID,简称pid。

2024-03-26 16:17:23 344

原创 #Linux系统编程(库的概念)

(一)发行版:Ubuntu16.04.7(二)记录:1.什么是库库:一种可执行的二进制文件,是编译好的代码。

2024-03-26 15:09:09 593

原创 #Linux系统编程(lseek函数与目录IO函数mkdir,opendir,closedir,readdir及综合练习)

才开始需要输入两个目录,第一个为被拷贝的目录,第二个为拷贝到的目录。在打开被拷贝目录扫描文件时,将单个文件中的内容读出写到拷贝目录中的拷贝文件中(新建或者打开),传入open参数时,需要将路径加文件名传入,由strcat函数拼接(每次使用完之后需要memset清空),路径为一开始传入的参数,文件名为打开被拷贝目录后读被拷贝目录时得到的,copyed_drt->d_name。(4)综合练习:键盘输入被拷贝目录和拷贝目录,打印被拷贝目录中的所有文件名,并且复制被拷贝目录的所有文件到拷贝目录中。

2024-03-26 11:46:52 1253

原创 #Linux系统编程(read,open,close,write综合练习)

第二种方法中,因为./exe为第一个参数,所以为argv[0],所以我们传入的参数实际为argv[1]和argv[2]。所以我们的argv[1]为copya.c,argv[2]为copye.c。(1)不传参,指定拷贝文件,指定复制到文件。(一)发行版:Ubuntu16.04.7。(2)参入文件夹拷贝。

2024-03-25 10:41:36 339

原创 #Linux系统编程(close函数,read函数,write函数)

(一)发行版:Ubuntu16.04.7(二)记录:close函数(1)close函数具有返回值(2)包含头文件(3)编译运行read函数(3)编译运行write函数。

2024-03-24 15:34:02 619

原创 #Linux系统编程(标准IO与文件IO简介与文件IO open函数)

【Linux学习笔记】7. Linux文件IO详解(附代码实例)_linux i/o 操作码-CSDN博客。d.当第二个参数flag使用O_CREAT时则需要用到第三个参数mode (表征创建文件的权限)但是传入的参数为666,是因为传入的mode与掩码取反相与,查看掩码"umask"a.查看参数可以 man -f open(查看粗略目录)再man 2 open。可以发现我们的a.c权限为 rw- r-- r--022取反(0022第一个0代表八进制数):755。(1)文件IO与标准IO。

2024-03-24 10:48:32 404

原创 #Linux(Source Insight安装及工程建立)

才开始选的是放在windows上的工程,下面这个是放在Ubuntu的Samba文件夹中的。(3)创建三个新文件编写一个简单的程序(保存到Ubantu中-默认)Source insight 工具安装及使用方法-CSDN博客。(4)创建一个makefile文件(注意Tab)(一)发行版:Ubuntu16.04.7。(5)可以看到已经能够正常运行。

2024-03-23 22:24:42 816

原创 #Linux(Samba安装)

(4)因为上面设置的是/home/samba,samba文件夹必须真实存在,所以在/home/创建一个samba文件夹。(5)在映射的盘中建立一个文本文件,再在Ubuntu中/home/samba目录下查看。b.在Windows顶部菜单栏输入"\\+ip"(5) 在Windows上访问samba文件夹。(一)发行版:Ubuntu16.04.7。c.右键该文件夹,右键映射网络驱动器。(1)键入命令安装Samba。(2)修改samba配置文件。没有任何提示报错即安装成功。(3)重启samba。

2024-03-23 14:08:05 321

原创 #Linux(SSH软件安装及简单使用)

【已解决】Could not get lock /var/lib/dpkg/lock-frontend_could not get lock /var/lib/dpkg/lock-frontend - o-CSDN博客。(10)示例:远程控制Ubuntu控制台删除刚才传入的readme.txt。(5)Ubuntu和Windows互相ping 看是否通。(8)示例:将Ubuntu的文件传给Windows。(9)示例:将windows上的文件传入Ubuntu。(1)终端键入(root权限)安装。

2024-03-23 12:22:03 1240

原创 #Linux(VMwareTOOL安装)

(8)根目录下的opt目录用于存放第三方文件,所以我们把VMwareTool安装到该目录下。(2)打开虚拟机然后安装,出现灰色可能是已经安装过但是自己没有找到。(3)删除VMwareTools命令(root权限)(4)安装VMwareTools命令(root权限)(一)发行版:Ubuntu16.04.7。(5)要么按(2)安装要么按(4)安装。介绍另一种简单粗暴的安装方式(纯命令)a.创建一个文件夹(root权限)(10)找到可执行文件运行安装。(9)查看解压生成的文件。(6)安装后出现如下。

2024-03-22 16:17:14 1380

原创 #Linux(make工具和makefile文件以及makefile语法)

如目标编译hello,该目录下就不能有名为hello的文件,否则会报错make :'hello' is up to date.为了解决文件可能同名的问题引入“make + 文件名单独编译某一个文件,但是如果编译的文件不存在依赖其他编译命令生成,那么就会先编译他所依赖的文件,形成联动编译。(2)编译完成之后会产生一些中间文件如.o文件,也可以在makefile中进行规则定义删除。(2)在终端键入make即可调用make工具(在当前目录寻找makefile文件)(6)makefile文件中的注释为“

2024-03-22 12:22:57 480

原创 #Linux(编写第一个命令)

(2)加入到bin或者加入到环境变量之后就可以在任何文件执行该文件。中,即可在其他目录下调用(之前编写的程序只能在当前目录下运行)a.加入到bin文件中(需要提升root权限)(1)编写一个c程序然后将生成的可执行的文件。(一)发行版:Ubuntu16.04.7。

2024-03-21 20:29:51 350

原创 #Linux(环境变量)

也可以不键入命令更新关闭终端,再打开也会更新。比如把/home/grassfishstudio/test/添加进去。退出终端再次进入查看发现环境变量已经消失了,退出后即失效。立即生效,只会作用于当前用户,退出超级终端就会失效。命令格式:export 变量=新增的变量:$变量。我们直接在这个配置文件的最低行加上我们的环境变量。(一)发行版:Ubuntu16.04.7。此时环境变量已经加入,需要更新,键入。不立即生效,只会作用于当前用户。超级终端中没有该环境变量。修改.bashrc文件(

2024-03-21 19:56:30 400

原创 #Linux(第一个Hello World以及GCC基本用法)

比如:gcc hello.c -o hello将hello.c编译之后生成一个可执行文件hello。从.s汇编文件编译到.o目标文件时键入的参数c为小写,大写C会直接生成目标文件并且建立链接。该程序只能在x86架构上运行,在gcc上编译出来的程序不能在ARM开发板运行。(2)gcc支持多种计算机体系结构,如x86,MIPI,ARM等。./hello在当前目录寻找hello可执行文件(必须加上./)如果不用-o参数指定名字,那么默认生成文件的名字为a.out。加上-o参数可以指定生成文件的名字,

2024-03-21 18:58:34 503

原创 #Linux(文件系统概念)

(1)查看文件系统情况df,man df查看df命令的功能。(3)df -Th转换为更为直观的表示方法。(一)发行版:Ubuntu16.04.7。(2)查看文件系统的类型 df-T。

2024-03-21 17:51:35 337

原创 #Linux(目录结构详解)

为了解决开发人员的标准不统一。比如/usr/share中必须存放共享文件。(1)从根开始“/”,向下发散,结构可以随意安排。“树根”,不像windows有c盘d盘之分。(一)发行版:Ubuntu16.04.7。(2)Linux文件层次标准(FHS)(3)根目录下各文件的规定。

2024-03-21 17:30:35 602

原创 #Linux(连接档概念)

(3)将test1.c与test2.c创建链接之后在test1.c中输入内容,然后查看test2.c中的内容,发现已经同步修改。无论硬连接还是软连接,都会联动改变文件,硬连接类似于复制,软连接类似于快捷方式(源文件删除则无法访问)(2)创建硬链接:ln + 文件名1 +文件名2(如果文件名2不存在,那么就会创建一个文件,源+目)(4)将test1.c删除再查看test2.c发现不能查看(在硬链接中不会出现这种问题)(6)硬链接的缺点:硬链接只能创建在同一个文件系统下,而且目录之间不能创建硬链接。

2024-03-21 16:12:51 353

原创 #Linux(权限管理)

chmod 参数 权限 文件名(第一个7 为 4+2+1 为 rwx 第二和三个4为r)第四列:grassfishstudio代表文件拥有者所在的组。第三列:grassfishstudio代表文件拥有者。(一)发行版:Ubuntu16.04.7。:文件拥有者所在用户组的权限(可读可写)(3)文件权限的另一种表示方法(二进制): 文件拥有者的权限(可读可写): 其他用户的权限(读)(4)修改文件和文件夹权限。(2)-开头代表普通文件。

2024-03-21 12:37:23 308

原创 #Linux(帮助手册)

b. 不知到要查看的命令在那一页时(man -f 要查看的命令)a. man+页数+要查看的命令(按q退出)(1)键入命令man man查看手册目录(按q退出)(2)查看手册需要先安装依赖包(root权限安装)(一)发行版:Ubuntu16.04.7。

2024-03-21 12:05:45 466

原创 #Linux(根目录与家目录)

(一)发行版:Ubuntu16.04.7。root用户与普通用户的家目录不同。命令回到家目录: cd ~命令回到根目录:cd /

2024-03-20 13:53:41 289

原创 #Linux(VIM编辑器使用)

(5)复制粘贴,按v进入复制模式,上下左右选中要复制的文本,然后按y确定复制,然后移动光标到自己想要复制的位置按下p粘贴。a.向下查找:输入/进入命令行模式,然后输入要查找的内容,按n向下查找,再按?(1)打开一个文本文件输入vi+文件名(如果存在该文件则直接打开,如果没有则创建一个文件)b.编辑模式:普通模式下输入i,出现insert即可输入。在命令行模式下输入 n1, n2d 删除n1到n2之间的行。进行命令行模式,然后输入要查找的内容,按n向上查找。c.命令行模式 (按esc退出)

2024-03-19 14:04:26 225

原创 #linux(使用apt-get下载)

apt-get upgrade vim,此时提示是否更新,不要更新,否则会更新全部软件。(2)在终端切换到root,然后输入apt-get update更新下载源。在root用户下输入apt-get install vim。(一)发行版:Ubuntu16.04.7。(5)卸载软件(比如vim)(3)安装一个软件vim。

2024-03-19 11:25:53 968

原创 #linux常用命令

常用的50个linux命令行_linux命令行大全-CSDN博客。(一)发行版:Ubuntu16.04.7。

2024-03-19 10:01:01 720

原创 #Ubuntu(修改root信息)

(4)发现命令行前缀有root,说明已经成功。(一)发行版:Ubuntu16.04.7。a.右键,open terminal。b.快捷键 ctrl+alt+t。(3)切换到root用户。(2)进行root修改。$代表不是root用户。#代表root用户权限。(5)回到普通用户输入。

2024-03-18 19:25:01 739

原创 #QT(事件--快捷键保存文件)

(4)QEvent继承于QObject,而所有事件又继承于QEvent,QObject中事件处理函数为虚函数,所以。(2) 所有时间均继承于QEvent,任意QObject对象都可以处理事件,而大多数类都继承于QObject。(3)事件分为两类:a.自动发生,定时器事件。b.用户交互发生,鼠标按下,键盘输入。虚函数基类必须写virtual,派生类不是必须写virtual。在上一个文本编辑器的基础上实现快捷键"ctrl+s"保存文件。(1)查看QEVENT的有效事件。(6)快捷键实现保存的关键代码。

2024-03-17 11:22:48 783

原创 #QT(MainWindow初尝---文本编辑器)

(3)打开文件操作,主要查看QFileDialog类说明还有QFile类说明,QFileDialog用于选取文件,QFile用于操作文件。(2)为几个功能写实现,这里不能使用转到槽,需要自己用connect函数关联。(5)写入的数据期望为QByteArrary,如何将其转换为该类型使用append函数,具体查看类说明。(6)对于文件保存,可以存储不同类型的文件,只需要自己添加后缀即可。c.QFile打开创建的对象设置权限(只读,只写,读写)b.将得到的名字给QFile创建对象进行操作。

2024-03-16 20:07:54 785

STM32F103C8T6移植FREERTOS

STM32F103C8T6移植FREERTOS

2025-01-15

一种智能衣柜的设计与研究_朱林峰.caj

一种智能衣柜的设计与研究_朱林峰.caj

2023-02-01

无线调频话筒的元件封装.PcbLib

无线调频话筒的元件封装.PcbLib

2022-12-21

空空如也

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

TA关注的人

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