自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 ROS环境下的Rviz摄像头视频采集及标定【标定未完成】

ROS环境下的Rviz摄像头视频采集及标定1 安装ROS与配置234 参考资料1 安装ROS与配置1 添加软件源2 添加密钥3 安装desktop-full4 初始化rostep(找不到命令)sudo rosdep initrosdep update12解决办法:输入以下命令再重复上述两个命令即可sudo apt-get install python-rosdep1⑤设置环境变量echo “source /opt/ros/melodic/setup.bash” >>

2021-06-23 00:39:01 582 2

原创 STM32的PWM和DAC练习

STM32的PWM和DAC练习一、所需软件安装二、操作2.1 PWM2.2 DAC一、所需软件安装1、UltraEdit右键运行uedi32.exet即可使用,无需安装步骤。二、操作2.1 PWM1、打开野火配套的试验例程野火指南者103\A盘(资料盘)\1-程序源码_教程文档\1-[野火]《STM32库开发实战指南》(标准库源码)【优先学习】\32-TIM—通用定时器\2-TIM—通用定时器-4路PWM输出2、编译后烧录进stm32板中3、进行仿真配置4、点击全速运行,随后再

2021-01-03 16:52:04 459 1

原创 STM汇编程序设计

STM汇编程序设计一、STM32的三种Boot模式1.1 三种Boot模式简介1.2 三种Boot模式的差别1.3 实验验证二、基于MDK创建纯汇编语言的STM32工程2.1 动态调试汇编语言程序变量2.2 Hex文件观察三、汇编程序完成LED灯闪烁3.1 程序要求3.2 操作过程3.3 结果观察四、参考资料一、STM32的三种Boot模式1.1 三种Boot模式简介Main Flash memory(用户闪存)是STM32内置的Flash,一般我们使用JTAG或者SWD模式下载程序时,就是下载

2020-12-31 00:44:15 214

原创 STM32最小系统PCB图的绘制

STM32最小系统PCB图一、基础准备二、绘制PCB图三、生成专属logo参考资料一、基础准备1、之前实验中绘制好的stm32最小系统原理图2、生成专属logo所用的免费的PCB Logo Creator插件工具下载二、绘制PCB图2.1 在原理图绘制完成的基础上新建PCB工程三、生成专属logo本人logo原图如下:保存为单色位图:参考资料1、免费的PCB Logo Creator插件工具下载2、Altium Designer 速成(哔哩哔哩链接)...

2020-12-26 19:23:12 716

原创 Cisco Packet Tracer 实验

Cisco Packet Tracer 实验一、简介二、实际操作2.1 直接连接两台 PC 构建 LAN2.2 用交换机构建 LAN2.3 交换机接口地址列表2.4 生成树协议(Spanning Tree Protocol)2.5 路由器配置初步参考资料一、简介Cisco Packet Tracer 是由Cisco公司发布的一个辅助学习工具,为学习思科网络课程的初学者去设计、配置、排除网络故障提供了网络模拟环境。用户可以在软件的图形用户界面上直接使用拖曳方法建立网络拓扑,并可提供数据包在网络中行进的详细

2020-12-26 00:18:52 3527

原创 基于I2C硬件协议的AHT20温湿度数据采集

