自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(44)
  • 收藏
  • 关注

原创 轮廓检测及功能

1. 实验内容本实验将学习轮廓检测及功能。2. 实验要点生成二进制图像来查找轮廓找到并画出轮廓轮廓特征边界矩形3. 实验环境numpymatplotlibcv2。

2023-06-17 18:58:44 1561

原创 练习2:逻辑回归

在本练习中,您将实现逻辑回归并将其应用于两个不同的数据集。还将通过将正则化加入训练算法,来提高算法的鲁棒性,并用更复杂的情形来测试模型算法。在开始练习前,需要在整个练习中,涉及如下的。

2023-06-17 18:57:54 1553

原创 练习1:线性回归

在本练习中,您将 实现线性回归并了解其在数据上的工作原理。在开始练习前,需要在整个练习中,涉及如下的,及标号的必做作业为实现单变量的线性回归;选做作业为实现多变量线性回归。

2023-06-17 18:57:19 1555

原创 HSV 颜色空间

1. 实验内容本实验将介绍HSV 颜色空间。2. 实验要点RGB阈值转换为HSV3. 实验环境numpymatplotlibcv2。

2023-06-17 18:54:03 245

原创 基于MAX-10 FPGA 超声波测距模块HC_SR04

HC-SR04是一种基于超声波的测距模块。该模块向前15度内发送超声波并接收回响,通过发出超声波到收到回响的这个时间间隔计算前方的障碍物距离,可以用来给智能小车做障碍物监测。可提供2cm- 400cm的非接触式距离感测功能,测距精度可达高到3mm;模块包括超声波发射器、接收器与控制电路。该模块的时序图如下:我们在编写代码的时候,想要发出测距命令,需要先保持触发信号输入(trig引脚)为低电平,然后保持大于10us的高电平,再变成低电平即可(时序图第一行所示)。

2023-05-27 23:25:49 1151

原创 FPGA——HLS入门-LED闪烁仿真

HLS就是高综合(High level Synthesis)的缩写,通过HLS,我们可以将C或者c++语言编译为FPGA能够读懂和运行的RTL级别的语言。这个术语是行为和电子系统的结合:是一门技术,也是一门科学,它把设计意图抽象化,抽象视图可以自动地将人类设计者的努力付诸现实。最终生成的设计应遵循一系列要求,包括芯片面积、时钟频率、功耗和时间性能的要求等等。通过HLS将电路设计规范的算法级或行为级描述在一定的约束条件下转化为电路结构描述的方法和过程。高层次综合又称为行为级综合、算法级综合等。

2023-05-24 00:00:25 2113

原创 VGA协议实践

VGA(Video Graphics Array)视频图形阵列是IBM于1987年提出的一个使用模拟信号的电脑显示标准。VGA接口即电脑采用VGA标准输出数据的专用接口。VGA接口共有15针,分成3排,每排5个孔,显卡上应用最为广泛的接口类型,绝大多数显卡都带有此种接口。它传输红、绿、蓝模拟信号以及同步信号(水平和垂直信号)。VGA接口是一种D型接口,上面共有15针孔,分成三排,每排五个。

2023-04-26 18:33:02 1059

原创 基于NIOS-II软核流水灯实现

FPGA开发过程中,往往有许多重复性繁琐的事情要处理,这时候直接使用HDL编程实现,会很浪费资源;而且有些工作是不需要并行执行,这时候NIOS II 内核就提供了很好的解决方案。在ARM+FPGA或者DSP+FPGA的嵌入式应用领域下,当用户既要实现强大的CPU来完成大量工作;又需要利用FPGA的超高速短延时实现并行设计的情况。如果用户对CPU的处理速度要求不那么高,而且希望控制成本在较低的范围。这个时候也是使用NIOS II 软内核的绝佳时机。

2023-04-13 00:15:22 209

原创 FPGA编程入门

