自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

嵌入式C

嵌入式C

  • 博客(43)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 LVGL学习笔记及使用案例

LVGL

2024-05-12 21:55:56 1223

原创 bootloader相关部分

不足:这样传输是一整个数据包一起发送出去的,对RAM有要求,如果RAM不够大,需要1kb为单位进行发送,需要一个专门的上位机。bootloader主要分为三层,厂家出厂的bootrom ,用户自己写的bootloader,最后就是app。flash擦除用到的是页擦除,写入部分半字和全字都可以,不过需要额外转换,协议一般都是单字节的,半字是两个字节。需要确认选择CAN还是串口,需要定制一套通讯协议是一段一段还是一整个包,需不需要帧头帧尾。bootloader的代码基本包含:时钟,

2025-03-11 17:35:34 232

原创 优秀代码段案例__笔记

如果想让一种情况只触发一次,可以增加一个新的标志位例如,在条件成立时赋值,复位后清空// 用于标记是否处理过报警但是如果是上位机去读这种状态,需要再次进来这种状态,那么就需要走else if()然后在else if加一些限制条件和要传送的值。

2025-01-21 09:52:03 142

原创 人像摄影笔记(自用)

光学变焦:焦距变了 画质不变数字变焦:焦距不变 裁剪画质 数字变焦一般都比较大广角镜头:等效焦段25mm 也就是一倍变焦 如果是2倍变焦就是2*25mm 0.5就是12.5mm的焦段算是超广角了黄金人像焦段在:50-135mm之间(比较推荐85焦段)如果是拍一些街景人物,推荐35焦段,和人眼差不多,主摄一般是23焦段左右潜望式长焦的手机值得推荐!

2024-11-01 23:12:37 576

原创 Linux那些常用的命令(自用)

查看容量:df -h查看内存:free -h查看cpu信息: lscpu查看版本号:lsb_release -a docker --version。

2024-10-11 13:24:08 844

原创 搭建内网文件服务器(FTP),以及实现内网Gitee

具体步骤:1.打开控制面板,搜索功能2.打开这几个配置3.打开IIS,添加FTP站点即可。

2024-09-14 16:36:34 736

原创 单片机,传感器等低功耗管理

*有些客户需求,把设备做成低功耗管理,这样就可以节省电池的电量,也可以增加传感器的使用寿命。不需要继续运行时,可以利用多种低功耗模式,等待某个事件触发。秒进入待机模式,在待机模式下,长按。其他情况具体使用后添加。提供时钟,内核执行代码。总线上未被使用的外设时钟。

2024-09-12 11:14:50 662

原创 [附源码]支持30种烟雾检测,最强ADPD188BI烟雾检测器(I2C接口)

先记录I2C的基础知识和注意事项等。1.I2C是一个半双工的串行通信协议,通讯依靠时钟线来同步数据的发送和接收,在SDA传输数据的过程中,都要有一个时钟信号配合,所以时序就非常重要。12.每传输一个字节,后面跟随一个应答位。通过将 SDA 线拉低,来允许接收端回应发送端。ACK 为 一个低电平信号,当时钟信号为高时, SDA 保持低电平则表明接收端已成功接收到发送端的数据。

2024-09-12 09:15:08 886

原创 如何学会keil深度调试DEBUG功能

首先基本的这些都是家常便饭我就不说了,可以参考链接。

2024-08-13 17:19:11 3308

原创 关于ADC的理解和代码示例(全)

双 ADC 模式时,由 ADC2 转化的数据在 ADC1 的数据寄存器中,由 ADC4 转化的数据在 ADC3 的数据寄存器中。配置 ADC_CTRL1.DREGCH 为 1,开启规则通道的间断模式,配置 ADC_CTRL1.DJCH 为 1,开启注入通道的间断模式,同时只能设置一种。1.采样率要奈奎斯特准则选择恰当的采样率,以避免混叠现象(要想无失真地从采样数据中恢复出原始信号,采样频率至少为信号频率的2倍)2.ADC的分辨率决定了其测量精度,通常分辨率越高,能够提供的测量精度越好,但采样率越低。

2024-08-05 15:18:06 649

原创 关于国民技术开发板如何烧录代码使用