typedef enum { I2C_ADR_W = 0x38, //sensor I2C address + write bit I2C_ADR_R = 0x39 //sensor I2C address + read bit} SHT2xI2cHeader;

2020-12-22 21:40:33 1429 1

原创 Wireshark实验4-应用层

Wireshark实验4-应用层实作1:了解 DNS 解析实作2:了解 HTTP 的请求和应答实作1:了解 DNS 解析先使用 ipconfig /flushdns 命令清除缓存,再使用 nslookup qige.io 命令进行解析,同时用 Wireshark 任意抓包(可用 dns 过滤)。你应该可以看到当前计算机使用 UDP,向默认的 DNS 服务器的 53 号端口发出了查询请求,而 DNS 服务器的 53 号端口返回了结果。可了解一下 DNS 查询和应答的相关字段的含义Q:你可能会发现对同一个

2020-12-22 15:19:15 565

原创 Wireshark实验3-传输层

Wireshark实验3-传输层实作1:熟悉 TCP 和 UDP 段结构实作2:分析 TCP 建立和释放连接实作1:熟悉 TCP 和 UDP 段结构1.1 用 Wireshark 任意抓包(可用 tcp 过滤),熟悉 TCP 段的结构,如:源端口、目的端口、序列号、确认号、各种标志位等字段。1.2 用 Wireshark 任意抓包(可用 udp 过滤),熟悉 UDP 段的结构,如:源端口、目的端口、长度等。Q:由上大家可以看到 UDP 的头部比 TCP 简单得多,但两者都有源和目的端口号。请问源和目

2020-12-22 14:51:29 447

原创 Wireshark实验2-网络层

Wireshark实验2-网络层实作1:熟悉 IP 包结构实作2:IP 包的分段与重组实作3:考察 TTL 事件参考链接实作1:熟悉 IP 包结构使用 Wireshark 任意进行抓包(可用 ip 过滤),熟悉 IP 包的结构,如:版本、头部长度、总长度、TTL、协议类型等字段。1、捕获包后展开数据详细区,如下:IP包结构详解1、版本号(Version):长度4比特。标识目前采用的IP协议的版本号。一般的值为0100(IPv4),IPv6的值(0110)2、服务类型(Type of Serv

2020-12-22 12:08:55 445

原创 Wireshark实验1-数据链路层

Wireshark实验1-数据链路层一、简介二、操作2.1 熟悉 Ethernet 帧结构2.2 了解子网内/外通信时的 MAC 地址三、问题一、简介Wireshark(前称Ethereal)是一个网络封包分析软件。网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料。Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换。二、操作2.1 熟悉 Ethernet 帧结构使用 Wireshark 任意进行抓包,熟悉 Ethernet 帧的结构,如:目的 MAC

2020-12-22 11:10:52 1256

原创 通过SPI总线实现OLED屏幕显示

通过SPI总线实现OLED屏幕显示一、任务要求二、实验过程三、结果展示四、参考资料一、任务要求练习通过SPI总线实现OLED屏幕显示要求至少实现以下功能之一:1、显示自己的学号和姓名; 2、显示AHT20的温度和湿度;3、上下或左右的滑动显示长字符,比如“Hello,欢迎来到重庆交通大学物联网205实训室!”二、实验过程2.1 在官网下载OLED官方提供的工程文件并打开所需工程2.2 根据提示连接开发板和OLED模块2.3 通过PCtoLCD软件生成名字“毛天慧”的字模2.4 找到

2020-12-21 23:04:40 2536 2

原创 浏览器缓存cache

浏览器缓存cache一、简介二、操作四、参考资料一、简介✍ cache 即缓存,是 IT 领域一个重要的技术。我们此处提到的 cache 主要是浏览器缓存。浏览器缓存是根据 HTTP 报文的缓存标识进行的,是性能优化中简单高效的一种优化方式了。一个优秀的缓存策略可以缩短网页请求资源的距离,减少延迟,并且由于缓存文件可以重复利用,还可以减少带宽,降低网络负荷。二、操作2.1 打开 Chrome 或 Firefox 浏览器,访问 https://qige.io ,接下来敲 F12 键 或 Ctrl +

2020-12-15 11:32:59 634

原创 Cmd命令行实验7-DNS

Cmd命令行实验7-DNS一、简介二、操作三、问题四、参考资料一、简介✍ DNS(Domain Name System)即域名系统,是互联网的一项服务。它作为将域名和 IP 地址相互映射的一个分布式数据库,能够使人更方便地访问互联网。DNS 使用 TCP 和 UDP 的 53 号端口。二、操作2.1 Windows 系统将一些固定的/静态的 DNS 信息记录在 C:\WINDOWS\system32\drivers\etc\hosts 文件中,如我们常用的 localhost 就对应 127.0.0

2020-12-15 11:06:36 438

原创 Cmder命令行实验6-netstat

Cmder命令行实验6-netstat一、简介二、操作三、参考资料一、简介✍ 无论是使用 TCP 还是 UDP,任何一个网络服务都与特定的端口(Port Number)关联在一起。因此,每个端口都对应于某个通信协议/服务。netstat(Network Statistics)是在内核中访问网络连接状态及其相关信息的命令行程序,可以显示路由表、实际的网络连接和网络接口设备的状态信息,以及与 IP、TCP、UDP 和 ICMP 协议相关的统计数据,一般用于检验本机各端口的网络服务运行状况。二、操作2.

2020-12-15 10:44:51 241

原创 Cmder命令行实验5-DHCP

这里写目录标题一、简介二、操作三、问题四、参考资料一、简介1.1 解释:✍ DHCP(Dynamic Host Configuration Protocol)即动态主机配置协议,是一个用于 IP 网络的网络协议,位于 OSI 模型的应用层,使用 UDP 协议工作,主要有两个用途:用于内部网或网络服务供应商自动分配 IP 地址给用户用于内部网管理员对所有电脑作中央管理简单的说,DHCP 可以让计算机自动获取/释放网络配置1.2 用法:二、操作2.1 一般地,我们自动获取的网络配置信息包括:I

2020-12-15 10:33:42 438

原创 Cmd命令行实验4-ARP

Cmd命令行实验4-ARP一、简介二、操作三、问题四、参考资料一、简介1.1 解释:✍ ARP(Address Resolution Protocol)即地址解析协议,是用于根据给定网络层地址即 IP 地址,查找并得到其对应的数据链路层地址即 MAC地址的协议。 ARP 协议定义在 1982 年的 RFC 826。1.2 用法:二、操作2.1 运行 arp -a 命令查看当前的 arp 缓存, 请留意缓存了些什么。2.2 然后 ping 一下你旁边的计算机 IP(注意,需保证该计算机的 IP

2020-12-15 10:13:12 2160

原创 Cmd命令行实验3-tracert

Cmd命令行实验3-tracert一、简介二、操作三、参考资料一、简介1.1 解释:Tracert(跟踪路由)是路由跟踪实用程序,用于确定 IP 数据包访问目标所采取的路径。Tracert 命令用 IP 生存时间 (TTL) 字段和 ICMP 错误消息来确定从一个主机到网络上其他主机的路由。通过向目标发送不同IP生存时间 (TTL) 值的“Internet控制消息协议 (ICMP)”回应数据包,Tracert诊断程序确定到目标所采取的路由。要求路径上的每个路由器在转发数据包之前至少将数据包上的 TT

2020-12-15 09:52:49 1113

原创 Cmd命令行实验2—ping

Cmd命令行实验2—ping一、简介二、操作三、参考资料一、简介1、解释:PING (Packet Internet Groper),因特网包探索器,用于测试网络连接量的程序 [。Ping是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送 ICMP(Internet Control Message Protocol 因特网报文控制协议)Echo 请求报文,测试目的站是否可达及了解其有关状态 。2、用法二、操作2.1 使用Ping www.cqjut.edu.c

2020-12-15 09:24:25 1081

原创 Cmder命令行实验1-ipconfig

ipconfig一、简介二、操作三、参考资料一、简介✍ ipconfig 是微软操作系统的计算机上用来控制网络连接的一个命令行工具。它的主要用来显示当前网络连接的配置信息(/all 参数)。二、操作2.1 Windows图标+R,输入cmd打开cmd命令窗口三、参考资料Windows命令 ipcofigipconfig命令詳細圖解...

2020-12-15 09:08:48 317

原创 Arduino IDE中进行STM32串口通信的开发

Arduino IDE中进行STM32串口通信的开发一、软件安装及所需库安装二、操作步骤三、结果四、参考资料一、软件安装及所需库安装1.1 软件安装官网下载连接安装过程没有什么需要注意的,只需一直点击下一步即可,中途会弹出三个需要安装的框,点击同意即可。1.2 stm32库安装在线安装离线安装二、操作步骤2.1 开发板选择2.2 根据芯片配置参数三、结果四、参考资料...

2020-12-13 18:33:59 288

原创 stduino IDE试用

stduino IDE试用一、简介二、使用三、与Arduino IDE对比参考资料一、简介Stduino IDE是一款面向32位处理器快速入门学习的集成开发平台,目前已经支持Arduino_Core_STM32框架,集聚快捷、高效、免费、开源、易得于一身,软件还集成了GDB调试功能。注意:stduino的安装不需要经历复杂的安装过程,解压缩后直接双击Stduino.exe即可运行。二、使用2.1 界面2.2 开发环境配置2.3 代码编写:与Arduino IDE串口通信的代码基本一致i

2020-12-13 17:44:25 1180 4

原创 基于标准库函数与基于HAL库函数的stm32编程方式的差异

基于标准库函数与基于HAL库函数的stm32编程方式的差异一、标准库二、HAL库参考资料一、标准库STM32有非常多的寄存器,而导致了开发困难,所以为此ST公司就为每款芯片都编写了一份库文件,也就是工程文件里stm32F1xx…之类的。在这些 .c .h文件中,包括一些常用量的宏定义,把一些外设也通过结构体变量封装起来,如GPIO口时钟等。所以我们只需要配置结构体变量成员就可以修改外设的配置寄存器,从而选择不同的功能。也是目前最多人使用的方式,也是学习STM32接触最多的一种开发方式,我也就不多阐述了。

2020-12-12 22:19:10 498

原创 ubuntu系统中编程重温C语言程序里全局变量、局部变量、堆、栈

重温C语言程序里全局变量、局部变量、堆、栈参考资料参考资料1、C/C++程序内存的各种变量存储区域和各个区域详解2、C语言中,局部变量、全局变量、静态变量、堆、栈的内存地址3、C语言中关键字volatile追根问底...

2020-12-03 23:20:35 109

原创 stm32系统进行编程验证变量地址空间

这里写目录标题参考资料参考资料1、【IoT】STM32 内存分配详解2、基于STM32分析栈、堆、全局区、常量区、代码区、RAM、ROM3、STM32 KEIL下的堆栈设置

2020-12-03 22:44:14 345

原创 STM32的USART串口通信

这里写目录标题一、二、STM32的USART窗口通讯程序2.1 要求2.2 过程参考资料一、二、STM32的USART窗口通讯程序2.1 要求1)设置波特率为115200,1位停止位,无校验位。2)STM32系统给上位机(win10)连续发送“hello windows!”,上位机接收程序可以使用“串口调试助手“,也可自己编程。3)当上位机给stm32发送“Stop,stm32”后,stm32停止发送。2.2 过程参考资料1、STM32串口通信USART学习笔记2、C/C++程序内存的各

2020-12-03 22:19:01 631

原创 STM32下完成基于FreeTROS的多程序任务

STM32下完成基于FreeTROS的多程序任务一、简介二、创建多任务三、烧录及运行四、运行结果五、参考资料一、简介FreeRTOS是一个迷你的实时操作系统内核。作为一个轻量级的操作系统,功能包括:任务管理、时间管理、信号量、消息队列、内存管理、记录功能、软件定时器、协程等,可基本满足较小系统的需要。由于RTOS需占用一定的系统资源(尤其是RAM资源),只有μC/OS-II、embOS、salvo、FreeRTOS等少数实时操作系统能在小RAM单片机上运行。相对μC/OS-II、embOS等商业操作系

2020-12-02 23:12:44 289

原创 基于寄存器与基于固件库的stm32差异

一、简介STM32标准外设库之前的版本也称固件函数库或简称固件库,是一个固件函数包,它由程序、数据结构和宏组成,包括了微控制器所有外设的性能特征。寄存器是中央处理器内的组成部分。寄存器是有限存贮容量的高速存贮部件,它们可用来暂存指令、数据和地址。二、对比*注:上图来源于《零死角玩转STM32—F103指南者》,详情参加参考资料部分。*三、总结使用固件库,目前比较多的例程是使用固件库编写的。官方的例子也都采用固件库方式。特点就是简单,易于理解,资料多。如果你没有CortexM系列内核的开发基

2020-12-02 14:22:24 1053

原创 Altium Designer绘制stm32原理图及PCB板

这里写目录标题一级目录二级目录参考资料一级目录二级目录参考资料Altium Designer实战教程 - 从零开始画一个stm32最小系统(原创)Altium Designer 1小时(貌似不够)速成

2020-11-08 03:31:40 3383 2

原创 利用Proteus和keil5仿真运行stm32程序

Proteus仿真运行stm32程序一、创建工程参考资料一、创建工程1.1点击创建新工程,输入工程名、安装路径。1.2 选择从选中的模板中创建原理图(DEFAULT)、选择不创建PCB布版设计。1.3.选择创建固件项目,其中:系列选择Cortex-M3,Controller选择STM32F103R6,点击下一步,然后创建成功。参考资料Proteus仿真STM32流水灯实验例程、详细步骤。实验keil和proteus所用文件工程百度网盘链接 提取码:0f7c...

2020-11-07 22:09:46 9929 1

原创 Ubuntu中可视化的代码跟踪调试

Ununtu中可视化的代码跟踪调试一、 常用软件二、安装三、汉化四、 安装插件五、配置调试和编译文件,launch.json和task.json六、编译七、单步调试一、 常用软件1、可视化前端 Kdbg。参考网址:UBUNTU20.04安装KDBG3.0.12、可视化前端 Insight。有点older,不推荐。参考网址:Insight的使用方法(gdb的最优前端)3、基于跨平台多类型代码编辑器VScode。 强烈推荐。参考网址:在ubuntu18.04版本安装vscode在ubuntu中

2020-11-07 15:57:14 622

原创 Ubuntu下OpenCV的安装及使用

Ubuntu下OpenCV的安装及使用一、OpenCV的安装二、OpenCV的使用参考资料一、OpenCV的安装二、OpenCV的使用参考资料

2020-10-31 00:25:45 1885

原创 Ubuntu下的GDB调试

Ubuntu下的GDB调试一、GDB简介二、GDB命令三、GDB调试操作4、GDB段错误调试5、参考资料一、GDB简介GDB : GNU Debugger,是GNU工程为GNU操作系统开发的 调试器,但它的使用不局限于GNU操作系统, GDB可以运行 在UNIX、Linux甚至Microsoft Windows。GDB可以调试C、C++、Objective-C、Pascal、Ada等语言编 写的程序;被调试的程序可以跟GDB运行于同一台电脑,也可 运行于不同电脑。二、GDB命令• file 装入

2020-10-29 20:38:02 236

原创 Linux中gcc及库的知识及操作

Ubuntu下gcc库操作一、在 Linux 中创建静态库和动态库1、编辑生成程序 hello.h、hello.c 和 main.c2、将 hello.c 编译成.o 文件3、由.o 文件创建静态库。4、在程序中使用静态库5、由.o 文件创建动态库文件。6、在程序中使用动态库二、Linux静态库.a与.so库文件的生成与使用1、先创建一个作业目录,保存本次练习的文件2、然后用 vim文本编辑器编辑生成所需要的四个文件3、静态库.a 文件的生成与使用4、共享库.so 文件的生成与使用三、Linux gcc常用

2020-10-16 22:11:07 587

原创 STM32的简单程序的编译及利用Proteus 的51程序设计和仿真

ARM开发环境入门这里写目录标题ARM开发环境入门一级目录二级目录三级目录一级目录二级目录三级目录

2020-10-08 10:53:04 403

原创 Ubuntu系统下C语言程序练习

嵌入式系统开发作业一 在Ubuntu系统下用C语言编写一个简单的输出 hello word的程序,并编译有、运行之;请编写一个主程序文件 main1.c 和一个子程序文件 sub1.c。要求:子程序sub1.c 包含一个算术运算函数 float x2x(int a,int b),此函数功能为对两个输入整型参数做某个运算,将结果做浮点数返回;主程序main1.c,定义并赋值两整型变量,然后调用函数 x2x,将x2x的返回结果printf出来。1) 请在ubuntu系统用gcc 命令行方式

2020-09-26 01:37:18 780 2

空空如也

空空如也

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

TA关注的人

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