嵌入式专栏
文章平均质量分 77
嵌入式下的程序编程
优惠券已抵扣
余额抵扣
还需支付
¥69.90
¥99.00
购买须知?
本专栏为图文内容,最终完结不会低于15篇文章。
订阅专栏,享有专栏所有文章阅读权限。
本专栏为虚拟商品,基于网络商品和虚拟商品的性质和特征,专栏一经购买无正当理由不予退款,不支持升级,敬请谅解。
吻等离子
纵横寰宇无限,体验宇宙衍变。星辰之变,骄阳岂是终点。
展开
-
linux下编译安装和使用cURL库(含有openssl)
是一个利用URL语法指定各种协议(如等)进行数据传输的工具,它以客户端的身份,允许用户通过命令行与服务器交互。cURL库(libcurl)是cURL的编程接口(API),提供了一套丰富的函数,供开发者在自己的应用程序中实现网络传输功能cURL库是中不可或缺的一部分,无论是在命令行快速测试网络服务,还是在复杂的应用程序中实现网络通信,cURL都提供了强大而灵活的功能。它的和广泛的社区支持,使得cURL库成为开发者的首选网络传输解决方案之一查看自述文件可知获取源代码后,请查看。原创 2024-06-18 12:48:27 · 885 阅读 · 2 评论 -
ezxml XML解析构件库中函数定义的中文介绍
ezxml_parse_strezxml_parse_fdezxml_parse_fileezxml_parse_fpezxml_childezxml_nextezxml_idxezxml_nameezxml_txtezxml_attrezxml_getezxml_toxmlezxml_piezxml_freeezxml_errorezxml_newezxml_new_dezxml_add_childezxml_add_child_dezxml_set_txtezxml_set_txt_dezxml_set原创 2024-06-18 08:30:00 · 139 阅读 · 0 评论 -
exzxml C语言XML解析库使用记录
github地址。原创 2024-06-18 08:00:00 · 200 阅读 · 0 评论 -
记录open62541简单有效的编译生成.c和.h文件【OPCUA开源库】
虽然说可以通过下面命令安装CMake,但是安装CMake时,通常会安装来自你的操作系统的软件仓库中的版本,这个版本可能不是最新的如果安装后发现CMake版本低于CMake 3.13是没有办法进行编译的接下来通过编译源码来升级高版本的Cmake(这里使用3.24.2)原创 2024-06-14 18:30:00 · 340 阅读 · 0 评论 -
Linux简单通过Minicom命令操作串口设备(linux串口操作命令)
Minicom是一个功能丰富且易于使用的串口通信工具。通过上述介绍和示例,你应该能够快速上手并有效地使用Minicom进行串口通信和调试。更多的高级功能和配置选项可以通过或minicom -h命令查看。原创 2024-05-26 17:14:38 · 330 阅读 · 0 评论 -
Linux通过stty命令操作串口设备(linux串口操作命令)
stty命令是 "Set TTY" 的缩写,它的作用是设置终端的各种属性。通过stty命令,用户可以查看当前终端或串口的属性配置,并可以根据需要修改这些属性。这些属性包括波特率、数据位、停止位、奇偶校验等。通过stty命令,用户可以方便地配置和管理串口通信参数,从而实现对串口通信的精细控制。深入了解stty命令的使用,对于开发嵌入式系统、调试硬件设备等工作是非常有帮助的。希望本文能够帮助读者更好地理解和应用 Linux 系统中的串口通信技术。原创 2024-05-26 16:47:22 · 772 阅读 · 0 评论 -
modbus开源库libmodbus的C语言使用记录(实现简单的modbus主机/丛机程序,解决libmodbus库安装出现的问题)
libmodbus 是一个开源的、跨平台的C库,用于实现Modbus通讯协议。它支持Modbus RTU(RS-232/485)和Modbus TCP协议,可以使开发者方便地在项目中集成Modbus通讯功能。libmodbus的设计目标是简单、灵活和高效,适用于各种大小的嵌入式和桌面应用。原创 2024-05-22 12:47:02 · 1262 阅读 · 0 评论 -
70+开源实时操作系统列表,示例项目和资源一网打尽(你不知道的开源操作系统汇总,建议收藏备用)
它最初是作为基于 Arm® Cortex®-M 的处理器的独立于供应商的硬件抽象层,后来扩展到支持基于 Arm Cortex-A 的入门级处理器。RT-Thread RTOS 是一个可扩展的实时操作系统:ARM Cortex-M0、Cortex-M3/4 的微型内核,或 ARM Cortex-A8、ARM Cortex-A9 DualCor 的全功能系统。Zephyr™ 项目是一个可扩展的实时操作系统 (RTOS),支持多种硬件架构,针对资源受限的设备进行了优化,并在构建时考虑了安全性。原创 2024-05-19 11:18:18 · 159 阅读 · 0 评论 -
使用c-periphery库实现Linux下串口收发通信
c-periphery 是一个小型 C 库,用于用户空间 Linux 中的GPIO、LED、PWM、SPI、I2C、MMIO 和串行外设 I/O 接口访问。c-periphery 简化并整合了原生 Linux API 到这些接口。c-periphery 在嵌入式 Linux 环境(包括 Raspberry Pi、BeagleBone 等平台)中与外部外设连接非常有用。原创 2024-05-16 08:30:00 · 225 阅读 · 0 评论 -
【linux 进程】Linux进程管理函数介绍和代码示例(fork/vfork/exit/wait/exec/_exit)
Linux进程管理函数是一些用于创建、终止、等待和替换进程的系统调用函数。进程是Linux系统中最基本的执行单元,它可以看作是一个程序的运行实例。Linux系统中有多种类型的进程,如用户进程、内核进程、守护进程、僵尸进程等,它们都有各自的特点和用途。本文将介绍一些常用的Linux进程管理函数,它们可以帮助我们控制和管理进程的生命周期和行为。原创 2023-11-07 01:26:07 · 234 阅读 · 0 评论 -
linux文件I/O: 高级I/O函数及其代码示例
注: man手册指出,in_fd必须是一个支持类似mmap函数的文件描述符,即它必须指向真实的文件,不能是socket和管道;splice函数可以在两个文件描述符之间移动数据,只在内核空间操作,不需要额外的缓冲区,适用于任意类型的文件描述符之间的数据传输,但至少有一个是管道。sendfile函数可以在两个文件描述符之间直接传输数据,不经过用户空间,减少了数据拷贝和上下文切换的开销,适用于从文件向网络发送数据的场景。readv将数据从文件描述符读到分散的内存块中,即分散读。原创 2023-11-06 08:00:00 · 356 阅读 · 0 评论 -
linux文件I/O:标准函数及其代码示例(fseek,ftell,rewind,ferror,clearerr,perror)
【代码】【linux编程】linux文件IO的标准函数及其示例(fseek,ftell,rewind,ferror,clearerr,perror)原创 2023-11-06 00:34:26 · 198 阅读 · 0 评论 -
linux文件I/O: 标准函数及其代码示例(fread,fwrite,fgetc,fputc,fgets,fputs,fprintf,fscanf)
【代码】【linux编程】linux文件IO的标准函数(fread,fwrite,fgetc,fputc,fgets,fputs,fprintf,fscanf)原创 2023-11-06 00:22:48 · 295 阅读 · 0 评论 -
linux文件I/O:标准函数及其代码示例(fopen,fclose,freopen)
标准IO函数是C语言库提供的一组用于文件输入输出操作的函数,它们在stdio.h头文件中定义,可以在不同的操作系统和平台上使用,具有可移植性和简便性的优点。标准IO函数通过文件流(FILE*)来操作文件,文件流是一个结构体指针,包含了文件的信息和缓冲区,可以对文件进行缓冲和格式化的处理。原创 2023-11-06 00:20:19 · 284 阅读 · 0 评论 -
linux文件I/O:系统函数及其代码示例(open/openat/lseek/write)
如果写入的字节数小于指定的字节数,可能是因为磁盘空间不足,或者遇到了中断,或者写入的是一个管道或套接字等非常规文件。文件描述符是一个用于标识打开文件的数字,通常从3开始递增,0,1,2分别表示标准输入,标准输出和标准错误。是要打开或创建的文件的路径,flags参数是指定文件的打开方式和选项,mode参数是在创建新文件时指定文件的权限。fd参数是要写入的文件的描述符,buf参数是指定的缓冲区的地址,count参数是指定的要写入的字节数。这个函数可以用来改变文件的当前偏移量,即文件指针的位置。原创 2023-11-05 23:30:44 · 324 阅读 · 0 评论 -
C++ 读写Excel LibXL库的使用&附注册码(key)
LibXL是一款用于读写处理 Excel 文件的库,支持等语言。并且支持多个平台等,它提供了一系列的API,让开发人员可以方便地读取、修改和创建Excel文件。原创 2023-08-30 08:00:00 · 3544 阅读 · 0 评论 -
c语言生成.exe文件的方法
官网中1是安装程序,2是可以直接使用的压缩包,其他下载方式也一样。没有看到,检查环境变量没配错的话 ,就是环境变量未生效就重启。将下图中的bin添加到Windows 的环境变量path中。在shell中看到版本信息就是配置好了。查看文件夹下面已经出现exe文件。文件大小:48.0 M|原创 2023-08-18 08:30:00 · 917 阅读 · 0 评论 -
C/C++实现编解码Base64
Base64是网络上最常见的用于传输8Bit字节码的编码方式之一,Base64就是一种基于64个可打印字符来表示二进制数据的方法。原创 2023-08-17 08:30:00 · 860 阅读 · 0 评论 -
C语言:十进制转换成十六进制字符串和数组
案例:将1000转换成十六进制数组存储。原创 2022-10-19 12:10:09 · 6411 阅读 · 2 评论 -
Linux软件/系统看门狗&&嵌入式独立看门狗
看门狗,又叫Watchdog timer(看门狗定时器)是一种电子计时器,其用于检测和恢复计算机故障。一般有一个输入和一个输出,其中的输入叫做喂狗( kickingthe dog or service the dog)。输出一般连接到另外一个部分的复位端。原创 2023-07-24 08:30:00 · 1932 阅读 · 0 评论 -
嵌入式Linux编程【信号量】signal信号及代码实现
signal信号函数,第一个参数表示需要处理的信号值(SIGHUP),第二个参数为处理函数或者是一个表示,这里,SIG_IGN表示忽略SIGHUP那个注册的信号。为指定的信号安装一个新的信号处理函数。调用处理函数处理信号返回以前的信号处理配置。SIGUSR1 用户信号1 SIGUSR2 用户信号2。SIGHUP 挂起信号 SIGINT 中断信号。向进程发送信号进程捕获信号后调用信号处理程序处理。原创 2023-07-24 08:30:00 · 385 阅读 · 0 评论 -
STM32 BOOTLOADER配置以及APP跳转实现(裸机)
Bootloader是硬件启动的引导程序,是运行操作系统的前提。在操作系统内核或用户应用程序运行之前运行的一段小代码。对硬件进行相应的初始化和设定,最终为操作系统准备好环境。APP就是我们的应用程序,经过硬件引导程序之后跳转到系统程序运行。原创 2023-07-22 08:30:00 · 2247 阅读 · 0 评论 -
STM32 HEX文件和BIN文件格式区别&keil中的配置与生成
HEX文件和BIN文件格式区别&keil中的配置与生成原创 2023-07-22 00:56:30 · 1036 阅读 · 0 评论 -
CAN总线(五)STM32的CAN波特率设置方法(完整版)
①HSI是高速内部时钟,RC振荡器,频率为8MHz。②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。③LSI是低速内部时钟,RC振荡器,频率为40kHz。④LSE是低速外部时钟,接频率为32.768kHz的石英晶体。⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。1、使用外部晶振。原创 2023-07-18 08:30:00 · 3507 阅读 · 0 评论 -
linux驱动开发:Linux 内核的一些函数
该函数不能直接的立即唤醒进程,而是由调度程序转换上下文,调整为可运行状态。调用该函数在等待的过程中当前进程会被设置为TASK_INTERRUPTIBLE 状态,这个指针是为共享中断线而设立的,如果不需要共享中断线,那么只要将该指针设为 NULL。是要分配的设备号范围的起始值,一般只提供from 的主设备号,次设备号通。表示要注册的中断处理函数指针,当中断发生时,内核会自动调用该函数;构造设备号,将主设备号和次设备号转换为设备号类型(dev_t)。通过一个结构变量中一个成员的地址找到这个结构体变量的首地址。原创 2023-07-17 08:30:00 · 662 阅读 · 0 评论 -
linux驱动开发:驱动开发框架,linux内核字符设备驱动开发过程
传入 cdev 结构的指针,起始设备编号,以及设备编号范围。linux内核运行起来之后应用程序操作设备需要经过系统调用调到驱动的方法,通过这个函数可以调用到驱动的方法(通过函数指针的方法)cdev_init()函数用于初始化 cdev 的成员,并建立 cdev 和 file_operations 之间的连接。当一个字符设备驱动不再需要的时候(比如模块卸载),就可以用 cdev_del() 函数来释放 cdev 占用的内存。两个函数也是可以的,在硬件上可以正确的安装该驱动,在安装驱动的时候会调用注册在。原创 2023-07-17 08:30:00 · 201 阅读 · 0 评论 -
CAN总线(三)CAN总线链路层的三个标准
LIN 的字节场格式就是通常的“SCI”或“UART”串行数据格式(N81编码)。1bit起始位+8bits数据位+1bit停止位。CAN_H(7)为LIN线GND(3)接地。原创 2023-07-15 21:41:21 · 491 阅读 · 1 评论 -
CAN总线(二)CAN协议的帧格式(一文看懂CAN的报文结构)
如果只是使用CAN进行CAN通讯,可以粗略看下以下内容,主要了解下数据字段,但了解一下其他内容有助于使用CAN通讯。原创 2023-07-15 21:40:14 · 3707 阅读 · 0 评论 -
STM32F407系统时钟的配置和查看方法,APB1和APB2时钟计算
STM32F407具有两个PLL,用于产生不同的时钟信号。这里主要来讨论时钟。主PLL时钟的时钟源有两个信号,分别是上边提到的。PLL通过把这两个信号倍频,分频等达到更高频率的时钟信号。一般来说,由于HIS和HSE的时钟频率较低,SYSCLK一般都不会选择HIS时钟和HSE时钟作为系统时钟,而主PLL产生的时钟一般会用作。下面我们来看下主PLL的内部结构框图。由图可以看出PLL的时钟源主要有两个:HSE时钟信号和HIS时钟信号。原创 2023-06-27 21:37:27 · 2566 阅读 · 0 评论 -
使用OPC UA客户端工具Softing OPC Client读写OPC节点数据
Softing OPC Client工具介绍Softing OPC Client工具是德国Softing公司出品的标准OPC客户端。是最完备的OPC UA客户端工具。全部的数据类型都支持,功能齐备。是查看或测试OPC服务器的最好工具了。功能齐全、使用方便、而且免费官方下载地址: https://industrial.softing.com/products/opc-ua-and-opc-classic-sdks/opc-ua-demo-client.html。原创 2023-06-29 23:49:15 · 3879 阅读 · 0 评论 -
PLC通讯协议【三菱】FX协议的报文格式和读写示例
通过编程口通讯协议,具体可操作的软元件有:X/Y/M/S/T/C/D。通讯设置必须设置为:波特率9600,偶校验,7位数据位,1停止位。否则无法通讯。原创 2023-06-27 21:56:31 · 2960 阅读 · 0 评论 -
串口通讯标准RS485、RS232、RS422、TTL的原理区别和联系
一、RS2321、RS232标准接口定义2、RS232串口线颜色定义3、RS232串口接线方法4、RS232的电平二、RS485(基于MAX85的收发介绍)1、RS485标准接口定义2、RS485串口线颜色定义3、RS485串口接线方法4、RS485的电平6、MAX85的收发三、TTL电平1、TTL电平电气特性四、三种电平比较.........原创 2022-07-21 22:00:00 · 8775 阅读 · 0 评论 -
115200波特率 传输一个字节需要多久时间?传输一位需要多少时间?
一秒可以传输115200位,一位的时间就是1/115200,就是8.680555555555555us。波特率是一种常见的串行通信速率,表示每秒钟可以传输的位数。如果需要传输一个字节(8 个位),那么在。如果需要传输的字节序列较长,可以考虑使用更快的波特率或者使用数据压缩等技术来减少传输时间。如果需要传输多个字节,那么需要乘以字节数。因此,如果要传输一个长度为。所以传输一个字节需要这些69.4us。传输一个字节需要多久时间?的字节序列,需要的时间为。波特率下,需要的时间为。传输一位需要多少时间?原创 2023-06-08 20:00:00 · 8899 阅读 · 1 评论 -
数据类型总结
Byte 相当于byte(unsigned char) 0 ~ 255。WORD 等于 unsigned short 0 ~ 65535。原创 2023-05-15 23:01:36 · 155 阅读 · 0 评论 -
STM32 【FreeRTOS HAL库】创建任务
线程定义结构包含线程的启动信息。char *name;//任务名//函数指针指向任务函数//枚举类型的任务优先级//传递参数//堆栈大小;0是默认的堆栈大小所以通过osThreadDef相当于当定义了一个结构体变量os_thread_def_Display。原创 2023-05-06 22:15:00 · 740 阅读 · 0 评论 -
半导体行业相关术语
由于半导体制造业在美国等西方国家发展较早,目前半导体方面的资料大多数以英文为主。很多的半导体行业术语都还没有标准的中文翻译,在半导体行业内部一般都用英文代之。下面是一些常用的所谓“"原创 2023-01-03 18:33:10 · 3985 阅读 · 0 评论 -
C语言标准的一些宏定义用来打印当前程序行数、日期等(写一个自己的标准打印信息 实现代码跟踪调试详解)
1、C语言自定义标准打印信息"myinfo"时间"__DATE____TIME__"文件#defineline"行数intmain(){//需要设置打印信息的地方加上return0;}结果myinfo123时间5740文件main.c行数10//自定义打印信息"myinfo"时间"__DATE____TIME__"文件"__FILE_............原创 2022-07-27 21:15:29 · 1221 阅读 · 0 评论 -
研华采集板卡相关知识
伪差分输入与差分输入在减小地环流和噪声方面是非常相似的,不同的方面在于,差分输入模式下,负端输入是随时间变化的,而在伪差分模式下,负端输入一定仅仅是一个参考。描述伪差分的另外一种方式就是,输入仅仅在打破地的环流这个意义上是差分的,而参考信号(负端输入)不是作为传递信号的,而仅仅是为信号(正端输入)提供一个直流参考点。单端输入时,是判断信号与 地的电压差。数据传输方式很大程度上决定了数据采集的速度,标称的速度是数据采集卡能够达到的最大采样速度,如果不使用恰当的传输方式,通常是达不到标称采样速度的。原创 2023-01-04 19:00:00 · 845 阅读 · 0 评论 -
特殊字符处理(Postman 400 Bad Request)
解决包括post、get等链接请求中的特殊字符(如:*,#,{},[],^,%,(,?带元音变音 (分音符号) 的大写字母 A。带元音变音 (分音符号) 的大写字母 E。带元音变音 (分音符号) 的大写字母 I。带元音变音 (分音符号) 的大写字母 O。带元音变音 (分音符号) 的大写字母 U。带元音变音 (分音符号) 的小写字母 a。带元音变音 (分音符号) 的小写字母 e。带元音变音 (分音符号) 的小写字母 i。带元音变音 (分音符号) 的小写字母 o。带元音变音 (分音符号) 的小写字母 u。原创 2023-02-15 08:30:00 · 991 阅读 · 0 评论 -
嵌入式与物联网 【协议篇】总线协议:SPI协议
SPI 是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议。原创 2022-12-23 21:32:53 · 759 阅读 · 0 评论