本次实验使用FPGA制作了全加器,并从1位全加器扩展到了4位。复习了前面学习的数电知识,以及更进一步地练习了verilog语法与fpga的使用。另外发现,蓝色LED与白色LED的工作功率似乎比红,绿,黄三色的LED大。在接上限流电阻的时候白灯与蓝灯会不亮。

2023-03-23 16:45:10 461

原创 ROS通信模式编程

ros 进行动作编程是进行嵌入式开发的一个核心步骤,也是帮助我们更好的了解机器学习的一项重要基础,通过动作编程,我们可以了解到机器人是如何进行我们人类行为得规划的,这也为我们未来进入人工智能打下一个良好的开端。

2023-03-17 13:05:01 547

原创 初识线性回归

Excel和jupyter解决线性回归问题得出的结果大致相同。Excel只需选中数据,它内部有设计好的算法得出相关数据,很简单。但自己编程不用sklearn库的话,要自己设计算法来得到相关系数,斜率和截距,并以此数据来绘图。sklearn库有提供相关的函数,只需要调用函数即能得到输出值。

2023-03-16 20:09:15 113

原创 用Jupyter完成numpy、pandas、matplotlib三个库的例题

matliotilb:帮助画图,numpy:帮助我们处理数据型的数组,pandas:是在numpy的基础上除了帮我们处理数据型的数组,还能帮助我们处理字符串,列表,以及时间序列等等所有数据类型都是可以处理的。

2023-03-09 22:29:37 894

原创 python基础知识练习题

Python 是一种易于学习又功能强大的编程语言。它提供了高效的高级数据结构,还能简单有效地面向对象编程。Python 优雅的语法和动态类型,以及解释型语言的本质,使它成为多数平台上写脚本和快速开发应用的理想语言。

2023-03-07 23:29:32 313

原创 Windows下通过Anaconda创建虚拟环境安装 jupyter 和 numpy

Jupyter Notebook是基于网页的用于交互计算的应用程序。其可被应用于全过程计算:开发、文档编写、运行代码和展示结果。——Jupyter Notebook官方介绍简而言之,Jupyter Notebook是以网页的形式打开,可以在网页页面中直接编写代码和运行代码,代码的运行结果也会直接在代码块下显示的程序。如在编程过程中需要编写说明文档,可在同一个页面中直接编写,便于作及时的说明和解释。

2023-03-04 23:16:27 4541

原创 ROS——话题及使用C++代码控制小海龟走一个圆形

这次实验是继用键盘控制小海龟移动后的进一步实验步骤,熟悉了ROS的消息和话题的收发机制.直观上也了解了小海龟的运动机制最后我们实现了编程方式控制小海龟圆周运动,对ROS也有了更进一步的了解。

2023-03-04 11:40:21 1818

原创 Ubuntu18.04安装ROS——实现小海龟仿真

ROS(英语:Robot Operating System,一般译为机器人操作系统),是专为机器人软件开发所设计出来的一套电脑操作系统架构。它是一个开源的元级操作系统(后操作系统),提供类似于操作系统的服务,包括硬件抽象描述、底层驱动程序管理、共用功能的执行、程序间消息传递、程序发行包管理,它也提供一些工具和库用于获取、建立、编写和执行多机融合的程序。基于服务的同步RPC(远程过程调用)通讯;基于Topic的异步数据流通讯,还有参数服务器上的数据存储。

2023-03-03 16:39:42 604

原创 STM32 ——使用多任务框架RT-thread Nano完成modbus接口的温湿度Slave设备

FreeMODBUS 是一个奥地利人写的 Modbus 协议,它是一个针对嵌入式应用的一个免费(自由)的通用 MODBUS 协议的移植。Modbus 是一个工业制造环境中应用的一个通用协议。Modbus 通信协议栈包括两层:Modbus 应用层协议,该层定义了数据模式和功能;另外一层是网络层FreeMODBUS 提供了 RTU/ASCII 传输模式及 TCP 协议支持。FreeModbus 遵循 BSD 许可证,这意味着用户可以将 FreeModbus 应用于商业环境中。指令代码描述是否支持备注。

