自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(16)
  • 资源 (5)
  • 收藏
  • 关注

原创 C语言设置结构体对齐的方法

在C语言中,结构体的对齐是一个重要的概念,它可以影响结构体的大小和性能。C语言提供了一些关键字和宏来控制结构体的对齐。

2024-04-11 15:48:12 302 1

原创 TI-CCS编译工程生成bin文件方法

3. 点击Apply and Close关闭对话空,然后依次Clean Build, Build Project将会生成bin格式的固件。

2023-11-02 11:35:58 706 1

原创 如何生成编译数据库compile database,实现代码智能提示

如果一个已经存在的大型工程,只需要在build目录下生成编译数据库:compile_commands.json文件即可,clangd 会扫描该文件并为当前项目中的源码生成索引。对于Cmake构建的项目,只需要在CMakeLists.txt中添加,然后执行Cmake。使用Bear工具来生成compile_commands.json。通过以下命令生成compile_commands.json。如果一个项目从0开始编写,智能提示毫无障碍。1. Makefile构建。2. Cmake构建。3. Ninja构建。

2023-09-12 08:42:27 448 1

原创 获取网站根证书方法

【代码】获取网站根证书方法。

2023-09-12 08:38:31 231

原创 解决虚拟机Ubuntu中usb串口ttyUSB不现身的问题

【代码】解决虚拟机Ubuntu中usb串口ttyUSB不现身的问题。

2023-09-12 08:36:22 1113 1

原创 嵌入式Linux开发环境搭建

修改文件/etc/default/tftpd-hpa,用户需要指定一个目录为 tftp 根目录。若用户需要把/tftpboot 目录设置为tftp根目录,请在/etc/default/tftp-hpa 文件中的。其中“*”表示允许任何网段 IP 的系统访问该 NFS 目录.(1)安装NFS服务器端和客户端。(4) 启动NFS服务命令。(3)创建/tftpboot目录。(2)配置 tftp 服务器。(4)启动 tftp 服务。(2)修改NFS配置文件。(5)挂载nfs目录。

2023-06-19 08:59:21 135

原创 Linux中python配置为python3的命令

【代码】Linux中pythonp配置为python3的命令。

2023-06-07 09:17:15 490 1

原创 Makefile函数介绍

patsubst 函数被用来将名字列表 _text中符合 _pattern模式的名字替换为 _replacement,并将替换后的名字列表返回。addsuffix函数被用于给名字列表 _names中的每一个名字增加后缀 _suffix,并将增加了后缀 _suffix的名字列表返回。addprefix函数被用于给名字列表 _names中的每一个名字增加前缀 _prefix,并将增加了前缀的名字列表返回。filter函数被用于从一个名字列表 _text中根据模式 _pattern得到满足需要的名字列表并返回。

2023-05-24 08:43:24 117 1

原创 windows编译和安装openssl方法

5.进入源码目录,运行 ./Configure mingw64 --prefix=/d/study/open_source/openssl-1.1.1d-build-out --openssldir=/d/study/open_source/openssl-1.1.1d-build-out/openssl。3.在msys2中使用命令pacman -S perl安装perl。4.在msys2中使用命令pacman -S make安装make。6.执行make -j16编译openssl。

2023-05-20 15:26:38 796 1

原创 Linux C套接字选项SO_RCVTIMEO, SO_SNDTIMEO介绍

套接字选项SO_RCVTIMEO: 用来设置socket接收数据的超时时间;套接字选项SO_SNDTIMEO: 用来设置socket发送数据的超时时间;比如,一般情况下,调用accept/connect/send/recv, 进程会阻塞,但是如果对端异常,进行可能无法正常退出等待。如何让这些调用自动定时退出?

2023-05-13 17:06:57 569

原创 阻塞模式的accept线程退出

【代码】阻塞模式的accept线程退出。

2023-05-13 16:58:51 487

原创 网络编程中的recv函数介绍

