嵌入式系统
文章平均质量分 88
clyrjj
劳逸结合
展开
-
【Quartus-ll】 仿真半加器、全加器并烧录到开发板中验证
一原创 2021-04-08 17:00:36 · 3375 阅读 · 0 评论 -
【HDLBits】verilog在线编程练习
在这里插入代码片原创 2021-04-27 19:22:16 · 1370 阅读 · 0 评论 -
【Verilog 编程】基于FPGA的VGA字符显示
在这里插入代码片原创 2021-06-30 20:37:44 · 2509 阅读 · 1 评论 -
【HLS】详细介绍以及基于FPGA完成LED灯闪烁
一原创 2021-06-03 19:26:58 · 811 阅读 · 0 评论 -
【Nios II】以SOPC开发流程完成流水灯以及串口输出实验
一原创 2021-04-24 21:45:36 · 1697 阅读 · 0 评论 -
【Quartus-ll 】 D 触发器功能仿真及时序波形仿真的三种实现方式
一原创 2021-04-02 17:24:26 · 2721 阅读 · 0 评论 -
ROS入门准备工作 及 话题通信、服务通信编程
一原创 2021-03-20 20:49:42 · 284 阅读 · 0 评论 -
Ubuntu18.04安装ROS Melodic并演示小海龟例子(解决软件依赖性问题!)
文章目录一、ROS是什么二、安装三、小海龟例子四、参考五、总结一、ROS是什么ros是机器人操作系统(Robot Operating System)的英文缩写。ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构ROS是用于编写机器人软件程序的一种具有高度灵活性的软件架构。它包含了大量工具软件、库代码和约定协议,旨在简化跨机器人平台创建复杂、鲁棒的机器人行为这一过程的难度与复杂度。ROS设计者将ROS表述为“ROS = Plumbing + Tools + Capabilities +E原创 2021-03-03 22:04:00 · 860 阅读 · 2 评论 -
【STM32F103】DAC输出2khz正弦波和歌曲音频片段波形
文章目录一、STM32 DAC简介二、输出周期为2khz的正弦波三、截取音频片段转换为C文件进行输出四、总结五、参考一、STM32 DAC简介数模转换器,又称D/A转换器,简称DAC,它是把数字量转变成模拟的器件。D/A转换器基本上由4个部分组成,即权电阻网络、运算放大器、基准电源和模拟开关。模数转换器中一般都要用到数模转换器,模数转换器即A/D转换器,简称ADC,它是把连续的模拟信号转变为离散的数字信号的器件。STM32具有片上 DAC外设,它的分辨率可配置为 8位或 12位的数字输入信号,具有两原创 2021-01-10 17:50:25 · 2048 阅读 · 0 评论 -
STM32F103采用通用定时器方法输出PWM波形
一、PWM介绍PWM——脉冲宽度调制脉冲宽度调制是一种模拟控制方式,根据相应载荷的变化来调制晶体管基极或MOS管栅极的偏置,来实现晶体管或MOS管导通时间的改变,从而实现开关稳压电源输出的改变。这种方式能使电源的输出电压在工作条件变化时保持恒定,是利用微处理器的数字信号对模拟电路进行控制的一种非常有效的技术。脉冲宽度调制是利用微处理器的数字输出来对模拟电路进行控制的一种非常有效的技术,广泛应用在从测量、通信到功率控制与变换的许多领域中。基本原理控制方式就是对逆变电路开关器件的通断进行控制,使输原创 2021-01-10 16:40:49 · 4387 阅读 · 1 评论 -
STM32基于汇编方式创建工程(原理与实例)
文章目录一、创建工程二、编写代码三、分析生成的 hex 文件四、基于 MDK 创建 STM32 汇编程序:串口输出 Hello world五、总结六、参考一、创建工程实验所用环境为MDK keil5Project ——> New uVision Project选择芯片,我用的开发板是野火STM32F103MINI,芯片选择为STM32F03RC在启动环境里面选择CMSIS 里的 CORE;Device 里的Startup二、编写代码添加源文件向建好的工程中添加源文件,右击 Sou原创 2020-12-31 18:18:47 · 669 阅读 · 0 评论 -
使用STM32F103的SPI接口完成OLED屏幕的数据显示
文章目录一、SPI协议二、汉字点阵编码原理三、开发板连接屏幕并显示数据四、AHT20温湿度采集并显示五、水平滑动显示长字符六、总结七、参考一、SPI协议SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,原创 2020-12-31 14:57:18 · 4044 阅读 · 0 评论 -
简析STM32的三种Boot模式的差异并实验验证
一、简析BOOT模式STM32有哪三种BOOT模式如下图所示:用户闪存存储器(Main Flash memory)SRAM存储器(Embedded Memory)系统存储器(Systemmemory)主闪存存储器(Main Flash memory)STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载到这个里面,重启后也直接从这启动程序。系统存储器(System memory)从系统存储器启动,这种模式启动的程序功能是由厂家设置的。一般来说,这种启动方式原创 2020-12-30 21:45:42 · 246 阅读 · 0 评论 -
stduino IDE(国产)安装及使用感受!
文章目录一、了解stduino IDE二、安装stduino三、stduino完成STM32串口通信四、总结与使用感受五、参考一、了解stduino IDE大概是受到Ardunio IDE的启发,网上有一个国人版的MCU集成开发平台Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。IDE当前支持的功能有:GDB调试封装库下载安装代码自动补全提示中原创 2020-12-24 15:13:40 · 3448 阅读 · 1 评论 -
安装熟悉Ardunio及支持库,并在Ardunio 完成STM32的串口通信!
文章目录一、了解Ardunio二、Ardunio安装与配置三、在Ardunio完成STM32串口通信四、总结五、参考一、了解ArdunioArduino是一款便捷灵活、方便上手的开源电子原型平台。包含硬件(各种型号的Arduino板)和软件(ArduinoIDE)。由一个欧洲开发团队于2005年冬季开发。其成员包括Massimo Banzi、David Cuartielles、Tom Igoe、Gianluca Martino、David Mellis和Nicholas Zambetti等。它构建于原创 2020-12-24 14:39:17 · 317 阅读 · 0 评论 -
基于I2C硬件协议的AHT20温湿度传感器的数据采集实验!
文章目录一、I2C是什么?二、“软件I2C”和“硬件I2C”三、AHT20四、实验五、总结六、参考一、I2C是什么?I2C总线是PHLIPS公司在20世纪80年代推出的一种串行总线。具有引脚少,硬件实现简单,可扩展性强的优点。I2C总线的另一优点是支持多主控,总线上任何能够进行发送/接收数据的设备都可以占领总线。当然,任意时间点上只能存在一个主控。 I2C即是一种总线,也是一种通讯协议。在嵌入式开发中,通讯协议可分为两层:物理层和协议层。物理层是数据在物理媒介传输的保障;协议层主要是规定通讯逻辑原创 2020-12-24 12:56:16 · 398 阅读 · 1 评论 -
Ubuntu与树莓派下STM32分析C语言经编译后的分区的实践!
文章目录一、C程序内存的各种变量存储区域二、分别在Ubuntu、树莓派进行实践三、在STM32开发板上进行实践四、参考一、C程序内存的各种变量存储区域栈(stack):由编译器进行管理,自动分配和释放,存放函数调用过程中的各种参数、局部变量、返回值以及函数返回地址。堆(heap):用于程序动态申请分配和释放空间。C语言中的malloc和free,C++中的new和delete均是在堆中进行的。正常情况下,程序员申请的空间在使用结束后应该释放,若程序员没有释放空间,则程序结束时系统自动回收。原创 2020-12-03 23:28:21 · 173 阅读 · 0 评论 -
通信的基本概念与STM32上USART串口通信实践
文章目录一、通信的基本概念二、USART串口通信三、实验四、小结与参考链接一、通信的基本概念这部分内容通过野火官方的b站账号出的视频学习的,这里是传送门——通信的基本概念接下来我对学习的内容做个总结数据传输的方式串行通讯指设备之间通过少 量数据信号线(一般是 8根以下),地线以及控制信号线,按数据位形式一位一位地传输数据的通讯方式。就像是单车道的公路,同一时刻只能传输一个数据为的数据。并行通讯指使用 8、16、32 及 64 根或更多的数据线进行传输的通讯方式,就像多个车道的公原创 2020-12-03 23:24:06 · 191 阅读 · 0 评论 -
FreeRTOS入门——STM32多任务程序实现
文章目录一、FreeRTOS简介二、多任务系统三、实验五、小结与参考链接一、FreeRTOS简介Free 即免费的,RTOS 全称是 Real Time Operating System,中文就是实时操作系统。注意,RTOS不是指某一个确定的系统,而是指一类系统。比如 uC/OS,FreeRTOS,RTX,RT-Thread 等这些都是 RTOS 类操作系统。操作系统允许多个任务同时运行,这个叫做多任务。实际上,一个处理器核心在某一时刻只能运行一个任务。操作系统中任务调度器的责任就是决定在某一时刻原创 2020-12-03 21:29:12 · 3532 阅读 · 0 评论 -
Altium Designer初学者入门——PCB图输出为Gerber光绘文件(接上篇PCB图绘制)
在保证PCB图无误后,PCB的设计工作完成了。但是要送到工厂生产还有一个步骤没有完成,将PCB图输出为Gerber光绘文件。1、 File-Fabrication outputs-Gerber Files在" General" 里面," units"选择" inch",格式选择 2:4。2、进入layers,如图所示勾选在" polt lays"下拉菜单里面选择" Used on" ,最后两项不用勾选,前面的层必须全部选上。在" Mirror layers"下拉菜单里面选择 " All o.原创 2020-11-23 17:16:55 · 2140 阅读 · 1 评论 -
Altium Designer初学者入门——stm32最小系统的PCB图(接上一篇原理图绘制)
文章目录一、PCB封装库二、从原理图导入到PCB图三、布局四、布线五、覆铜六、丝印整理七、电气规则检查一、PCB封装库PCB封装库相对原理图库的创建要更麻烦一些,我本人是安装的网上找到的资源(安装方法上篇博客有写)。如果要自己创建也不是不可以,也可以寻求上篇博客说到的立创的帮助。1、可以直接在立创商城搜索你所需要的原件,比如搜索一下晶振进入详情页面进入数据手册,点击立即使用这时,这个PBC是可以直接复制的。回到AD,进入PCB Library,将它粘贴上去就行了。2、复制粘贴太过简单原创 2020-11-17 21:52:21 · 2114 阅读 · 1 评论 -
Altium Designer初学者入门(stm32最小系统的电路原理图)
文章目录一、创建工程文件二、原理图库三、绘制原理图一、创建工程文件1、进入Altium Designer,按照如图所示步骤创建一个PCB工程2、右键你创建的工程,依次新建如图所示的这四个工程文件建完之后的效果就是这样还有一点比较重要,就是所有文件创建之后第一步就是你要先保存,在Altium Designer中,创建文件之后没有去保存相当于是没有的。二、原理图库1、如果你已经有原理图库,那么在你开始绘制之前,先把原理图库安装上去。进入Schematic文件,按照如图所示步骤安装原理图库原创 2020-11-17 21:47:22 · 2240 阅读 · 0 评论 -
树莓派系统下编译安装opencv,并进行图像特效、视频文件播放的编程练习(教你避开各种坑!)
文章目录一、准备工作二、下载安装三、图像特效和视频播放测试四、总结一、准备工作1、opencv的基础常识之类的我在ubuntu下安装使用OpenCV一文里做了详细介绍。事实上,在ubuntu上和在树莓派上整体的过程甚至一些命令都是一样的,但是在树莓派上安装opencv实在是费事费力太多了,不过看了我这篇博客,你的安装过程还是能避开不少坑。另外我看了我同学的博客,树莓派安装opencv-python(基于Python编程),倒是要省时省力不少,也可以作为参考。2、换源换源是一定要换的,不然你就只是更新原创 2020-11-10 20:23:50 · 832 阅读 · 1 评论 -
stm32流水灯实验(仿真实现)
文章目录一、建立MDK工程二、Proteus仿真运行三、参考一、建立MDK工程建立工程 ledtest3建立工程文件夹并且引入固件库如图所示详细过程请移步我之前的博客在user中新建main1.c如下#include "stm32f10x.h"GPIO_InitTypeDef GPIO_InitStructure;void delay_ms(uint32_t ms){ uint32_t i_cnt,j_cnt; for(i_cnt=0;i_cnt<3000;i_cnt+原创 2020-11-09 22:06:46 · 3188 阅读 · 1 评论 -
Ubuntu下利用VScode进行可视化代码跟踪调试
文章目录一、安装vscode二、安装插件三、测试四、参考一、安装vscode由于我的ubuntu是带图形界面的18.04版本,直接在ubuntu中搜索vscode点击安装二、安装插件安装c/c++在vscode中安装C++的插件,按ctrl+p调出命令行,在上面输入ext install cpptools,或在也可以只输入ext install然后按空格点击install安装即可三、测试打开一个文件夹,注意是打开文件夹,因为要调试的话,只能在一个文件夹下进行选择c/c++环境原创 2020-11-09 19:08:51 · 782 阅读 · 0 评论 -
GDB的一些运用练习
文章目录GDB简介gdb的使用gdb调试举例1、整型数反转程序的调试2、段错误调试3、生成和使用core文件GDB简介• GDB : GNU Debugger,是GNU工程为GNU操作系统开发的 调试器,但它的使用不局限于GNU操作系统, GDB可以运行 在UNIX、Linux甚至Microsoft Windows。• GDB可以调试C、C++、Objective-C、Pascal、Ada等语言编 写的程序;被调试的程序可以跟GDB运行于同一台电脑,也可 运行于不同电脑。• 使用GDB我们可以: –原创 2020-10-29 23:13:51 · 489 阅读 · 0 评论 -
Ubuntu下OpenCV的安装与初步运用
文章目录一、安装OpenCV及依赖库一、安装OpenCV及依赖库OpenCV是啥OpenCV是一个基于BSD许可(开源)发行的跨平台计算机视觉和机器学习软件库,可以运行在Linux、Windows、Android和MacOS操作系统上。 它轻量级而且高效——由一系列 C 函数和少量 C++类构成,同时提供Python、Ruby、MATLAB等语言的接口,实现了图像处理和计算机视觉方面的很多通用算法。OpenCV用C++语言编写,它具有C++,Python,Java和MATLAB接口,并支持Wind原创 2020-10-29 22:22:21 · 2999 阅读 · 4 评论 -
GCC——探寻编译器背后的故事
文章目录一、GCC生成.a静态库和.so动态库1、编辑生成例子程序2、编译生成.o文件3、由.o 文件创建静态库4、在程序中使用静态库5、由.o 文件创建动态库文件6、在程序中使用动态库二、静态库和动态库的实践1、编辑函数2、创建静态库一、GCC生成.a静态库和.so动态库函数库分为静态库和动态库两种。 静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态库在程 序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运行时还需 要动态库存在。1、编辑生成例子程原创 2020-10-15 20:54:14 · 243 阅读 · 0 评论 -
嵌入式系统基础A1(Ubuntu下gcc与makefile的使用)
Ubuntu与编辑软件的安装使用这里我安装的18.04版本,手动安装了vim,命令如下:sudo apt install gcc查看版本:更改为国内镜像软件园仓库在软件和更新内点击属性,可更改为国内镜像,这里我改为了清华大学的镜像地址。值得一提的是,为了搭建一个完整的开发环境,我安装了了build-essential,命令如下:sudo apt install build-essential,作用是提供编译程序必须软件包的列表信息。在Ubuntu系统下用C语言编写一个输出 hello word的原创 2020-09-23 17:35:09 · 201 阅读 · 0 评论 -
STM32和C51程序编译并基于Proteus仿真
一、MDK5环境的安装文件资源主要来自老师的分享,值得一提的是在使用keygen破解之前,需要以管理员身份打开Keil uVision5,否则生成的注册码将会出错。可以看到这里我将之使用时间注册至2032年。二、第一个工程的创建–LED闪烁工程创建...原创 2020-10-08 22:11:54 · 1034 阅读 · 0 评论