2022-12-26 21:55:29 1107

原创 STM32 —— RT-Thread Nano 移植

它是一个嵌入式实时多线程操作系统,基本属性之一是支持多任务。事实上一个处理器核心在某时刻只能运行一个任务,由于每次对一个任务的执行时间很短、任务与任务之间通过任务调度器进行快速的切换,给人造成多个任务在同一时刻同时运行的错觉。RT-Threa系统中,任务通过线程实现的,RT-Thread中的线程调度器也就是以上提到的任务调度器。

2022-12-26 19:59:15 2424

原创 使用c语言完成modbus协议,从云端服务器读取温湿度信息

Modbus协议是一种串行通信协议,是Modicon公司(现在的施耐德电气Schneider Electric)于1979年为使用可编程逻辑控制器(PLC)通信而发表的。Modbus协议是应用层协议,已经成为工业领域通信协议的业界标准,是工业电子设备之间常用的连接方式。Modbus是一个master/slave架构的协议,有一个节点是master节点,其他使用Modbus协议参与通信的节点是slave节点,每一个slave设备都有一个唯一的地址。只有被指定为master节点的节点可以启动一个命令。

2022-12-20 20:24:13 1920

原创 Wireshark抓取疯狂聊天数据包

wireshark下载地址:链接:https://pan.baidu.com/s/17eNWObtzbHZwhk36kONXSw?pwd=8888 提取码:8888wireshark如何安装以及简单使用:博客地址:https://blog.csdn.net/weixin_44493195/article/details/106339521疯狂聊天软件下载:链接:https://pan.baidu.com/s/1luRqku_U8igSF3qwbGOsZQ?pwd=8888提取码:8888因为我使用

2022-12-13 17:41:17 508

原创 基于STM32的0.96寸OLED显示屏显示数据

SPI 协议是由摩托罗拉公司提出的通讯协议(Serial Peripheral Interface),即串行外围设备接口,是一种高速全双工的通信总线。它被广泛地使用在 ADC、LCD 等设备与 MCU 间,要求通讯速率较高的场合。学习本章时,可与 I2C 章节对比阅读,体会两种通讯总线的差异以及 EEPROM 存储器与 FLASH 存储器的区别。下面我们分别对 SPI 协议的物理层及协议层进行讲解。(1)SPI 物理层SPI 通讯设备之间的常用连接方式见下图。

2022-11-19 00:55:17 1598

原创 stm32通过I2C接口实现温湿度(DHT20)的采集

I2C 是很常见的一种总线协议, I2C 是 NXP 公司设计的, I2C 使用两条线在主控制器和从机之间进行数据通信。一条是 SCL(串行时钟线),另外一条是 SDA(串行数据线),这两条数据线需要接上拉电阻,总线空闲的时候 SCL 和 SDA 处于高电平。I2C 总线标准模式下速度可以达到 100Kb/S,快速模式下可以达到 400Kb/S。I2C 总线工作是按照一定的协议来运行的,接下来就看一下 I2C 协议。使用DHT20测量温度和湿度,主要是学习使用I2C协议,如何读取数据,验证数据有效性。

2022-11-18 11:30:36 2756 1

原创 Quartus II实现D触发器及时序仿真

三种方式D触发器调用对比:1.通过创建原理图,D触发器可以由4个与非门,一个非门,仿真出来,第一种方法更贴近原理组成,对D触发器原理机制有深入了解 2.通过软件给的D触发器框架,可以很快仿真出D触发器,电路也比较精简,调用D触发器最方便 3.通过硬件语言verilog方式来描述D触发器,主要站在D触发器功能实现,来进行编写代码,更贴近应用层面。

2022-11-10 21:44:36 1467

原创 STM32——移植uCOSIII(HAL库)

链接:https://pan.baidu.com/s/1n6OxDNenDDJ3yCimHOwx1w?杜邦线,面包板,USB转TTL。

