自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

东辰叶落

向博客大佬学习

  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 09-责任链模式-C语言实现

Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.Chain the receiving objects and pass the request along the chain until an object handles it.(使多个对象都有机会处理请求, 从而避免了请求的发送者和接受者之间的耦合关系。

2024-01-07 12:06:27 1124

原创 09-命令者模式-C语言实现

是一个高内聚的模式, 其定义为: Encapsulate a request as an object,thereby letting you parameterize clients with different requests,queue or log requests,and support undoable operations.(将一个请求封装成一个对象, 从而让你使用不同的请求把客户端参数化, 对请求排队或者记录请求日志, 可以提供命令的撤销和恢复功能。

2023-12-02 20:07:42 105

原创 08-中介者模式-C语言实现

explicitly,and it lets you vary their interaction independently.(用一个中介对象封装一系列的对象交互, 中介者使各对象不需要显示地相互作用, 从而使其耦合松散, 而且可以独立地改变它们之间的交互。

2023-12-02 14:22:40 369

原创 07-原型模式-C语言实现

对象的构造函数是私有的,不能直接调用,但又需要复制该对象。可以动态克隆对象,减少了对象创建过程中的时间和资源消耗。对象的创建方式比较固定,但是需要某些属性进行个性化设置。可以隐藏对象创建细节,使用户无需关心对象的创建方式。对象的创建过程比较复杂或耗时,需要缩短对象创建时间。,包括引用类型的属性,否则会出现浅拷贝导致的问题。在上面的示例代码中,首先定义了原型接口。,然后通过克隆函数创建了一个新的对象。,它实现了原型接口中的克隆函数。函数中,创建了一个具体原型对象。,最后输出了新对象的属性。

2023-12-02 13:51:26 720

原创 06-代理模式-C语言实现

它包含了一个指向具体主题对象的引用,并实现了与具体主题相同的接口函数。可以实现延迟加载,当真正需要时才创建或访问目标对象,提高系统性能。可以实现对目标对象的访问控制,例如验证权限、监控访问等。可能会降低系统的性能,特别是在需要频繁访问目标对象时。可以隐藏目标对象的具体实现细节,保护目标对象的安全。需要对目标对象进行扩展,例如增加额外的操作。需要对目标对象进行保护,隐藏其具体实现细节。在上面的示例代码中,首先定义了抽象主题接口。增加了系统复杂性,引入了额外的代理对象。,它实现了抽象主题接口中的函数。

2023-11-26 18:09:31 343

原创 05-建造者模式-C语言实现

建造者模式将产品的构建过程与产品的表示分离,使得构建过程可以独立于产品而变化。通过使用建造者模式,可以更加灵活地构建复杂对象,并且可以复用相同的构建过程来创建不同的产品。具体建造者类通过实现不同的构建方法来构建产品的不同部分,并提供获取最终产品的函数。需要创建复杂的对象,而且对象的构建过程是稳定的,但是具体的构建步骤可能会有所差异。如果产品的组成部分发生变化,可能需要修改建造者类的代码,影响系统的稳定性。需要控制对象的创建过程,并且希望隐藏产品的创建细节,只暴露出产品的接口。函数中,创建了具体建造者对象。

2023-11-26 16:39:55 293

原创 04-模板方法模式-C语言实现

模板方法模式将算法的骨架和具体步骤的实现进行了解耦,通过在抽象基类中定义模板方法,并使用函数指针回调具体实现类的函数来实现多态性,可以灵活地扩展和定制算法的具体步骤。,它接收一个抽象基类对象作为参数,并依次调用对象的三个函数指针,完成算法的骨架部分。,其中包含了三个函数指针,对应模板方法中的三个步骤。然后定义了具体实现类。函数中创建了两个不同的具体实现类的对象,并调用模板方法进行测试。在上面的示例代码中,首先定义了一个抽象基类。,它们分别实现了抽象基类中的三个步骤。,以及另一个具体实现类。

2023-11-26 16:12:32 282

原创 01-单例模式-支持并发的C语言实现

需要注意的是,使用单例模式时应该慎重考虑,合理评估是否真正需要全局唯一实例。滥用单例模式可能会导致代码复杂性增加,并且可能隐藏了类之间的依赖关系。单例模式是一种创建型设计模式,它确保一个类只有一个实例,并提供全局访问点以获取该实例。

2023-11-26 16:05:50 277

原创 03-抽象工厂模式-C语言实现

抽象工厂模式(Abstract Factory Pattern)是一种创建型设计模式,它提供了一个接口或抽象类,用于创建相关或依赖对象的家族,而不需要指定具体的类。抽象工厂模式通过封装一组相关的产品对象的创建逻辑,使得客户端可以通过统一的接口来创建这些产品对象。需要注意的是,抽象工厂模式适合处理产品族的创建,而不适合处理单个产品的创建。另外,抽象工厂模式在系统中增加了抽象性,如果系统规模较小或者产品结构简单,可能会显得过度设计,此时可以考虑使用简单工厂模式。

2023-11-26 15:54:19 174

原创 02-工厂模式-C语言实现

简单工厂模式(Simple Factory Pattern)是一种创建型设计模式,它提供了一个统一的工厂类,通过传入不同的参数来创建不同的产品对象。简单工厂模式将对象的创建逻辑封装在工厂类中,客户端只需通过工厂类来获取所需的产品对象,而无需关心具体的创建过程。需要注意的是,简单工厂模式并不是一个严格的设计模式,它更像是一种编程习惯或者一种简化对象创建的方法。在具体项目中,根据实际需求和复杂度,可以选择使用其他更灵活和可扩展的创建型设计模式,如工厂方法模式或抽象工厂模式。,它包含一个用于创建产品的函数。

2023-11-26 15:22:35 59

原创 低成本FPV制作记录(空心杯+2.5寸FPV)

前言:入FPV的坑,买的五寸太大,飞起来就是个移动的血滴子,有点害怕,所以想做个低成本、有保护圈的FPV练手。空心杯材料:7.4V 2S 8520空心杯电机https://item.taobao.com/item.htm?spm=a1z09.2.0.0.52c72e8dvhYEuv&id=601213996267&_u=l22efle6a0c5空心杯机架两块530mA电池(咸鱼)https://2.taobao.com/item.htm?id=6227..

2021-04-21 22:44:38 2758 2

原创 Ubuntu18.04 配置vim自动补齐傻瓜操作

源自:https://blog.csdn.net/qq_41250354/article/details/90513598git clonehttps://github.com/chxuan/vimplus.git~/.vimpluscd ~/.vimplus./install.sh安装git后,都不需要安装vim,直接执行。中间要选一下支持Python2还是3就好了。效果图...

2020-02-18 17:50:49 2420 4

原创 Quartus18.0联合Modelsim10.5b仿真 ROM中读取数据为0的原因

联合仿真时认真检查了代码,没有发现任何错误,但是ROM输出数据一直为0,百思不得其解。原因:软件自身BUG。在例化IP核时,浏览文件后自动会保存路径如下:但是这样的路径如果使用Modlesim-Altera联合仿真时会发现ROM中数据全为0,ROM没有被初始化。而网上好多帖子都是说Modelsim-altera无法是被mif文件,只能用hex,还需要一顿操作将hex件转化成mo...

2019-11-25 17:10:24 1841

原创 FPGA 与Beaglebone的SPI通信

经过几天对linux 4.14内核源码中的spidev_test.c 、spidev.c的研究,初步实现FPGA 与BeagleBone的SPI通信。 BeagleBone端指令: ./spidev_test -D /dev/spidev2.0 -H -o result.txt -S4096 -I1 -v -b 16注:注意这个-符号,word会将其更改./spidev...

2019-06-27 21:00:54 736 1

原创 BBB-eclipse-gdbserver环境搭建

背景:由于要在BeagleBone里面运行用户程序,在BeagleBone里面使用终端开发又觉得不方便,所以就采用BBB+eclipse+gdbserver的方法进行测试。也为内核驱动开发做一下铺垫。参考博客,致谢博主:BBB学习(八):操作BBB普通IO口https://blog.csdn.net/b5w2p0/article/details/79211043BBB学习(十 四 ...

2019-06-27 20:53:31 429

原创 Beagleboneblack linux4.14 使用SPI

BBB中设备树的加载: Cape分为两种,使用eeprom(电可擦可编程只读存储器)和不使用eeprom。扩展板带有eeprom:插上后板子上电就能用,这是因为位于0x54-0x57地址的eeprom告诉了系统启动时该对哪几个overlay进行重载,从而开机后系统就识别出了硬件。扩展板不带eeprom:通过修改uEnv.txt,让系统开机后就加载对应的dtbo文件,同样达到了...

2019-06-23 10:38:47 1425

原创 DTC编译器 -@ 报错,plugin 报错

sudoapt-getinstall device-tree-compiler安装的编译器不好用,好多网上看到的命令报错。解决方案:wget -c https://raw.githubusercontent.com/RobertCNelson/tools/master/pkgs/dtc.shchmod +x dtc.shsudo ./dtc.sh...

2019-06-21 21:35:32 705

原创 minicom上传u-boot-spl.bin 和uboot.img文件启动uboot

ROM-Code如何从串口获取bootloader? 对于BBB板子来说,当没有按住boot按键时,启动顺序是MMC1、MMC0、UART0、USB0,而按住boot按键时启动顺序为SPI0、MMC0、USB0、UART0。由于板子的MMC1已经接有eMMC,所以要想让ROM-Code从串口启动,那么断电时,拔掉SD卡,然后按住boot按键,再给板子上电,如果连接上了串口调试线,此时PC机...

2019-06-19 21:25:30 998

原创 安装nfs服务,实现远程挂载文件系统

服务端(PC Ubuntu16.04) 安装nfs服务sudo apt-get install nfs-kernel-server修改配置文件sudo gedit /etc/exports主要添加共享的文件目录,添加一句:/home/ws/nfs-share *(rw,sync,no_root_squash)表示共享/home/ws/nfs-share目录,*表...

2019-06-19 21:23:42 1690

原创 beaglebone安装TFTP服务

PC端配置 安装依赖软件: sudo apt-get install tftp-hpa tftpd-hpasudo apt-get install xinetd 配置相关服务文件。进入根目录下的etc文件夹(cd /etc/),首先看目录中有没有一个xinetd.conf文件,如果没有则新建一个,有的话查看内容,看是否与下面的一致,若不一致则修改,内容如下: ...

2019-06-19 21:19:34 375

原创 Beaglebone 中 U-Boot 的启动过程

简述:一般的嵌入式linux系统从SD卡或eMMC启动的过程都是上电时从硬件固化的ROM中读取数据,引导加载MLO到RAM中运行,进一步将uboot.img引导加载到DDR中运行。之后由uboot来引导内核镜像、设备树以及驱动模块,最后内核来引导加载根文件系统,完成整个系统的加载。 为了方便的调试系统,也有从串口获取MLO和u-boot.img文件,随后uboot启动完成终端输入命令,通过...

2019-06-19 21:13:43 1202 1

原创 BeagleboneBlack制作最新SD启动卡

https://www.digikey.com/eewiki/display/linuxonarm/BeagleBone+Black#BeagleBoneBlack-capemgr:v4.1.x+ 下载交叉编译链: 交叉编译链的版本一定要高于他要编译的源码的版本,应该可以说新一点的好。~/:wget -c https://releases.linaro.org/compone...

2019-06-18 22:38:56 1929 1

原创 APK反编译记录

方案一:dex2jar-2.0 + jd-gui-windows-1.4.3 + apktool_2.4.0.jar编译出来的有些函数只有函数名,有部分函数体没有编译出来方案二:enjarify-master + jd-gui-windows-1.4.3 + apktool_2.4.0.jar将apk包放入enjarify-master的文件夹,修改enjarify.bat: ...

2019-05-17 19:36:11 261

原创 Android Studio 3.0 google() jcenter()的库无法下载butterknife无法更新

在网上找了份源码,下载回来以后打开工程全是全是问题,都是一些版本的问题,其中最恶心的就是这些依赖库都没法连接,包括google() jcenter()等国外的库。一开始尝试使用阿里的托管库,多次尝试,并没用,最后找到了这个方法,分享给大家。贴上整个project的bulild.gradle文件:// Top-level build file where you can add co...

2019-05-16 02:19:26 1845

原创 ADI公司的元器件AD封装

导言:绘制电路板最头疼的就是找一下元器件的封装库,自己画又觉得不对,最近处理的一个电路板用到的大部分元器件都是ADI公司的,在网上找的别人整理的ADI封装库都没有找到AD9226芯片,要么很旧,要么不齐,最后使用如下方法解决了这个问题。其实ADI公司有提供元器件的封装,只不过需要一些转换才能使用,但能保证官网上能搜到的都有,在ADI官网的设计资源à封装、质量、原理图符号和尺寸à原理图符号和PC...

2019-05-14 20:28:57 6582 1

转载 FPGA中电源管脚在同一个BANK为何需要多个引脚?

在此链接找到答案:http://xilinx.eetop.cn/viewthread-2281981、一个bank内所有的VCCIO要连在一起,即使这个bank没有使用;2、一个back内所有的VCCIO必须相同,不能够使用2种VCCIO标准;3、一个bank不需要VCCIO,也可以把VCCIO连接到外部电压上;4、一个bank内使用多个电源管脚是为了均衡供电,避免一个管脚电流...

2019-05-13 15:48:33 3340 2

原创 endnote中文格式参考文献标注

安装endnote,解压完成傻瓜安装,确定到底,如果遇见这个,请关闭word,点击Retry继续安装。安装完成后可以发现word中出现如下:如果没有出现上述界面,请从word设置管理中打开:如果也没看到开发工具,请从下面选项中打开:重启word,就应该可以看到endnote插件了,启动endnote如图所示。插入参考文献:在百度学术或者知网或者其他渠道,可以到处end...

2019-03-01 16:11:24 23097 2

原创 Medelsim仿真双极性正弦波

参考:https://www.jianshu.com/p/beab73eb8f2f https://www.cnblogs.com/xiaomeige/p/8846786.html背景:由于AD9226模块采集回来的数据以二进制补码的形式输出,总的有12位,最高位为符号位,11位为数据位。n位有符号整数的表示范围是,所以总的数据范围是。所以正弦波幅值不能超过2047。在傅...

2019-03-01 13:51:15 1047

翻译 纳兰词

如梦令正是辘轳金井。满砌落花红冷。蓦地一相逢,心事眼波难定。谁省。谁省。从此簟纹灯影。 如梦令万丈穹庐人醉。星影摇摇欲坠。归梦隔狼河,又被河声搅碎。还睡。还睡。解道醒来无味 浣溪沙残雪凝辉冷画屏。落梅横笛已三更。更无人处月胧明。我是人间惆怅客。知君何事泪纵横。断肠声里忆平生。 浣溪沙谁...

2019-01-28 21:35:12 503 1

转载 示波器表笔衰减档×1 ×10

示波器型号:OWON  EDS112CV来自:http://www.elecfans.com/group/answer/index/id/320.html问题:示波器探头上的×10是何意思?有何用途和注意事项? 一般的示波器探头(类似于万用表的表笔)上,有一个×1档和×10档选择的小开关。当选择×1档时,信号是没经衰减进入示波器的。而选择×10档时,信号是经过衰减到1/10再到...

2019-01-24 11:44:37 6528

原创 Beaglebone移植DDS模块驱动(AD9833)

Data:2019/1/23      author:wangsong需求:要求能有产生一路1MHZ以上的正弦激励信号,预留外接时钟接口,频率、幅值可调。方案:1、PWM波转模拟量(PAC =PWM to Analog Convertor)是一种PWM信号转模拟信号的专用芯片,模块最大频率只够200KHZ。(否决)2、外接DDS模块,由beaglebone控制DDS模块,从而产生不...

2019-01-23 16:05:58 1907

原创 Beagleboneblack 中DDS模块驱动源码(AD9833)

参考博客:基于OMAPL138的Linux字符驱动_GPIO驱动AD9833(二)之cdev与read、writehttps://blog.csdn.net/u014281970/article/details/82145664/*ad9833.c*//* * AD9833 of ADI driver code for Beagleboneblack debian9.5 kern...

2019-01-21 20:12:48 1080

转载 beaglebone内核升级(微雪官方)

0.使用的编译环境为64位Ubuntu。安装相关工具:apt-get updateapt-get install git ccache lzop1.通过以命令获取内核源码:git clone https://github.com/beagleboard/linux.git这个过程可能需要1~2小时。主要取决网速和PC性能。 2.进入linux目录,执行j...

2019-01-21 12:59:10 1010 1

原创 Beagboneblack 中内核升级(替换)

Beaglebone中原来的镜像来自于beaglebone官网:http://beagleboard.org/latest-images内核版本是 4.14.71-ti-r80。由于需要自己编译驱动模块进行加载测试,在该内核版本上测试报错,百度上有人说是编译用的内核版本与板子上正在运行的版本不一致,或者config或者交叉编译链不一致导致。然后由于找不到与此完全相同的源码,也不知用的什...

2019-01-21 12:55:09 947

原创 TI SDK制作一个beaglebone使用的SD卡

设备:Ubuntu16.04 16G SD卡 首先需要安装一个AM335x的SDK,都是在PC端安装,下载地址: http://software-dl.ti.com/processor-sdk-linux/esd/AM335X/latest/index_FDS.html SDK的安装文件,下载到Ubuntu,更改文件权限,./执行安装,然后就是一路图形化界面安装。安装路径...

2019-01-21 10:30:33 1607 6

原创 BeagleBone Black 上LED交互

LED0:   USR0闪烁,表明BeagleBone Black是运行的; LED1:   USR1闪烁,表明Micro-SD卡正在使用; LED2:   USR2闪烁,表明CPU的活跃程度; LED3:   USR3闪烁,表明eMMC运行。 BeagleBoneBlack的启动方式:在不插SD卡,如果emmc中有镜像,则是从emmc中启动。如果插上SD卡,emmc中也有...

2019-01-14 10:06:28 452

原创 B样条数据点反求控制点绘制曲线(源码)

一、软件功能需求1)所设计的软件应具有图形化用户界面(GUI);2)用户在软件界面上可用随机数方式或手工方式输入若干曲线或曲面的数据点,例如起点、终点、列表型值点等,对于曲线,还可设置步长参数;对于曲面,还可设置步长与行距参数;曲线或曲面的类型不限。3)具有“绘制理想图形”按钮,用户完成数据点与参数输入后,点击该按钮,软件可绘制出理想的曲线或曲面,若该曲线或曲面有特征多边形,则还能通过...

