自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

无涯

知识的宇宙

  • 博客(12)
  • 资源 (9)
  • 收藏
  • 关注

原创 Arduino ESP8266通过web服务器升级固件,成功率100%

Arduino 使用ESP8266httpUpdate库进行固件升级,一开始总是返回http错误,网上给的结果是换成手机WIFI,试了的确可以,但是这也没有解决问题啊,经过不断的尝试,终于成功了。重点来了,上述一切就绪后调用ESPhttpUpdate.update 总是返回失败,经过多次尝试跟踪调试,发现是HTTP链接返回失败。所以把httpclient拿出来单独处理,成功后再开始升级,成功率就是100%了,3、在非8266的MQTT客户端发布升级消息;1、WIFI连接路由器,这个就非常简单了;

2023-12-31 09:24:04 646

原创 C语言基础与进阶:结构体

结构体的内存对齐:为了提高内存访问效率,编译器会对结构体进行内存对齐操作,即调整成员变量的位置,使其按照一定的规则对齐。1. 结构体的大小:结构体的大小是其所有成员变量大小的累加,每个成员变量都会占用一定的内存空间。4. 结构体的指针:使用指向结构体的指针可以方便地访问结构体中的成员变量,但是需要注意指针的操作可能会影响内存对齐,导致内存占用过大。7. 结构体的封装:为了提高代码的模块化和可维护性,建议将结构体的定义和使用封装在一个文件中,避免在其他文件中随意使用结构体。

2023-11-24 22:28:39 357 1

原创 C语言基础与进阶:变量、参数、作用域

在C语言中,变量是用于存储数据的容器。我们可以通过使用`int`, `float`, `char`, `bool`等数据类型来定义变量,并为它们分配存储空间。定义变量时,我们需要指定变量的名称和数据类型。int age;// 定义一个整数类型的变量,名为age// 定义一个浮点数类型的变量,名为salary我们可以使用赋值运算符(`=`)为变量赋值。age = 30;// 将整数值30赋给age变量// 将浮点数值5000.0赋给salary变量。

2023-11-22 22:18:08 38

原创 C语言基础与进阶:表达式

如果`a > b`为真(非零),结果是`c`;在C语言中,表达式的求值顺序是未定义的,这意味着不同的编译器可能会以不同的顺序计算表达式的各个部分。如果 `a` 和 `b` 不等,`a == b` 的结果为假(零)。* **内存访问模式**:表达式的计算过程中可能会产生大量的临时变量,如果这些变量的访问模式不佳(例如,大量随机访问而非连续访问),可能会导致性能下降。在这个例子中,`a + b` 是一个没有副作用的表达式,而 `a = a + 1` 则有一个明显的副作用,它改变了变量 `a` 的值。

2023-11-22 22:08:58 220

原创 C语言基础与进阶:数据结构

C语言,作为一种通用的、过程式的计算机编程语言,广泛应用于计算机科学的各个领域。C语言不仅支持基本的编程操作,如变量、函数和流程控制,还提供了丰富的数据结构,如数组、链表、树、图等。数组是C语言中最基本的数据结构,它用于存储相同类型的元素。然而,数组的长度是固定的,不能动态调整,这在一定程度上限制了其使用范围。链表是一种动态数据结构,由一系列节点组成,每个节点包含数据和指向下一个节点的指针。图是由节点和边组成的数据结构,常用于表示对象之间的关系。图可以是有向的或无向的,边可以具有权重。1. 树(Tree)

2023-11-22 21:55:18 15

原创 C语言进阶知识 - 指针和内存管理

在C语言中,指针是一种特殊的数据类型,用于存储内存地址。它有一个“地址”属性,可以存储其他变量的地址。使用指针可以间接访问或修改变量的值。int a = 5;// 定义一个整型变量 aint *p;// 定义一个整型指针 pp = &a;// 将指针 p 指向变量 a 的地址printf("a 的值:%d\n", a);// 直接访问变量的值printf("a 的地址:%p\n", &a);// 访问变量的地址printf("通过指针访问 a 的值:%d\n", p);

2023-09-13 08:41:33 101 1

原创 C语言逻辑运算:逻辑与(&&)、逻辑或(||)和逻辑非(!)

详细介绍关于C语言逻辑算法的知识

2023-09-13 08:32:02 6629 11

原创 沁恒CH57X使用IO模拟串口输出调试信息

最近要使用沁恒CH573F做一个项目,项目中使用的GPIO较多,只能对外有一路串口使用,而且需要接其他设备,所以开发过程中调试就是个大麻烦。因为只是调试使用,所以只需要一个发送就可以,在本项目中我使用了一个普通的GPIO模拟串口发送,进行调试信息输出。我们经常使用串口通讯,通常都是使用1位起始位,8位数据位,1位停止位,没有校验位 的形式传输。以下两点是要特别注意的地方:1、串口异步传输在空闲状态时都必须是高电平。第一位传输的是起始位,起始位会将原来空闲时的高电平拉成低电平,起始位用来来标识数据开始传输,提

2021-10-11 10:31:55 2565 1

转载 C语言strtol()函数:将字符串转换成long(长整型数)

这篇文章主要介绍了浅析C语言中strtol()函数与strtoul()函数的用法,注意其将字符串转换成long型的区别,需要的朋友可以参考下C语言strtol()函数:将字符串转换成long(长整型数)头文件:1#include strtol() 函数用来将字符串转换为长整型数(long

2017-03-14 17:25:29 4400

转载 [转]imx6 uboot logo 更改

imx6 uboot logo 更改最近需要更改im6 uboot的开机logo,使用10.1inch, 1024x600,18bit的LCD,期间遇到了很多的问题,记录于此。参考链接  https://community.nxp.com/message/650120?commentID=650120#comment-650120  https://communit

2016-11-01 16:06:12 1598

原创 重新安装Linux后Samba服务器无法访问的解决办法

1、针对Ubuntu14.04 LTS,重新安装Samba后会出现samba无法启动的情况,需要重新安装下libtalloc2库apt-get install libtalloc22、在所有都配置正确的情况下依然在windows下无法访问,经多番折腾发现是windows 网络缓存引起的 在CMD窗口输入net use查看网络缓存,发现存在以前的链接信息,使用net use {name}

2016-10-02 21:50:14 6387

原创 MFC窗体滚动条操作方法

windows 滚动条滚动

2010-06-01 17:29:00 1285

pppd2.4.7源代码以及拨号脚本

pppd最新的源代码,压缩包内有已经调试好的电信联通移动的拨号脚本文件,直接放在etc目录下就可以使用

2017-08-23

C8051F41X系列单片机器件资料

C8051F410,C8051F411,C8051F412,C8051F413系列单片机器件资料,C8051F410/1/2/3 datesheet

2012-06-01

VC++开发实用编程200例光盘源代码 第7部分 Windows系统

第7部分 Windows系统 VC++开发实用编程200例光盘源代码

2011-12-22

VC++开发实用编程200例光盘源代码 第5部分 网络与通信

VC++开发实用编程200例光盘源代码 第5部分 网络与通信

2011-12-22

VC++开发实用编程200例光盘源代码 第4部分 多媒体

VC++开发实用编程200例光盘源代码 第4部分 多媒体

2011-12-22

VC++开发实用编程200例光盘源代码 第3部分 图像处理

VC++开发实用编程200例光盘源代码 图像处理 可直接编译运行

2011-12-22

空空如也

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

TA关注的人

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