2022-11-07 23:02:04 636

原创 STM32——使用PWM波完成呼吸灯

PWM(脉冲宽度调制)控制技术——通过 对一系列脉冲的宽度进行调制,来等效地获得所需要波形(含形状和幅值)。根据拟合波形的频率、幅值和半周期脉冲数,准确计算 PWM 波各脉冲宽度和间隔,据此控制开关器件的通断,就可得到所需 PWM 波形,再将PWM波形通过引脚输出,就可以实现呼吸灯,通过这种思想也可以用来控制电机转速。

2022-11-07 20:17:03 4509

原创 STM32——实时时钟RTC的日历读取

STM32的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。从定时器的角度来说,相对于通用定时器 TIM 外设,它十分简单,只有很纯粹的计时和触发中断的功能;但从掉电还继续运行的角度来说,它却是 STM32 中唯一一个具有如此强大功能的外设。所以 RTC 外设的复杂之处并不在于它的定时功能,而在于它掉电还继续运行的特性。STM32的 RTC 外设(Real Time Clock),实质是一个掉电后还继续运行的定时器。

2022-11-02 17:37:14 3332 2

原创 STM32——使用定时器完成LED闪烁和串口发送

使用定时器TIM前需要了解TIM种类,通过项目要求选择适合的TIM,了解TIM系统框架可以帮助我们更好配置参数,了解执行过程。

2022-11-01 22:58:04 3089

原创 【STM32】HAL库 STM32CubeMX——DMA (串口DMA发送接收)

DMA,全称Direct Memory Access,即直接存储器访问。DMA传输将数据从一个地址空间复制到另一个地址空间,提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。我们知道系统的运作核心是CPU,CPU无时无刻都在完成计算,控制,转存数据等大量事务,如果处理事务过多就会导致CPU运转不过来,因此有些程序就会出现卡顿;仔细想想如果将一些不重要的转移,存储数据交给其它外设来做,就可以减轻CPU负荷,让CPU转手去做其它更加复杂的事。如何实现呢?

2022-10-23 16:02:44 5298 3

原创 使用串口中断方式实现串口通信

总体来讲还是比较简单,要注意字符串的比较时的一些小细节,对于串口通信我们需要了解整个流程以及串口通信寄存器的作用。

2022-10-22 22:12:18 4552

原创 stm32外部中断模式控制灯亮灭

我们要使用GPIOB_5引脚进行中断,通过控制PB5引脚高电平实现开关操作,就要一直监听PB5的引脚状态,需要将中断设置为上升沿和下降沿都要触发;找到EXTI9_5_IRQHandler这个函数,选中HAL_GPIO_EXTI_IRQHandler这个语句按F12跳到该函数。找到HAL_GPIO_EXTI_Callback这个函数,进行重写,实现PB5引脚开关作用。

2022-10-21 15:13:56 886

原创 STM32的USART串口通信小程序

实验环境及仪器1 、stm32核心板103f一块 2 、usb转串口一块 3 、面包板一块,导线若干 4 、Keil5 5 、STM32CubeMx 6 .野火多功能调试助手 7 .mcuisp用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。

2022-10-17 21:33:01 1358

原创 STM32cubeMX使用HAL库点亮LED流水灯(STM32F103C8T6最小开发板)

库如其名,很抽象,一眼看上去不太容易知道他的作用是什么。也就是说,同样的功能,标准库可能要用几句话,HAL库只需用一句话就够了。并且HAL库也很好的解决了程序移植的问题,不同型号的stm32芯片它的标准库是不一样的,例如在F4上开发的程序移植到F3上是不能通用的,而使用HAL库,只要使用的是相通的外设,程序基本可以完全复制粘贴,注意是相通外设,意思也就是不能无中生有,例如F7比F3要多几个定时器,不能明明没有这个定时器却非要配置,但其实这种情况不多,绝大多数都可以直接复制粘贴。

2022-10-11 15:27:01 1169 1

原创 STM32F103VET6流水灯