2019-01-13 11:01:48 12250 20

原创 C++快速傅里叶变换(MATLAB Coder)

背景:电阻抗成像需要采集正弦激励后电极电压信号,双通道同时采集A/D的数据,对数据进行离散傅里叶变换,得到幅值大小,将两个信号幅值做差,即两个电极之间的电压。方法:在MATLAB中实现快速傅里叶变换非常简单,而集成到嵌入式中则需要移植C++代码,所以在MATLAB编写function函数,经过MATLAB Coder工具箱生成C++代码,使用VS2013测试数据的正确性,最后将其移植到Linu...

2019-01-12 22:47:26 1572

原创 Ubuntu16.04+BeagleBoneBlack+ Qt5.9.3

                     Ubuntu16.04+BeagleBoneBlack+ Qt5.9.3目录1、系统版本说明.... 11.1软件版本说明:.... 11.2、硬件连接说明.... 42、Ubuntu双系统安装... 52.1、系统盘制作.... 52.2、Ubuntu系统安装.... 53、Ubuntu:Qt5.9.3安装.... 11...

2018-11-27 16:46:05 2418 15

原创 Windows7远程连接阿里云服务器及提示不支持此函数的解决方法

方法一:运行mstsc计算机:IP地址服务器管理用户名:Administrator服务器管理密码:************  输入密码连接成功:方法二:阿里云管理控制台上远程连接:输入远程连接密码:******方法三:https://wenwen.sogou.com/z/q863850588.htm电脑上根本找...

2018-11-01 10:52:57 2274

B样条反求控制点绘制曲线

软件平台:Qt5.9.3 +windows7 (不是linux系统的)根据所给的八个数据点,反求出控制点,当然数据点个数要改的话需要修改源码。原理教程见博客:https://mp.csdn.net/postedit/86408359

2019-01-19

机器人学 机器视觉与控制MATLAB算法基础_中文版

机器人学 机器视觉与控制MATLAB算法基础_中文版pdf,完整全本

2018-02-14

空空如也

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

TA关注的人

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