1.首先将boot0和3.3V短接拉高,然后按下复位按键,这样jlink就能识别芯片,否则识别不了。然后拔掉跳线帽,开始烧录程序,然后成功运行。别问为什么,关注我,以后一起举大旗!不拔掉,会这样(错误示范)

2024-07-19 15:47:12 453

原创 手把手教你VSCODE如何配置C/C++环境

VSCODE配置C/C++环境还是相对比较麻烦的,而且有时候不能调试,建议大家使用Visual Studio 调试代码,虽然可能没VSCODE那么好的观感,VSOCODE适用于前端较多,Visual Studio 后端使用较多,其实都是微软一个妈生的,看大家喜好选择吧。注意compilerPath这一项要把路径改成刚才g++的安装路径:找到刚刚的安装文件夹->MinGW->bin->g++,exe ,然后复制或者手动把g++.exe的路径敲上去,格式要跟上面代码段一样。这样我们的g++就算安装好啦!

2024-07-18 13:57:35 1247

原创 三分钟带你移植RT-thread工程到ST,GD,N32,TI等所有开发板上

1.Env工具(安装在非中文非空格的目录下):https://www.rt-thread.org/page/download.html。3.下载RT_Thread源代码(完整版):https://github.com/RT-Thread/rt-thread/2.git 的支持(安装在非中文非空格的目录下):https://git-scm.com/downloads。使用rt-thread-5.0.2源码包,你们使用最新的也行。然后使用命令编译生成工程,这步一定要做,要不然工程很多感叹号。

2024-07-15 17:51:57 852

原创 C语言高级笔记

指针的高级用法,包括指针的指针、函数指针、指针与数组、指针与结构体的深入应用等。

2024-06-21 10:34:46 524

原创 关于单片机那些事?

机器周期:一个指令的基本操作(取指,分析,执指)所需要的时间为机器周期,一般由12个时钟周期组成 机器周期 = 12/晶振频率。时钟周期:也叫振荡周期,就是单片机外接晶振的倒数,如12Mhz,周期就是1/12us,最小的时间单位。总线周期:CPU通过总线对外部进行一次访问需要的时间 一个总线周期一般包含4个时钟周期。指令周期:执行一条指令需要的时间,一般由若干个机器周期组成。主频(时钟频率):1秒钟,时钟周期的个数为主频。

2024-06-21 10:34:34 735

原创 硬件学习之路

如何选择PCB布线宽度。

2024-05-24 09:02:51 118

原创 Rt-thread开发学习笔记

线程同步管理机制:互斥量,信号量,事件集以及临界区,开关中断也可以实现代码不被抢占。

2024-05-22 16:08:30 1335

原创 CAN学习笔记

1.传输方式:广播式和请求式2.高速CAN 125-1Mbps 40m 低速CAN 10k-125kbps 1km3.11/29帧ID 区分消息功能 同时决定优先级4.半双工 异步 差分 多对多。

2024-05-20 10:00:00 358

原创 [STM32+LORA] keil环境下如何使用JSON格式发送数据

然后添加文件到工程中,修改test,c文件。##首先需要添加下载cJSON库文件。最后看实际情况修改栈区空间大小。

2024-04-12 17:41:22 1036

原创 关于优化代码中if,else过多的“屎山“问题

在一些逻辑代码判断中,一个函数体里面可能需要多种逻辑判断,然后确定某一变量的值或者状态,那么这个时候可以使用结构体数组的概念来解决,其实也相当于建立一个映射表一样。比如是一个判断温度和状态的关系,if(温度大于多少){当前状态 = 某一状态},依次类推就会产生很多的if else。如果是处理多个函数体的执行也可以使用结构体组的概念,减少代码的冗余,提高代码的效率和可读性。然后把那些if else替换for循环实现。已知温度可能是0,20,50,70,80。

2024-04-10 23:22:54 390

原创 Modbus 485学习笔记

