- 博客(81)
- 收藏
- 关注
原创 C语言头文件定义技巧以及注意事项_头文件引用一个类定义时,尽量
我们知道,如前一章所描述,预处理器在处理预处理命令的时候,会按照文件顺序展开文件,并且将内容集中到一个预编译文件里面(我们可以想象,编译器最后会将每一个C文件引用到的外部文件按照预编译命令放置的地方(命令在哪里就在哪里展开引用的文件)展开为一个长长的C文件)。我们在main.c里面包含了header.h,假如先编译main.c文件,那么在led.h和key.h里面定义的宏就会被定义一次(因为两个宏__LED_H__和__KEY_H__还没有被定义)。WN 0x0001 //按键按下。
2024-11-14 03:49:20
791
原创 C语言中的回调_c语言回调机制是什么意思
对于不同类型的语言(如结构化语言和对象语言)、平台(Win32、JDK)或构架(CORBA、DCOM、WebService),客户和服务的交互除了同步方式以外,都需要具备一定的异步通知机制,让服务方(或接口提供方)在某些情况下能够主动通知客户,而回调是实现异步的一个最简捷的途径。在面向对象的语言中,回调则是通过接口或抽象类来实现的,我们把实现这种接口的类成为回调类,回调类的对象成为回调对象。因此,对回调的实现,也有两种截然不同的模式,一种是结构化的函数回调模式,一种是面向对象的接口模式。
2024-11-14 03:43:17
1016
原创 CODESYS学习笔记_acs mcs wcs tcs
勾选ABC_as_ACS,末端三个轴不会发生转动。不勾选的话,可以保持末端姿态不变。更直观的理解是:在末端平面水平时,放一瓶水到上面。假如勾选ABC_as_ACS,在机械臂移动时,水会掉;假如不勾选,水不会掉。
2024-11-14 03:31:06
1421
原创 cmake的基本参数和用法_cmake参数(1)
cmake中一些预定义变量PROJECT_SOURCE_DIR 工程的根目录PROJECT_BINARY_DIR 运行cmake命令的目录,通常是${PROJECT_SOURCE_DIR}/buildCMAKE_INCLUDE_PATH 环境变量,非cmake变量CMAKE_LIBRARY_PATH 环境变量CMAKE_CURRENT_SOURCE_DIR 当前处理的CMakeLists.txt所在的路径CMAKE_CURRENT_BINARY_DIR target编译目录。
2024-11-14 03:27:04
988
原创 CANOE 入门使用教程【一】------新建工程_canoe使用教程
在做车载产品的时候,经常会用到CANOE,尤其是诊断。本文介绍CANOE的基本使用,用的CANOE软件是12.0.75-64bit版本,硬件是CAN1610CANoe是德国Vetor公司推出的一款用于总线开发的设备,全称为。主要是用于CAN总线的开发、仿真、测试和分析。随着总线技术的发展,CANoe不仅限于CAN类型的总线开发,还包含LIN、FlexRay、MOST和以太网等开发,当然这些得看你使用的硬件型号,有些硬件是只支持CAN总线的。
2024-11-14 03:06:20
1346
原创 不能错过的linux驱动开发的经典书籍推荐_linux设备驱动书籍
成为一名精通 Linux 程序设计的高级程序员一直是不少朋友孜孜以求的目标。根据中华英才网统计数据,北京地区 Linux 程序员月薪平均为 Windows 程序员的 1.8 倍、Java 程序员的 2.6 倍, Linux 程序员年终奖金平均为 Windows 程序员的 2.9 倍。同时数据显示,随着工作经验的增长, Linux 程序员与 Windows 程序员的收入差距还有扩大的趋势。
2024-11-12 19:27:57
1009
原创 不会代码也能玩开发?基于华为云 IoT 快速实现 0 代码体验物联网设备上云_iot 零代码开发
物联网,即字面意思,让“物”连上网络,比如,手机需要联网,家里的水表、电表、烟雾感应器等也都可以联网。完整的物联网架构一般分为感知层、平台层、应用层。在”物”联网的过程中,感知层,也就是“物”负责信息收集和信号处理,通过感知识别技术,让物品“开口说话、发布信息”。应用层是物联网系统面向用户的客户端,通过对感知层收集到的信息进行分析、处理,挖掘有价值的数据,为用户提供丰富的特定服务。而华为云 IoT 作为中间的平台层,在整个物联网体系架构中起着承上启下的关键作用。
2024-11-12 19:25:57
1128
原创 一篇文章足够你学习蓝牙技术,提供史上最全的蓝牙技术(传统蓝牙 低功耗蓝牙)文章总结,文档下载总结(2024 12 11更新)_gatt a2dp介绍
1. 代码github连接(点击我)2. 蓝牙Core 5.2 文档下载(点击我,提取码fqr4)3. 自己写的蓝牙书下载(截止20200908,点击我,提取码2tav)目前文章有最新,但是暂不提供4. 开发板链接(点击我购买)章节文章标题文章链接视频课程第一章 蓝牙概述1. 蓝牙的基本概念以及发展轨迹点击我待更新2. 一文让你彻底了解市面蓝牙架构点击我待更新3.吐血推荐历史最全的蓝牙协议栈介绍点击我待更新第二章 蓝牙模组以及开发板介绍1.蓝牙模组以及开发板介绍点击我待更新。
2024-11-12 19:13:28
511
1
原创 Elasticsearch中的三种分页策略深度解析:原理、使用及对比(1)
在Elasticsearch中,分页是查询操作中不可或缺的一部分。随着数据量的增长,如何高效地分页查询数据急需需要面对的问题。scroll和。下面详细介绍这三种分页方式的特点和使用场景。
2024-11-12 19:01:54
857
原创 ARM裸机开发篇1:Cortex-A7开发环境搭建_cortex-a7 keil
点击“安装”安装完成会出现如下界面安装完成后第一次启动需要指定一个配置文件默认保存路径,这里一般默认即可。然后出现如下界面,由于是免费版本所以直接点击“关闭”即可。随后会弹出如下界面,点击“确定”至此,xshell 6(免费版),就安装成功了。
2024-11-12 17:28:14
620
原创 一次完整的HTTP事务是怎样一个过程?_属于一次完整的http事务是一个过程
④ 如果在hosts文件中也没有找到对应的条目,浏览器就会发起一个DNS的系统调用,就会向本地配置的首选DNS服务器(一般是电信运营商提供的,也可以使用像Google提供的DNS服务器)发起域名解析请求(通过的是UDP协议向DNS的53端口发起请求,这个请求是递归的请求,也就是运营商的DNS服务器必须得提供给我们该域名的IP地址),运营商的DNS服务器首先查找自身的缓存,找到对应的条目,且没有过期,则解析成功。你看默认创建的目录就是4096字节,也就说只需要占用一个磁盘块,但这是不确定的。
2024-11-12 16:34:44
443
原创 一文读懂物联网 MQTT 协议之实战篇
那就把把 WITH_WEBSOCKETS 从 yes 改成 no 后,就可以成功编译了。改成如果你的应用不需要 websocket 协议,可以把这个参数给设置 no 关掉。如果终端出现的是这样:那么恭喜你,Mosquitto 安装成功了。
2024-11-12 16:32:43
392
原创 一文搞懂链表结构(单链表、双链表、循环链表、删除、添加、内存结构)_内存角度地址剖析删除链表
所以链表中的节点在内存中不是连续分布的 ,而是散乱分布在内存中的某地址上,分配机制取决于操作系统的内存管理。这个链表起始节点为2, 终止节点为7, 各个节点分布在内存的不同地址空间上,通过指针串联在一起。循环链表可以用来解决约瑟夫环问题。每一个节点有两个指针域,一个指向下一个节点,一个指向上一个节点。数组是在内存中是连续分布的,但是链表在内存中可不是连续分布的。了解完链表的类型,再来说一说链表在内存中的存储方式。只要将C节点的next指针 指向E节点就可以了。链表是通过指针域的指针链接在内存中各个节点。
2024-11-12 16:28:33
506
原创 一文掌握大模型提示词技巧:从战略到战术
当用户请求你介绍某款车型时,先使用 search_car 查询数据库,请注意一定要明确车的系列,如果信息不全,请向用户追问。如果数据库中没有相关信息,切换到bingWebSearch以搜索有关此车型的信息。根据搜索结果,以生动的语言向用户介绍这款车的性能、外观、内饰、驾驶体验等信息。并以如下格式组织回答:=====🚗 车型: 💰 当前价格: 👍 优点: 👎 缺点: 🔗 查看详情:
2024-11-12 16:24:27
529
原创 一文掌握大模型提示词技巧:从战略到战术(1)
当提示词过长时,优先考虑将用户的输入放在开头或最后,如果将用户输入放在中间而且提示词中有示例,模型很可能将示例作为用户输入进行处理。##1 角色请你扮演中国软件水平考试高级辅导专家,负责用户发送的概念讲解和发送的题目解答。##2 技能### 技能1:概念讲解当我发送一些概念或者软考概念讲解的截图时(使用 OCR 将图片中的文字提取出来)。Step1:根据概括或截图帮我讲解一下相关内容,讲解时尽量通俗易懂,并给出恰当的例子,优先使用 markdown 表格的形式来呈现。
2024-11-12 16:22:26
451
原创 一个严谨的STM32串口DMA发送&;接收(1
文章目录1 前言2 串口有必要使用DMA吗3 实现方式4 STM32串口使用DMA5 串口DMA接收5.1 基本流程5.2 相关配置5.3 接收处理5.3 .1 接收数据大小5.3.2 接收数据偏移地址5.4 应用读取串口数据方法6 串口DMA发送5.1 基本流程5.2 相关配置5.3 发送处理
2024-11-12 16:18:20
327
原创 一、CC2530简介_cc2530单片机
先假设寄存器所有位的值都是0,如TMP=0000 0000。再将要操作的位置全部改为1,即0100 1100,也就快速得到了这个值 :0X4C。
2024-11-12 16:16:19
680
原创 【计算机网络】传输层知识点总结_tcp所有允许airtunes2 通信 udp 所有允许 dhcp 通信 udp 所有允许dhcpv
如果发送者发送过快,接收者来不及接收,那么就会有分组丢失。为了避免分组丢失,接收者主动控制发送者的发送速度,使得接收者来得及接收,这就是流量控制。
2024-11-12 15:29:39
277
原创 【蓝桥杯嵌入式备赛】其七:12、13届省赛技巧记录
主控板:STM32G431RBT6板载下载器:DAPLINK软件:STM32CubeMX、Keil MDK5。
2024-11-12 15:27:35
363
原创 vue 移动端H5微信支付和支付宝支付_vue支付宝手机网站支付中途退出处理
H5移动端支持微信支付 [ 微信支付分为微信内支付(JSAPI支付)和微信外支付(H5支付)] && 支付宝支付 [手机网站支付转 APP 支付。
2024-11-11 16:42:56
563
原创 vue 登录界面记住密码_ant design of vue 记住密码功能
/判断复选框是否被勾选 勾选则调用配置cookie方法。console.log(“清空Cookie”);//传入账号名,密码,和保存天数3个参数。//页面加载调用获取cookie值。//清空Cookie。
2024-11-11 16:40:55
450
原创 Vue 检测不到数组或对象的变化怎么办?_vueshuzufangfa不能识别
注:从官方文档来看用forceUpdate方法会重新渲染整个Vue实例,如果只是想单独改变数组的值,建议使用官方推荐方法,采用Vue.set设置。方法可解决“Vue 无法检测 property 的添加或移除”和“Vue 不能检测数组利用索引直接设置一个数组项变动”问题。
2024-11-11 16:38:54
318
原创 Vue 检测不到数组或对象的变化怎么办?_vueshuzufangfa不能识别(1)
注:从官方文档来看用forceUpdate方法会重新渲染整个Vue实例,如果只是想单独改变数组的值,建议使用官方推荐方法,采用Vue.set设置。
2024-11-11 16:36:54
361
原创 Vue 导入文件import、路径@和
在路由index.js中,导入apple.vue和banana.vue。vue在webpack.base.conf.js文件中有如下配置。以上例子,通过两种方式定义相对路径,并且省略了文件的后缀名。以父子目录的方式定义相对路径。以根目录的方式定义相对路径。指当前目录的上一层目录。
2024-11-11 16:34:53
417
原创 Vue 导入文件import、路径@和(2)
xxx”指的是为导入的文件起一个名称,不是指导入的文件的名称,相当于变量名。在路由index.js中,导入apple.vue和banana.vue。vue在webpack.base.conf.js文件中有如下配置。以上例子,通过两种方式定义相对路径,并且省略了文件的后缀名。路径的方式导入文件,不光可以导入js文件。“xxx路径”指的是文件的相对路径.以父子目录的方式定义相对路径。以根目录的方式定义相对路径。指当前目录的上一层目录。html文件中,通过。
2024-11-11 16:32:53
623
原创 Vue Router详细教程
一个页面有自己对应的网址,也就是URL。URL会发送到服务器,服务器会通过正则对该URL进行匹配,并且最后交给一个Controller进行处理。Controller进行各种处理,最终生成HTML或者数据,返回给前端。这就完成了一个IO操作。上面的这种操作,就是后端路由。当我们页面中需要请求不同的路径内容时,交给服务器来进行处理,服务器渲染好整个页面,并且将页面返回给客户顿。这种情况下渲染好的页面,不需要单独加载任何的js和css,可以直接交给浏览器展示,这样也有利于SEO的优化。
2024-11-11 16:28:47
899
原创 vue pc端web页面微信支付和支付宝支付_前端pc扫码实现微信支付和支付宝支付
pc端支持微信支付 [ Native支付] && 支付宝支付 [电脑网站支付。
2024-11-11 16:26:46
795
原创 Vue + iview + quill (vue-quill-editor)富文本编辑器及插入自定义图片,样式调整_vue3quill插入块状样式
效果图如下: (默认编辑器有很多icon ,各取所需)配置项:放在data中。
2024-11-11 16:24:46
330
原创 Vue # 进度条_this
,waiting: {},},_this.}̲, 200))virtua…}, 200))},?: ‘handle’},watch: {},},methods: {},fsprogressconstprogressBarWidthprogressBargetBoundingClientRec。
2024-11-11 16:22:46
656
原创 VSCode配置 c++ 环境(小白教程)_vscode的c++颜色
{fileBasenameNoExtension}: 当前文件的文件名,NoExtension意思就是不带后缀名,然后加个 .exe 就是当前的exe文件,也就是编译生成的 exe 文件。${file}:文件自身的绝对路径,也即/home/Coding/Test/.vscode/tasks.json。${fileDirname}:文件所在的文件夹路径,也即/home/Coding/Test/.vscode。${fileBasenameNoExtension}:当前文件的文件名,不带后缀,也即tasks。
2024-11-11 16:20:45
684
原创 VSCode配置 c++ 环境(小白教程)_vscode的c++颜色(3)
本人环境:Windows10 64位VSCode 使用起来还是很方便的,运行速度快,占用系统资源小,还有丰富的插件。
2024-11-11 16:18:45
333
原创 VSCode配置 c++ 环境(小白教程)_vscode的c++颜色(2)
本人环境:Windows10 64位VSCode 使用起来还是很方便的,运行速度快,占用系统资源小,还有丰富的插件。
2024-11-11 16:16:44
870
原创 VSCode配置 c++ 环境(小白教程)_vscode的c++颜色(1)
{fileBasenameNoExtension}: 当前文件的文件名,NoExtension意思就是不带后缀名,然后加个 .exe 就是当前的exe文件,也就是编译生成的 exe 文件。${file}:文件自身的绝对路径,也即/home/Coding/Test/.vscode/tasks.json。${fileDirname}:文件所在的文件夹路径,也即/home/Coding/Test/.vscode。${fileBasenameNoExtension}:当前文件的文件名,不带后缀,也即tasks。
2024-11-11 16:14:44
932
原创 VSCode安装配置使用教程(最新版超详细保姆级含插件)一文就够了_vscode使用教程
VS Code 采用通用的用户界面和左侧的资源管理器布局,显示您可以访问的所有文件和文件夹,右侧的编辑器显示您打开的文件的内容。区块颜色区块名称区块作用红色活动栏位于最左侧,可让您在视图之间切换,并为您提供额外的特定于上下文的指标,例如启用 Git 时传出更改的数量。绿色侧栏包含不同的视图,例如资源管理器,可在您处理项目时为您提供帮助。粉色状态栏有关已打开项目和您编辑的文件的信息。紫色面板您可以在编辑器区域下方显示不同的面板,用于输出或调试信息、错误和警告或集成终端。
2024-11-11 16:12:43
1559
原创 Linux系统使用Docker部署Portainer结合内网穿透实现远程管理容器和镜像_部署portainer高可用
Portainer 是一个轻量级的容器管理工具,可以通过 Web 界面对 Docker 容器进行管理和监控。它提供了可视化的界面,使得用户可以更加方便地管理 Docker 容器、镜像、网络和数据卷等资源。下面介绍如何将本地 Portainer 管理界面结合 cpolar 内网穿透工具实现远程任意浏览器访问!远程访问的好处是可以方便地管理远程的 Docker 容器和镜像,无需登录到远程服务器进行操作。
2024-11-10 06:58:42
764
原创 linux系列之常用运维命令整理笔录_linux运维命令
SELinux全称是 Security-Enhanced Linux,它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。详情可以参考SELinux 入门SELINUX工作原理其实SELinux的功能也就是类似于防火墙的功能,不过安全相对比较好,ok,所以本博客介绍一下SELinux的使用命令getenforce命令,这个是查看当前SELinux的运行模式的指令,SEliunx有三种模式。
2024-11-10 06:56:42
870
原创 linux系列之常用运维命令整理笔录_linux运维命令(1)
SELinux全称是 Security-Enhanced Linux,它是由美国国家安全局(NSA)贡献的,它为 Linux 内核子系统引入了一个健壮的强制控制访问Mandatory Access Control架构。详情可以参考SELinux 入门SELINUX工作原理其实SELinux的功能也就是类似于防火墙的功能,不过安全相对比较好,ok,所以本博客介绍一下SELinux的使用命令getenforce命令,这个是查看当前SELinux的运行模式的指令,SEliunx有三种模式。
2024-11-10 06:54:41
788
原创 linux根目录爆满解决方法_linux根目录满了如何清理
三、这时候空间满了 想使用tab补全 发现已经用不了了。四、cd 到 usr 后 发现 local 占用 34G。六、发现是 log 里面每天备份的日志文件占用了很大内存。八、删除完后发现已经释放了一部分空间。九、再把剩下的日志文件全部删除。发现 usr 占用了39G。七、删除掉一部分日志文件。五、cd nacos。十、空间释放完成,搞定。
2024-11-10 06:52:41
1732
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人