- 博客(67)
- 收藏
- 关注
原创 Keil uVision4 创建51单片机工程
首先电脑要安装 Keil uVision4 。打开软件,选择工程,点击新建uVision工程。选择文件夹,创建文件名称。选择单片机型号,点击Atmel ,在其下找到 AT89C51 或 AT89C52。[ | 从左到右 |逗号表达式的求解过程是:先计算表达式1的值,再计算表达式2的值,……运算符使它两边的表达式以从左到右的顺序被执行,并获得右边表达式的值。逗号表达式的一般形式是:表达式1,表达式2,表达式3……
2024-11-14 05:53:30
767
原创 几个经典基础算法题目_a 算法题目(2)
[cpp]view plaincopyprint?[cpp]view plaincopyprint?[cpp]view plaincopyprint?[cpp]view plaincopyprint?比如3位的所有格雷码:000001011010110111101100代码如下:[html]view plaincopyprint?另一份可参考代码:[html]view plaincopyprint?N个人围成一圈,从第一个开始报数,第M个
2024-11-12 22:54:34
908
原创 共用体详解(2)
这种几个不同的变量共同占用一段内存的结构,在C语言中,被称作“共用体”类型结构,简称共用体,也叫联合体。因为float的存储方式不同,解码时会按照独自的方式计算解码(可自行搜索float类型数据在内存中的存储方式),所以输出为0.00000。以上3个变量在内存中占的字节数不同,但都是从同一地址开始(图中设为1000)存放,也就是使用覆盖技术,后一个数据覆盖了前面的数据。时,输出入下图:(打印a.ch时,因为0x0不能用字符打印,所以用的整型,效果一样),所以在地址中存在的方式如下图。
2024-11-12 21:35:32
260
原创 共用体详解(1)
定义共用体类型变量的一般形式为:3.关键知识点例如:在地址空间中表示如下图:以上3个变量在内存中占的字节数不同,但都是从同一地址开始(图中设为1000)存放,也就是使用覆盖技术,后一个数据覆盖了前面的数据。共用体类型数据的特点:(1)同一内存段可以用来存放几种不同类型的成员,但在每一瞬间只能存放其中一个成员,而不是同时存放几个。表示将整数97存放在共用体变量中,输出结果如下。 97换成16进制为0x00000061,又因为电脑的存储方式为小端格式,所以在地址中存在的方式如下图 因为float
2024-11-12 21:33:30
249
原创 六大排序算法:插入排序、希尔排序、选择排序、冒泡排序、堆排序、快速排序_冒泡排序,快速排序
3、在走的过程中,若end遇到小于key的数,则停下,begin开始走,直到begin遇到一个大于key的数时,将begin和right的内容交换,end再次开始走,如此进行下去,直到begin和end最终相遇,此时将相遇点的内容与key交换即可。5.将key的左序列和右序列再次进行这种单趟排序,如此反复操作下去,直到左右序列只有一个数据,或是左右序列不存在时,便停止操作,此时此部分已有序。实际上,我们可以一趟选出两个值,一个最大值一个最小值,然后将其放在序列开头和末尾,这样可以使选择排序的效率快一倍。
2024-11-12 21:29:24
630
原创 全局路径规划:图搜索算法介绍2(A star)_a-star算法 收敛性
我们从起点a开始,进行拓展,获得三个子节点,bed, 计算cost function, 这是g and h 的总和,最低的是d, 接下来对d进行拓展,子节点是G, 正好就是终点,最后对这一分支进行回溯,将路线回溯到起点,就是我们的最优路径了。我们说到,启发函数的这个远近是可以任意设定的,只要保证 h
2024-11-12 21:23:12
408
原创 充电桩故障分类与检测(入门赛f1-1
历程:一开始用了tensorflow搭建了全链接神经网络,但是NN效果并不好0.89封顶,后来采用了XGB和LGB线上自能达到0.9999,最后换成GBDT开始了玄学调参的路程(我一只快乐的调包侠。数据采用原特征,模型采用GDBT,网格搜索进行模型调参。第一次接触数据类比赛,本比赛是个新人入门赛。
2024-11-12 21:19:06
173
原创 值得推荐的C C++框架和库_哪个c++框架gui 可以商用
NetBSD是一个免费的,具有高度移植性的 UNIX-like 操作系统,是现行可移植平台最多的操作系统,可以在许多平台上执行,从 64bit alpha 服务器到手持设备和嵌入式设备。由于简洁的设计和先进的特征,使得它在生产和研究方面,都有卓越的表现,而且它也有受使用者支持的完整的源代码。其次,LevleDb在存储数据时,是根据记录的key值有序存储的,就是说相邻的key值在存储文件中是依次顺序存储的,而应用可以自定义key大小比较函数,LevleDb会按照用户定义的比较函数依序存储这些记录。
2024-11-12 21:17:06
700
原创 信号隔离器的功能原理是什么?_信号量隔离原理
信号隔离器的原理是将变送器或仪表的信号,通过半导体器件调制转化,然后通过光感或是磁感器件实现隔离转换,然后再实行解调转换回隔离前原信号,同时对隔离后信号的供电电源实行隔离处理,保证转换后的信号、电源、地之间绝对独立。信号隔离器一般采用三端隔离技术,各个过程环节有效隔离,保证信号传输精度的同时,彻底解决接地环路电流和信号隔离保护等问题。有源信号隔离器由独立的电源供电,以确保隔离器出色工作,模块在输入侧需要有源信号,在输出测它们则提供经过过滤和放大的信号,根据应用情况输入/输出与电源之间相互隔离。
2024-11-12 21:15:04
363
原创 使用WireShark抓包分析TCP_IP协议_wiresharkip协议分析
在(谢希仁编著)这本书中,详细介绍了TCP/IP网络传输涉及的分层,及各个比特的含义。在这篇文章中,我们将使用抓包分析 TCP/IP 协议,用实践来验证理论。
2024-11-12 21:10:58
1645
原创 使用TortoiseGit同步项目到GitHub简单教程_tortoisegit github
是Git的Windows桌面可视化工具,通过软件的操作来实现git命令的效果,对git小白较友好。TortoiseGit可以通过官网下载,下载之后即可按照普通软件的方式进行安装,每一步都选择默认选项即可。:安装TortoiseGit之前要先安装Git,因为TortoiseGit安装过程中会自动搜索匹配系统中安装的Git,这样免去了手动配置的困扰,而且需要安装较新版本的Git,否则会不匹配、TortoiseGit不能正常运行,Git官网。
2024-11-12 21:08:58
973
1
原创 使用scikit-learn处理分类的基础流程_简述scikit-learn的流程。
from sklearn import datasetsfrom sklearn.svm import SVCimport numpy as npfrom sklearn.model_selection import train_test_splitimport picklefrom sklearn import metricsfrom sklearn.decomposition import PCAALLData1 = np.loadtxt(‘D:\xxx\xxx.txt’,delimiter
2024-11-12 21:06:58
491
原创 使用C++ 编写嵌入式应用程序_c++嵌入式工程
程序员是在用问题空间的术语描述问题的解(例如“把锁链放在箱子里”),而不是用计算机的术语,也就 是解空间的术语,描述问题的解(例如“设置芯片的一位即合上继电器”)。然而将函数也放在这个包内,结构就变成了新的创造物,它既能描述属性(就像 C中的 struct 能做的一样),又能描述行为,这就形成了对象的 概念。C++的版本为C++11 是ISO 2011年的标准版本,C++14 是2014年的标准版本,C++17 是2017年的标准版本。通俗地讲,C++是以数据为中心的,而C是以流程为中心的。
2024-11-12 21:04:57
464
原创 使用C++ 编写嵌入式应用程序_c++嵌入式工程(1)
所以这些观点都是错误的。据有关文献表明,C++的源代码可能比C++程序多一些,但是目标代码并不比C语言产生的代码大和慢。最多只有10%的差异。
2024-11-12 21:02:57
752
原创 使用 html2canvas 将页面保存成图片_canvas 将整个web保存
/ 此方法可以设置截图质量(0-1)var imgUrl = canvas.toDataURL(“image/png”);// 将canvas转换成img的src流。console.log(“base64编码数据:”, imgUrl);console.log(“base64编码数据:”, imgUrl);
2024-11-12 21:00:57
565
原创 使用 C# 设计ToF测距传感器 VL53L5CX 上位机软件_传感器上位机程序
分组框,用以区分串口设置,串口接收设置,串口发送等不同区域。按键,打开关闭串口等操作的按钮。不可编辑的信息,标题指示等,比如波特率,端口,下图端口用的 button,也可以用 Label。下拉列表框,在串口选择,波特率选择的时候需要用到:单选按钮控件,选择是 HEX ,还是 ASCII 码接收发送,实际上我们可以不需要,这里照着写了,就算了。文本框控件,用来显示串口接收的数据串口串口助手具体的实现大家可自己参考上面视频,或直接下载线程的 DEMO,可以直接运行的。
2024-11-12 20:58:56
969
原创 [嵌入式开发模块]环形缓冲区 循环队列 C语言实现_c语言环型队列(2)
指向环形队列控制块的指针。指向环形队列控制块的指针。* RQ_OPTION_WHEN_FULL_DISCARD_FIRST 抛弃队头的元素来填进去新的元素。
2024-11-11 19:04:54
836
原创 [嵌入式开发模块]环形缓冲区 循环队列 C语言实现_c语言环型队列(1)
在.h文件中定义了一个环形缓冲区的控制块,当然也可以当其为一个环形缓冲区对象,用户需要为每个环形缓冲区分配一个控制块和其缓冲区(也就是一个数组)。理想情况下,虽然用户知道控制块的结构,但也不应该直接访问内部字段,而应该通过提供的函数来访问。队列中默认的元素是无符号字符,如果要改成缓存其他类型的话改下.h文件中的。然后下面是.c文件。
2024-11-11 19:02:52
126
原创 [单片机]基于STM32的ONENET云平台操控系统_dht11 onenet rc522
W25Q128BV 支持标准 SPI 接口,以及更高性能的 DUAL/QUAD SPI ,对应的管脚为时钟,片选,(I/O0)DI,(I/O1)DO,I/O2(/WP),I/O3(/HOLD)。当修改完比较值,切换界面时,将各比较值重新存进W25Q128中,修改原来的数据。ESP8266是一款超低功耗的UART-WiFi 透传模块,拥有业内极富竞争力的封装尺寸和超低能耗技术,专为移动设备和物联网应用设计,可将用户的物理设备连接到Wi-Fi 无线网络上,进行互联网或局域网通信,实现联网功能。
2024-11-11 19:00:52
1211
原创 [内核同步]自旋锁spin_lock、spin_lock_irq 和 spin_lock_irqsave 分析
在短期间内进行轻量级的锁定。一个被争用的自旋锁使得请求它的线程在等待锁重新可用的期间进行自旋(特别浪费处理器时间),所以自旋锁不应该被持有时间过长。如果需要长时间锁定的话, 最好使用信号量。简单来说,自旋锁在内核中主要用来防止多处理器中并发访问临界区,防止内核抢占造成的竞争。:如果自旋锁锁住以后进入睡眠,而此时又不能进行处理器抢占(锁住会disable prempt),其他进程无法获得cpu,这样也不能唤醒睡眠的自旋锁,因此不相应任何操作。:自旋锁是一种轻量级的互斥锁,可以更高效的对互斥资源进行保护。
2024-11-11 18:58:51
868
原创 [Android O] Camera 服务启动流程简析
然而,公司业务要往 HAL3 上迁移了,又要重新开始学习 Camera 流程了……不过现在的我已经有一定的能力,可以自己跟踪流程去分析了。趁此机会,我就从比较简单的 Camera 服务启动流程开始,锻炼锻炼分析代码、抽象出主干思想的功力吧。
2024-11-11 18:54:45
661
原创 [4G&;5G专题-56]:L2 MAC层-逻辑信道到物理信道的映射、MAC层包或PDU格式、MAC层复用与解复用_mac层复用解复用
MAC层支持多个逻辑信道到一个传输信道的映射,因此MAC层PDU包的格式, 又称为传输块TB包格式,可以容纳多个逻辑信道的数据。传递的数据类型包括:(1)终端与基站的L2 MAC层间的控制消息。本层的控制消息。(2)终端与基站在L3 RRC层的控制信令。上层的控制信道。(2)终端与基站核心网之间的数据。上层的数据信道。
2024-11-11 18:52:45
751
原创 ZYNQ自带I2S_IP核分析_zynq i2s
接口名称方向类型描述输入时钟信号AXI4-Lite接口的输入时钟输入复位AXI4-Lite接口的激活-低复位s_axi_ctrlAXI4-Lite接口aud_mclk输入时钟信号输入音频时钟。通常是音频采样率的倍数。aud_mrst输入复位信号音频接口的高重置输入时钟信号AXIS音频流时钟输入复位信号音频 AXIS InterfaceAXIS音频接口1Irq输出中断信号主动-高中断lrclk_out输出输出左右声道音频时钟,当核心被配置为主可用。
2024-11-11 18:50:44
464
原创 XTTS基于rman全量迁移Oracle_xtts迁移oracle 10g rac 到oracle 10g
📢📢📢📣📣📣哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA工作经验一位上进心十足的【大数据领域博主】!😜😜😜中国DBA联盟(ACDU)成员,目前从事DBA及程序编程擅长主流数据Oracle、MySQL、PG 运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。✨ 如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】💞💞💞❤️❤️❤️。
2024-11-11 18:36:11
207
原创 x86部署安装sylixos应用笔记_booticex86
如图 36所示,则是SylixOS挂载了发现的磁盘,出现这种情况,需要先执行umount /media/xxx 用来进行磁盘解挂载,比如图 36中,就需要执行umount /media/hdd0 和 umount /media/hdd1。注意:如果x86自身携带的SSD比较小,比如只有128M,第一个分区保留32M也可。图 35 IDE3.0编译 x86 elf位置。当点击"写入磁盘"后,U盘启动引导就好了。图 33 写入引导分区信息。图 32 制作引导分区。图 36 查看挂载信息。图 31 格式化U盘。
2024-11-11 18:34:10
352
原创 Windows搭建SVN与详细配置_windows $ svn co
Location是软件的安装目录,Repositories为版本库地址目录,Server Port是服务器端口,勾选Use secure connection https,如果端口被占用,将会报错。第二项是安装企业版。如果不知道url怎么填,可以在svn服务端右键版本库COPY URL to Clipboard,复制版本库链接,如下图。提交项目到svn版本库,右键提交的文件夹,点击TortoiseSVN->Import,如下图。选择刚刚新建的admin组,则组内成员都有该版本库权限,点击OK,如下图。
2024-11-11 18:32:10
3203
原创 windows平台QT程序发布打包_windows qt 4
4.使用QT自带windep功能将自动建立该项目所需要的一些库文件输入“windeployqt IotSocketServer.exe”这里的“IotSocketServer”代表你程序的文件名字。输入“cd /d F:\IOT_GIT\build-IotSocketServer-Desktop_Qt_5_9_1_MinGW_32bit-Release\release”转到项目的位置。10.生成的应用程序一般比较大,原始的exe比较小。7.添加release目录下生成的文件。
2024-11-11 18:30:09
354
原创 Win10中docker的安装与使用_win10安装docker
在过去,如果你要开始编写一个Python应用程序,你的第一步就是在你的机器上安装一个Python运行库。但是,这会造成您的机器上的环境必须满足一定条件以使您的应用程序可以运行。使用Docker,你可以将一个可移植的Python运行库作为一个映像,不需要安装。然后,您的构建可以将基础Python镜像与应用程序代码一起包括在内,确保您的应用程序,依赖项和运行时都一起运行。这些可移植的镜像是由一个叫做Dockerfile的东西来定义的。
2024-11-11 18:15:39
4715
1
原创 MySQLWorkbench使用-导出数据表关系图_mysql workbench 输出表之间的关系
因为常使用MySQL作为工具建立数据库,多表时需要更好地表现各表之间的联系。MySQLWorkbench即为较好的选择。
2024-11-10 08:57:42
337
原创 MySql 学习之索引详解
在组合索引的创建中索引列的顺序非常重要,正确的索引顺序依赖于使用该索引的查询方式,对于组合索引的索引顺序可以通过经验法则来帮助我们完成:将选择性最高的列放到索引最前列,该法则与前缀索引的选择性方法一致,但并不是说所有的组合索引的顺序都使用该法则就能确定,还需要根据具体的查询场景来确定具体的索引顺序。全值匹配指的是和索引中的所有列进行匹配,如:以上面创建的索引为例,在where条件后可同时查询(user_name,city,age)为条件的数据。
2024-11-10 08:55:42
867
原创 MySql 学习之索引详解(1)
在组合索引的创建中索引列的顺序非常重要,正确的索引顺序依赖于使用该索引的查询方式,对于组合索引的索引顺序可以通过经验法则来帮助我们完成:将选择性最高的列放到索引最前列,该法则与前缀索引的选择性方法一致,但并不是说所有的组合索引的顺序都使用该法则就能确定,还需要根据具体的查询场景来确定具体的索引顺序。全值匹配指的是和索引中的所有列进行匹配,如:以上面创建的索引为例,在where条件后可同时查询(user_name,city,age)为条件的数据。
2024-11-10 08:53:42
889
原创 MyBatis Generator常用配置说明_domainobjectname
delimitedColumnName这个属性就会告诉MGB在生成映射文件的时候会在该字段上加上分隔符,而对于分隔符的设置具体是在。这样基本上可以满足一般的需求了,如果还有额外的需求,请移步MBG官网的。指定了生成实体的类型,这里。
2024-11-10 08:51:41
375
原创 MT9V034摄像头学习笔记(一)_mt9v034摄像头循迹代码
函数名称:uint8_t SCB_RegRead(uint8_t Device,uint8_t Address,uint16_t *Data)* 函数名称:uint8_t SCB_RegWrite(uint8 Device,uint8 Address,uint16 Data)* 函数名称:int SCCB_Probe(uint8_t chipAddr)* 函数名称:uint8 SCCB_SendByte(uint8 Data)* 函数名称:uint8 SCCB_ReadByte(void)
2024-11-10 08:41:30
506
原创 MT9V034摄像头学习笔记(一)_mt9v034摄像头循迹代码(1)
函数名称:uint8_t SCB_RegRead(uint8_t Device,uint8_t Address,uint16_t *Data)* 函数名称:uint8_t SCB_RegWrite(uint8 Device,uint8 Address,uint16 Data)* 函数名称:uint8 SCCB_SendByte(uint8 Data)* 函数名称:uint8 SCCB_ReadByte(void)* 修改时间:2018年3月4日。* 修改时间:2018年3月4日。
2024-11-10 08:39:29
718
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人