recv的返回值为0时,表示连接关闭,并不是说没有读到数据,因为,对于阻塞的套接字,没有读到数据,函数不会返回,会阻塞等待。​​​flags​​​: 一般设置为0,此时send为阻塞式发送即发送不成功会一直阻塞,直到被某个信号终端终止,或者直到发送成功为止。指定​​​MSG_NOSIGNAL​​​,表示当连接被关闭时不会产生​​SIGPIPE​​​信号。指定​​​MSG_DONTWAIT​​​ 表示非阻塞发送。​​​sockfd​​​: 通信文件描述符。​​​len​​​: buf的大小。

2023-05-13 16:55:55 437

原创 网络编程IP地址转换相关函数介绍

*** inet_aton()将点分十进制数的IP地址转换成为网络字节序的32位二进制数值.* 返回值:成功,则返回1,不成功返回0.*//***inet_ntoa()将网络字节序的32位二进制数值转换为点分十进制的IP地址*//***inet_addr()功能与inet_aton相同,但是结果传递的方式不同。inet_addr()若成功则返回32位二进制的网络字节序地址。*//*** 函数inet_pton跟inet_aton实现的功能类似,只是多了family参数,

2023-05-13 16:37:41 472 1

原创 解决github克隆慢的问题

原因:git clone特别慢是因为github.global.ssl.fastly.net域名被限制了。只要找到这个域名对应的ip地址,然后在hosts文件中加上ip–>域名的映射,刷新DNS缓存便可。适用各种操作系统,本次测试系统为Ubuntu 20.04.2 LTS,下载速度从几k提高到1M多。没有修改前git clone速度实在慢只有10K左右。修改后,git clone速度达到800多k。Mac的hosts文件路径也在/etc/hosts中。1、查找域名对应的ip地址,并修改hosts文件。

2023-04-27 08:26:03 932 1

原创 C语言实现字符串格式时间转换时间戳

1.函数实现#include <string.h>#include <stdio.h>#include <time.h>/* 判断是否闰年 */#define IS_LEAP_YEAR(year) \ (((year) % 400 == 0) || ((year) % 4 == 0 && (year) % 100 != 0)) ? .

2021-11-18 13:49:23 2386

原创 PCB布线规则

孔径和焊盘尺寸:比较好的设计是将安装孔的直径略大于元件引线直径的0.15~0.3mm过孔通常当板基的厚度与过孔直径的比达到6:1时,电镀的过程将不会造成太多的问题焊盘焊盘可以是椭圆形或圆形的导线布线沿电路板边沿布设的导线,它与板边的距离不要小于0.5mm

2016-11-04 14:22:09 415

C语言实现通过指定日期(年,月,日)获取当天是当年第几周

C语言实现通过指定日期(年,月,日)获取当天是当年第几周

2023-10-27

优雅地打印 HEX 数据 C语言实现

在调试的时候经常要打印内存里的数据,来看看数据及格式是否在预期范围内;以及在调试二进制协议的时候,经常需要将协议包里的数据打印出来,这个时候就会涉及到 HEX 数据的展示问题

2023-08-31

C语言跨平台日志库实现

C语言跨平台日志库(Windows、linux、MUC),支持日志输出级别,支持彩色打印,支持输出重定向,开箱即用

2023-03-10

TI公司的OSAL的框架在STC8系列单片机完整移植

OSAL的框架完整的移植到了STC8系列单片机,已测试可以正常运行,目前只包含了timer和uart外设驱动,其他外设驱动可以自己添加

2019-07-24

适用于SDCC编译器的STC15系列单片机头文件

完整的适用于SDCC编译器的STC15全系列单片机头文件,分享给需要的人

2019-03-18

GPRS模组M26的TCP/IP应用的单片机DEMO程序

基于PIC18单片机的GPRS模组M26的TCP/IP应用Demo程序,可以用于产品开发参考,已调试通过,需要的朋友可以下载

2018-07-13

c语言宏定义技巧(常用宏定义)

写好C语言,漂亮的宏定义很重要,使用宏定义可以防止出错,提高可移植性,可读性,方便性 等等。

2018-03-28

怎样建立自己的函数库(c语言)

本文讲解了自己编写函数并建立库函数的方法,基于TC集成开发环境

2017-11-30

空空如也

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

TA关注的人

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