比如从设备地址为0x11 功能码01 起始地址0x14 读多少个从设备 0x19(25个) CRC。地址一个字节 功能码一个字节 数据2个字节 寄存器数量2个字节 CRC2个字节。从机回复:地址 功能码 读多少个从设备占的字节数 相应字节位数据 CRC。地址0x22 功能码 0x05 起始地址:0x1D 数量 0xff crc。以功能码05写举例:向从设备所有继电器写,打开/关闭所有继电器(取反一样)以功能码01举例:实现主设备读25个继电器的状态是开还是关。

2024-04-06 22:30:13 1919

原创 使用JLink RTT实现打印调试功能(N32G301C8)

完整资料包:链接:https://pan.baidu.com/s/191A4PaIt5ySEQaEDOsDX3Q?串口选择配置如下,因为我用的是国民技术的G031,所以我还需要添加国民技术的芯片包才行。描述:无需串口配置,只需要JLink仿真器连着就可以看到打印信息。首先找到Jlink安装位置,找到RTT文件拷贝到工程中。安装国民技术芯片配置包,以及解锁JLink烧录器。然后打开JLINK自带的串口软件。贴图说明比较多,已经非常详细了。版本:Jlink V7.66。一共有这么多要配置的。

2024-03-30 23:04:30 761

原创 Gitee配置

Gitee配置流程,Gitee和tortoise Gitee都要下载。这里生成公钥SSH ,当然也可以使用命令行生成。1.然后设置界面或者命令行添加用户名和邮箱。4. 然后要配置这两个地方才能成功。海龟Gitee可以下载中文包。3.然后添加到Gitee中去。

2023-07-15 12:02:44 220

转载 Makefile和shell脚本的区别

2、Makefile中所有以$打头的单词都会被解释成Makefile中的变量。echo $$PATH例子中的第一个${PATH}引用的是Makefile中的变量,而不是shell中的PATH环境变量,后者引用的事Shell中的PATH环境变量。可以调用shell脚本,但是Makefile和shell脚本是不同的。4、在Makefile中只能在target中调用Shell脚本,其他地方是不能输出的。1、 shell中所有引用以$打头的变量其后要加{},而在Makefile中的变量是以$打头的后加()。

2023-05-21 15:57:33 465

原创 FreeRTOS移植步骤(STM32F407ZGT6)

基于stm32f407实现的FreeRTOS的移植过程

2023-02-25 15:00:05 736

原创 Qt和C++笔记

Qt,C++笔记分享

2023-01-15 20:07:44 205

原创 Makefile的编写规则

