- 博客(22)
- 资源 (2)
- 收藏
- 关注
原创 ZLOG 交叉编译以及使用
zlog是一个高可靠性、高性能(笔记本上达到25万条日志每秒)、线程、灵活、概念清晰的纯C日志函数库。支持日志分级、切片、自定义格式等操作。
2023-11-20 17:36:15
748
1
原创 初识PLC(电力载波)
电力线载波通信(PLC)是一种使用电力线(高压电力线:>=35KV 中压电力线:10KV 低压电力线:380/220V)进行数据传输的通信技术,即利用现有电网作为信号的传输介质,使电网在传输电力的同时可以进行数据传输。目前根据所用频段的不同,低压电力线载波通信一般分为窄带电力线载波通信(10KHz500KHz)和宽带电力线载波通信(2MHz20MHz)由硬件可知接收(RXP-RXN)以及发送(OUTP-OUTN)挂载在同一对线上,故PLC的通行是半双工即同一时间只能接收或者发送,和RS485类似;
2023-11-15 16:02:45
2173
原创 phy6222 ADC使用注意点
phy6222 ADC使用注意点 采集电压大于0.8V小于3.2V时候:可使用 attenuation 模式或外加电阻分 压后的 bypass 模式。ADC 精度取决于电阻的相对精度,attenuation 模式内部相对精度为±1%, 外部电阻也可以选用±1%的电阻。采集电压大于3.2V时候:超过 attenuation 模式的量程,此时必须采用外 部电阻分压后的 bypass 模式。采集电压小于0.8V时候:直接使用 bypass 模 式即可。PS:采集电压是指芯片的电压不是指分压后电压,下图中的Vin。
2023-07-26 17:38:55
413
原创 VSCODE使用ssh免密连接虚拟机
同时要确认远程服务器是否支持 SSH ,如果此时正是通过 SSH 方式连接的,那肯定是支持了。下载预包含了所有依赖项的扩展版本,然后使用 VS Code 中的“从 VSIX 安装”命令来安装它。3、问题原因:小二猜测,是由于远程服务器脱机使用插件,导致 C/C++ 的扩展安装失败;这样后续在使用 Remote 插件时,不需要密码,就可以直接登录到服务器。2、在弹出来的窗口中,选择第一个 config 文件打开,参考下图,填写对应信息。4、在 cmd 窗口,再次尝试如下,可以看到无需密码,直接连上服务器。
2023-07-03 14:16:40
870
转载 一文读懂HTTP/HTTPS协议
HTTP协议中没有加密机制,但可以通 过和SSL安全套接层)或TLS安全层传输协议)的组合使用,加密HTTP的通信内容。属于通信加密,即在整个通信线路中加密。HTTP + 加密 + 认证 + 完整性保护 = HTTPS(HTTP Secure )HTTPS采用共享密钥加密(对称)和公开密钥加密(非对称)两者并用的混合加密机制。若密钥能够实现安全交换,那么有可能会考虑仅使用公开密钥加密来通信。但是公开密钥加密与共享密钥加密相比,其处理速度要慢。所以应充分利用两者各自的优势, 将多种方法组合起来用于通信。
2023-05-24 09:08:04
354
原创 【ESP32_IDF】esp32 lvgl实现gif动图
esp_32 esp32_idf lvgl gif将生成的.c文件放在自己的工程路径,并增加编译路径。在主函数中增加以下代码,即可看到gif动图实现。
2023-05-16 14:45:50
3038
6
原创 COAP协议
很多人预测将会有更多其他的设备相互连接,这些设备的数量将远远超过人类的数量,到时候形成的网络将是现有网络的N个量级,这个网络带给世界的变化将是无法估量的。 不像人接入互联网的简单方便,由于物联网设备大多都是资源限制型的,有限的CPU、RAM、Flash、网络宽带等。对于这类设备来说,想要直接使用现有网络的TCP和HTTP来实现设备实现信息交换是不现实的。于是为了让这部分设备能够顺利接入网络,CoAP,CoAP协议解析
2023-05-04 11:18:52
3575
原创 phy6222 配置pin码配对
phy6222 配置pin码配对,使用安卓手机配对设备的时候,需要输入完整的6位数,比如设置pin码位123则安卓手机系统连接的时候需要输入000123,而苹果手机则不需要直接输入123即可
2023-03-03 13:18:54
313
原创 phy6222 IIC从机配置
PHY6222 iic从机配置PS:当IIC中断信号为I2C_MASK_RX_FULL,需要使用iic从机数据获取的函数(Hal_I2C_Slave_ReadRX_FIFO)来清除中断信号,使用iic中断清除函数(Hal_I2C_Slave_CLR_IRQs)无法清除改中断信号。在jump_table.c文件的jump_table_base[256]中断数组中添加中断入口函数。
2023-02-22 10:20:48
428
原创 <MCU进阶>GPIO模拟IIC
当从设备数据接收完成并且需要产生一个应答信号时,主设备需要主动产生一个时钟信号同时释放SDA,让从设备将SDA拉低则为一个应答信号、:IIC通讯的第一个字节用于确定主机选择的通讯的从机,最后一位代表的写入数据还是读取数据(0:写入;:SDA线上的数据需要在SCL为高电平的时候保持不变,在SCL为低电平的时候发生数据翻转。总线上的主设备与从设备之间以字节(8位)为单位进行双向的数据传输。:在SCL高电平的时候SDA线上有高到低的跳变。:IIC数据读取流程(灰色的数据由从设备产生)的场合下的主从通信。
2023-01-30 09:56:51
1791
原创 嵌入式C语言代码规范
C语言是我们嵌入式使用最多的一种编程语言。在日常工作中,由于C语言没有强制的编码风格要求,导致每个人的代码风格各异,不利于同事们之间的沟通与移植。促进团队之间的合作:一些较大的项目,我们可以拆分成多个功能,每个人负责不同的功能,最后再合并。如果没有统一的代码规范,那么每个人的代码必将风格迥异,导致合并代码的时候不仅要去处理程序的问题,还得花大量的时间和精力去理解别人的代码。减少BUG的出现。
2022-12-09 13:29:15
531
原创 【ESP32_IDF】手把手教你ESP32移植LVGL V8.3.1
【ESP32_IDF】手把手教你ESP32移植LVGL V8.3.1修改:新增定义:
2022-09-15 10:34:32
3860
3
原创 Git子模块使用教程
随着产品的日益增多,各个产品之间的业务功能会出现高度的相同性,比如产品A有串口的接收功能,产品B也有相同的串口功能,这类功能我们可以写成一个通用的串口接收模块。这样就可以避免每个产品都copy一遍代码,造成了大量的代码冗余,且后续修改也要挨个进行一遍,所以本文我们引入git 子模块的概念,就可以很好的解决这个问题。 Git 通过子模块来解决这个问题,子模块允许你将一个 Git 仓库作为另一个 Git 仓库的子目录,它能让你将另一个仓库克隆到自己的项目中,同时还保持提交的独立。...
2022-08-31 08:46:26
1165
原创 <C语言数据结构五>一篇文章“学废“二叉树(binary tree)
二叉树:是指树中节点的度不大于2的有序树,它是一种最简单且最重要的树。常用名词解释:特殊的二叉树满二叉树:如果二叉树中除了叶子结点,每个结点的度都为 2,则此二叉树称为满二叉树完全二叉树:如果二叉树中除去最后一层节点为满二叉树,且最后一层的结点依次从左到右分布,则此二叉树被称为完全二叉树二叉搜索树:2.2. 二叉树的创建2.3. 二叉树添加节点 添加的时候按照二叉搜索树的形式插入节点,完成排序!!!2.4. 二叉树的遍历2.5. 二叉树的深度的获取 使用递归的方式遍历所有节点,
2022-07-11 13:46:42
1332
1
原创 <C语言数据结构四>用C语言实现一个栈(stack)
栈也是数据结构的一种,与队列不同的是栈是一种后进先出(LIFO-last input frist output)的数据结构(队列详解),其具体的结构特点如下图所示:整体代码:运行结果:
2022-06-22 09:33:36
1506
原创 <C语言数据结构三>C语言带你玩转“单向链表”
链表是C语言中比较常用的一种数据结构,相对与上几篇文章的队列结构来说,链表是在一种物理存储单元上非连续、非顺序的存储结构。链表中的每个节点都是通过链表中的指针链接次序实现的;一般来说每个节点都会包含以下两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。链表又会分成很多个类型:单线链表,单向循环链表,双向链表,双向循环链表等;这篇文章我们主要聊聊单向链表,单向链表又分为以下两种类型:链表的数据定义链表的创建链表的插入:头插和尾插链表的删除:根据数据内容或者节点序号链表的销毁
2022-06-15 13:31:06
1222
1
原创 <C语言数据结构二>聊聊如何解决循环队列队最后一个空间不可使用
前景参照:队列的基本说明以及代码实现在常用的循环队列的使用中,我们使用队空判断(rear==front)以及队满判断(rear == (front + 1)% MAX)会发现循环队列的最后一个空间是没有办法被使用的,原因如下图所示:如上图所见,当去判断队满时候,最后一个空间是没有办法被判断到的,故我们得新增一个flag标志位去判断!!!在队列初始化的时候我们同时初始化一个flag标志位为false。在每次入队的时候我们将标志位置为true,每次出队的时候我们将标志位置为false。原因:实际真正的队空队
2022-06-13 09:48:25
1503
原创 <C语言数据结构一>队列(queue)的使用
队列是一种操作受限的线性表,它只允许在表的一端插入,在另一端删除(读取)。它和”栈“的使用是一样的,是一种FIFO(frist input frist output–先进先出)的结构。2. 初始化队列数据3. 队列队满判断4. 队列队空判断5. 入队操作6. 出队操作7. 例子注意:由于链表里面只是存储了数据地址,所以外面传入的数据需要是全局变量或者malloc出来的地址(malloc出来的地址需要在push完之后将该地址free掉)在使用该方式去判断队满以及队空的时候会出现队列深
2022-06-09 11:32:42
3842
原创 项目开发git的基本使用流程
项目开发git的基本使用流程项目开发git仓库使用流程一、新建项目以及首次推送1、git上新建项目2、在项目下创建属于该项目的代码仓库(选择私有仓库)3、完成创建后在自己本地的项目文件夹下使用“git init”初始化该文件夹4、“git add .” 将工程内的所有文件放入暂存区5、"git commit -m “xxxxxxx” " 这次提交的信息,"xxxxxx"提交备注尽可能的写的详细,方面后续查找问题6、“git remote add origin xxxxxxxxxxxxx
2022-05-30 15:23:32
5306
原创 vscode 搭建C语言开发环境
vscode 搭建C语言开发环境1. 安装C编译器(MinGW-W64 GCC)C编译器(MinGW-W64 GCC)的下载地址为:https://sourceforge.net/projects/mingw-w64/点击下图中的Download即可下载:下载完成后将压缩包解压到C盘,如下图所示:在环境变量PATH中新增两个变量:“C:\mingw64\bin” /“C:\mingw64\include“1、右键此电脑,点击属性2、点击高级属性3、点击高级,再点击环境变量4、点击P
2022-05-25 11:32:10
7172
6
力合微LME4015B开发资料(原理图,demo,数据手册等一系列完整文档)PLC
2023-08-24
奉加微开发资料汇总(PHY62XX sdk 文档 工具等等)
2023-07-14
适合团队的PCB设计规范.pdf
2023-07-12
Mingw-w64-v10.0.0下载
2022-06-08
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人