STM32F103VET6是一款由意法半导体公司(ST)推出的基于Cortex-M3内核的32位微控制器,硬件采用LQFP48封装,属于ST公司微控制器中的STM32系列。1.型号说明: 该款芯片 为 100引脚 , 512KFlash 64kSRAM LQFP 封装 32位 Cortex内核内核Cortex-M3Flash512K×8bitSRAM64K×8bitGPIO80个ADC12位 ADC 三路 共有 16个通道CPU72MHz。

2022-10-09 18:08:18 5398

原创 ARM 汇编(中值滤波程序设计)

是将信号中特定波段频率滤除的操作,是抑制和防止干扰的一项重要措施。中值滤波对脉冲噪声有良好的滤除作用,特别是在滤除噪声的同时,能够保护信号的边缘,使之不被模糊。这些优良特性是线性滤波方法所不具有的。此外,中值滤波的算法比较简单,也易于用硬件实现。所以,中值滤波方法一经提出后,便在数字信号处理领得到重要的应用。对一个数字信号序列xj(-∞

2022-10-07 00:50:00 813

原创 STM32F103系列芯片的地址映射和寄存器映射原理,GIPO初始化设置

GPIO 是通用输入输出端口的简称,简单来说就是 STM32 可控制的引脚,STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的 GPIO 被分成很多组,每组有 16 个引脚,如型号为 STM32F103VET6 型号的芯片有 GPIOA、GPIOB、GPIOC至 GPIOE共 5组 GPIO,芯片一共 100个引脚,其中 GPIO就占了一大部分,所有的 GPIO 引脚都有基本的输入输出功能。最基本的输出功能。

2022-10-03 17:29:06 1801

原创 使用MDK完成汇编程序的编写

双击打开keil,点击菜单栏Project–>New μVision Project,新建项目,在弹窗中设置工程项目的名称和路径,在这里,我新建名为test的工程文件。当一个扩展线性地址记录被读取,存储于数据域的扩展线性地址被保存,它被应用于从 Intel HEX 文件读取来的随后的记录。通过把记录当中的地址域与被移位的来自扩展线性地址记录的地址数据相加获得数据记录的绝对存储器地址。选中带有红色d的放大镜开始调试,在②处就是仿真调试所需要的调试工具。线性地址保持有效,直到它被另外一个扩展地址记录所改变。

2022-10-01 14:25:50 1025

原创 ARM开发:使用MDK编译stm32简单程序

MDK安装最重要的一步是需要配置软件包,要根据你的芯片型号进行软件包的下载,接下来对编写好的程序进行调试也是非常重要的一步,通过这一步可以看到内部寄存器的内容变化,对我们编译程序有很大帮助。

2022-10-01 11:23:36 2119

原创 ubuntu下使用git上传代码到gitee

Git安装好之后,还不能立即使用,在使用之前还需要做一些配置,比如你提交代码时的一些信息:提交人是谁?这些信息是必须要有的,当别人看到你的修改,想和你联系时,可以通过这些配置信息找到你。获取克隆的SSH链接的方法:打开你在Gitee创建的那个仓库,点击克隆/下载按钮,出现下面的文本框里的就是克隆的SSH链接,点击复制即可。将仓库创建成功后可以将仓库设置为开源或者其它模式,初始化仓库可以自己配置。Gitee的用法基本与Github一致,将用Gitee为例。在Gitee的个人中心点击创建SSH公钥。

2022-09-19 22:46:23 2856 2

原创 Ubuntu16.04下OpenCV4.6.0的安装以及使用

OpenCV是一个基于Apache2.0许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和Mac OS操作系统上。它轻量级而且高效——由一系列 C 函数和少量 C++ 类构成,同时提供了Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。

2022-09-19 20:55:09 2846 1

原创 GCC常用命令以及它的合作伙伴们

GCC常用命令以及它的合作伙伴们

2022-09-17 14:58:52 562

空空如也

空空如也

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

TA关注的人

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