程序执行过程:预处理,编译,汇编,连接,运行ESC OSI.c ---.i .i-----.s.s------.o.o------.out(文件名为Makefile 无后缀,#是注释)显示规则 目标文件:依赖文件(tab)指令:&第一个目标文件就是最后生成的文件hello:hello.o gcc hello.O -o hellohello.o...

2022-04-04 20:00:35 428

原创 简单实现两个线程之间的交替打印(C语言)

#include <unistd.h>#include <stdlib.h>#include <pthread.h>#include <stdio.h>#include <signal.h>pthread_mutex_t mutex;//自旋锁pthread_cond_t cond1,cond2;//线程1void *thread_fun1(void * arg){ int i=0; while(1) { pthre.

2022-03-29 15:53:01 2530 4

原创 进程间通信(系统编程)

进程间通信:用户空间不可以通信,只在内核中通信线程间通信:用户空间可以通信,通过全局变量进行通信要想实现父进程先运行子进程后运行,可以加一个全局变量或者局部变量阻塞子进程的运行。通信方式:管道、信号、IPC(共享内存,消息队列,信号灯)占用内存的只有目录文件,软链接,套接字文件?有名管道,字符设备,块设备,套接字他们不占用磁盘空间,只有文件节点atoi(字符串):将字符串转换为数字sprintf(buf,"%d",num);将数字转化为字符串无名管道:pipe(pipefd..

2022-03-27 15:52:06 485

原创 UDP实现广播(网络编程)

需要指定发送给客户端的端口号,服务器端口号可以随机,主机ip为本地ip,客户端ip为0.0.0.0(本网络上的本机地址)server.c#include <stdio.h>#include <unistd.h>#include <stdlib.h>#include <sys/socket.h>#include <string.h>#include <arpa/inet.h>#include <net/if.h

2022-03-24 16:16:13 410

原创 select函数的使用(网络编程)

使用select函数,服务器不需要再去监听文件描述符,交给select去做,不需要再去阻塞等待事件的发生,一旦执行就会有返回值,根据返回值的情况可以判断该文件描述符是读事件,写事件还是异常事件。int select(int nfds, fd_set *readfds, fd_set *writefds, fd_set *exceptfds, struct timeval *timeout);nfds:最大的文件描述符+1readfds:监听的读writefds:监听的写exceptfd:异常

2022-03-24 15:24:16 494

原创 Linux字符驱动开发__点亮多个LED

环境:ubuntu20.04、source insight4.0、secure CRT内核版本:Linux-3.14-fs4412开发板:fs4412(ARM)功能:终端输入0灭灯,输入1灯亮

2022-03-23 16:20:40 3043

原创 实现多进程&多线程的并发服务器(socket编程)

1、多进程server.c#include <sys/types.h> /* See NOTES */#include <sys/socket.h>#include <sys/socket.h>#include <netinet/in.h>#include <arpa/inet.h>#include <sys/socket.h>#include <netinet/in.h>#includ

2022-03-22 21:24:53 697

原创 Linux字符驱动开发__创建字符设备驱动

环境:ubuntu20.04、source insight4.0、secure CRT内核版本:Linux-3.14-fs4412开发板:fs4412(ARM)一、环境安装步骤1.将内核拷贝到虚拟机tftpboot目录下(目的使用tftp挂载到开发板上,见前章)2.配置环境变量,使用CRT终端操作注:第一次使用要用网线,并关闭网络托管sudo /etc/init.d/network-manager stopset ipaddr 192.168.3.202set ser.

2022-03-16 18:58:37 2176

原创 U-boot移植方法

环境:u-boot版本:2013.01ubuntu版本:20.04移植开发板选择:FS4412(ARM A9)1、下载源码我们可以在下面这个网站上下载最新的ftp://ftp.denx.de/pub/u-boot/也可以使用以前的版本(本试例)链接2、将uboot源码添加到ubuntu自己的目录中并解压操作,然后进入此文件tar xvf u-boot-2013.01.tar.bz2cd u-boot-2013.013、指定交叉编译工具链...

2022-03-11 09:50:36 1196

原创 根文件系统的制作方法

环境:ubuntu20.04开发板:fs4412根文件版本:busybox-1.22.1.tar.bz2下载路径为:http://busybox.net/downloads/或者从资料包获取:1、将压缩包拷贝到虚拟机并解压进入tar xvf busybox-1.22.1.tar.bz2cd busybox-1.22.12、配置源码make menuconfig输入arm-none-linux-gnueabi-3、保存退出,然后mak...

2022-03-10 16:54:48 847

原创 Linux内核移植操作步骤

环境:ubuntu20.04开发板:fs4412linux内核版本 3.14资料包:1、将linux-3.14.tar.xz拷贝到ubuntu中下解压并进入Linux-3.14tar xvf linux-3.14.tar.xzcd linux-3.14接着修改内核顶层目录下的Makefilevim Makefile导入默认配置make exynos_defconfig配置内核make menuconfig注:如果出现问题,先执.

2022-03-09 11:46:16 1912

原创 TFTP文件传输&NFS挂载&ARM开发板移植Linux系统步骤

环境:ubuntu 20.04开发板:FS4412(Cortex-A9)一、TFTP文件传输环境搭建:sudo apt-get install tftpd-hpa配置服务器: 设置共享的路径位置sudo vim /etc/default/tftpd-hpa对应修改即可重启服务 配置生效sudo /etc/init.d/tftpd-hpa restart测试查看服务进程是否配置成功 ps -aux | grep tftp在这里顺便把...

2022-03-07 20:06:23 1736

原创 Qt实现一个简易计算器(加减乘除等)

话不多说,先贴图所用到的图形都是基于UI界面设计来的,所以自己需要写的代码很少Widget.h代码如下#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include<QString>#include<QStack>#include<QTime>#include<iterator>#include<QLineEdit>namespace Ui

2022-02-23 16:31:15 5966 1

原创 解决Ubuntu环境下Qt中无法输入中文的问题

环境ubuntu20.04问题:明明在ubuntu中安装的中文输入法,但是在Qt中无法像这样输入中文解决打开终端,在终端输入sudo apt-get install mesa-common-dev然后输入sudo apt-get install libgl1-mesa-dev libglu1-mesa-dev如何出现中断安装失败现象,可以使用下面命令更新一下sudo apt-get update这样就可以了...

2022-02-10 14:50:48 1656 2

虚拟串口开发工具包软件包

虚拟串口开发工具包虚拟串口开发工具包软件包

2025-03-17

SIM900A开发工具包

SIM900A开发工具包

2025-03-17

GD32F5XX系列的产品数据手册,学习手册,器件安装包

GD32F5XX系列的产品数据手册,学习手册,器件安装包, 供大学学习使用,点关注。

2024-12-23

GigaDevice.GD32F4xx-DFP.2.1.0 器件安装包

GigaDevice.GD32F4xx_DFP.2.1.0 器件安装包

2024-12-23

JLINKE工具包,供大家使用

JLINKE工具包,供大家使用

2024-12-06

最新JLINK安装程序

JLNK驱动程序最新版安装

2024-11-11

codeblock 20.03 mingw setup安装包,直接打开使用即可

自带编译器,成功编译C、C++ 支持调试LVGL代码

2024-10-29

keil最新版本软件exe KEIL v5.41

keil最新版本软件exe KEIL v5.41

2024-10-28

FTP和内网Gitee的资料包

FTP和内网Gitee的资料包 FTP和内网Gitee的资料包 FTP和内网Gitee的资料包

2024-09-14

利用ADPD188BI光学烟雾和气雾剂检测模块进行烟雾测试

利用ADPD188BI光学烟雾和气雾剂检测模块进行烟雾测试 利用ADPD188BI光学烟雾和气雾剂检测模块进行烟雾测试 校准ADPD188BI光学烟雾和气溶胶检测模块(1) 校准ADPD188BI光学烟雾和气溶胶检测模块(1)

2024-09-12

APPD188BI烟雾检测模块,烟感,烟雾传感器数据手册 烟雾传感器寄存器手册,烟雾模块的使用 APPD188BI烟雾检测模块

APPD188BI烟雾检测模块,烟感,烟雾传感器数据手册 烟雾传感器寄存器手册,烟雾模块的使用 APPD188BI烟雾检测模块的使用说明

2024-09-12

STM32-LVGL源码包

STM32_LVGL源码包 STM32移植好的LVGL源码包 直接下载使用 直接使用LVGL

2024-08-26

罗技 GHUB驱动的官方下载安装包

罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载安装包 罗技 GHUB驱动的官方下载

2024-08-01

MODBUS POLL、MODBUS SLAVE、虚拟串口软件

modbus模拟调试器,内含注册码,还有虚拟串口软件 助力每一个学习modbus的梦想 学习modbus用这个软件就够了

2024-07-18

RT-thread源码包,移植源码包,开发板移植实时操作系统使用

对应文章开发板移植RT-thread

2024-07-15

LORA通信软件开发设计文档

LORA通信软件开发设计文档

2024-05-23

eCANtools工具,CAN资料包

CAN资料开发工具包 eCANtools工具 CAN相关资料包 CAN学习资料下载 CAN入门工具资料下载

2024-05-22

STM32移植LVGL源码工程 stm32移植GUI-Guider源码 LVGL移植源码

stm32+LVGL+NXP源码包,移植成功

2024-05-22

烟感规格书,烟感数据操作手册,协议数据手册

烟感规格书,烟感数据操作手册,协议数据手册

2024-05-21

BSP4000W通信协议

BSP4000W通信协议

2024-05-20

oled文件stm32资源导入包

oled文件stm32资源导入包

2022-03-29

嵌入式题库,学习笔记,应用题库

嵌入式题库,学习笔记,应用题库

2022-03-09

华清远见ARM接口编程学习笔记

华清远见ARM接口编程学习笔记

2022-03-09

Linux内核移植,u-boot引导程序,根文件系统

Linux内核移植,u-boot引导程序,跟文件系统

2022-03-09

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

TA关注的人

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