自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 USART接收不定长数据 -空闲中断

空闲中断:自接收到上个字节完成起(RXNE=1),超过一个字节周期时长没收到新数据,产生硬件中断(USART的SR第4位IDLE被置1),这时USART_IRQHANDLER()函数被调用,用户可在这里识别中断的类型,并做数据处理。如正点原子的LORA模块,硬件机制1ms传送1个字节,即115200波特率下接收一字节用90us,但后面900us左右间隔是闲置的,这类机制,不适合使用空闲中断。USART的非空中断标志位, 是自动清理的, 你只要读出数据, 标志会就自动被清, 不用自己费心.

2024-04-18 20:52:47 364

原创 SystemView安装使用

SystemView是一个可以在线调试嵌入式系统的工具,它可以分析有哪些中断、任务执行了,以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。说白了就是我们可以通过这个软件实时监控我们实时系统的任务切换及调度情况,并且这个软件支持多种实时系统,包括FreeRTOS uSCIll等

2024-04-17 22:36:37 653

原创 keil、IAR下如何解决HardFault_Handler中断问题

调试过程中难免会遇到各种异常,hardfault算是比较常见的一种。在最开始学习的时候,一度很害怕这种情况,不知道怎么定位,摸不清是哪里导致了问题,全靠猜测。网上有很多定位hardfault问题的教程,基本大差不差,方法就那些。最近有点时间,我也整理下。本章主要记录下我实践过的hardfault定位办法。后续遇到hardfault相关问题,也一并补充到本文中,方便自己查阅。

2024-03-25 21:01:09 1025

原创 文本文件和二进制文件

记录文件,频率过高会导致数据丢失因为用sprintf函数会有一个转换的时间;所以就考虑记录二进制文件,提高记录效率。fdr记录60hz数据记录后的二进制文件放在MATLAB解码

2024-03-20 22:51:50 993

原创 STM32CAN2进入bus off 模式

CAN通信:总线疑似进入busoff,Busoff的产生是一定是因为节点自身识别到自己发送错误,TEC(Transmit Error Counter)>255导致的。

2024-02-02 21:52:30 816

原创 CRC(循环冗余校验)直接计算和查表法

CRC(Cyclic Redundancy Check),即循环冗余校核,是一种根据网络数据包或电脑文件等数据产生简短固定位数校核码的快速算法,主要用来检测或校核数据传输或者保存后可能出现的错误。CRC利用除法及余数的原理,实现错误侦测的功能,具有原理清晰、实现简单等优点。

2023-12-05 21:58:55 529

原创 CAN2无法通信问题

问题由来-最近一直在做16s智能电池的通信,可是无人机突然显示hub电压24v(此hub只支持2s-12s电池,无法显示16s电池电压),容易造成低电压返航,实际电压却依旧是64v。单独使用CAN2时一定要同时打开CAN1和CAN2的时钟,否则CAN2无法正常工作,因为CAN2是从CAN,CAN1是主CAN。当邮箱一直被占用后,导致CAN通讯有问题,作为一种保护机制,应该重新进行初始化CAN。当can正常工作时,STB引脚为低电平,当STB引脚为高电平的时候,CAN总线闲置。

2023-11-09 09:44:18 417

转载 IAR软件中直接查看编译后代码大小

在使用IAR软件编译代码时,编译后往往看不到编译后代码的大小情况。在调试程序的时候还是比较麻烦的。下面就总结两种最简单的方法在IAR编译器中查看代码大小。原文:https://blog.csdn.net/qq_20222919/article/details/121743088。

2023-10-19 21:52:01 916

原创 STM32内部flash闪存的总结

擦除扇区之前需要设计编程/擦除并行位数,决定了写入的时间,Flash 擦除操作可针对扇区或整个 Flash(批量擦除)执行。注意:我们的f407只有3个128kb的沙扇区,对扇区进行访问或者擦除的时候需要计算出其实地址和结束地址,用户下载数据时候,是从起始地址下载进去的;原因:复位后,Flash 控制寄存器 (FLASH_CR) 不允许执行写操作,以防因电气干扰等原因出现对Flash 的意外操作。— 主存储器块,分为 4 个 16 KB 扇区、1 个 64 KB 扇区和 7 个 128 KB 扇区。

2023-10-19 21:46:58 1057

原创 CAN总线负载率要如何计算

通信速率为500kbps的CAN总线来说,500kbps就是500kbit/s,也就是1秒内总线上最大允许传输的bit数为500000个我们模拟发送一条周期报文,计算1秒内它传输到总线上的bit数,然后再除以1秒内最大允许的bit数,不就得到总线的负载了嘛。我们以dlc为8个字节的标准帧为例,帧起始(1bit)+仲裁场(11bit)+控制场(6)+数据场(64bit)+CRC场(16bit)+ACK场(2bit)+帧结束(7bit)+ITM(3bit)所以CAN传输速率为500Kb时位时间为2us。

2023-10-11 20:44:44 1061

原创 3种PPT压缩方法

第一步:96ppi第二步:islide插件第三步:软件压缩三步合一,无人能敌[doge]

2023-09-20 11:24:35 174

原创 STM32F0芯片,引脚重映射

想用CAN必须重映射

2023-09-15 21:45:34 114

原创 浮点型数据在内存中是如何存储的

浮点型数据在内存中是如何存储的对于32位的浮点数,最高位是符号位s,接着的8位是指数E,剩下的23位为有效数字M,对于64位的浮点数,最高位是符号位S,接着的11位是指数E,剩下的52位为有效数字M

2023-09-12 22:09:46 196

原创 STM32定时器的One Pulse Mode,OPM应用

OPM:单脉冲模式 (One-pulse mode) >0:计数器在发生更新事件时不会停止计数> 1:计数器在发生下一更新事件时停止计数(将 CEN 位清零)

2023-09-08 21:24:53 805

转载 什么是_IO变量、volatile(即__IO)

IO为volatile变量,volatile 影响编译器编译的结果, 指出:volatile 变量是随时可能发生变化的,与volatile变量有关的运算,不要进行编译优化,以免出错。volatile(即__IO) 告诉编译器变量是随时可能发生变化的,每次使用它的时候必须从变量的地址中读取,因而编译器生成的可执行码会重新变量的地址读取数据。而如果没有使用__IO,编译器优化做法是,由于编译器发现两次从i中读数据的代码之间的代码没有对i进行过操作,它会自动把上次读的数据放在k中,而不是重新从i里面读。

2023-08-31 09:56:29 192

原创 C语言枚举类型enum详解、枚举变量。枚举函数

关键字:enum用途:定义一个取值受限制的整型变量,用于限制变量取值范围;

2023-08-31 09:47:55 2538

转载 goto语句

goto语句可以一次跳出许多层循环,方便检查一些错误,还可以对for循环中包含的if条件句加一个goto,方便我们对满足条件的部分进行及时的处理。goto语句的语法是这样的:1,设置一个后面带冒号的标签,标签的名字可以任意去取,冒号后面的是想要对语句进行的操作。其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。在这里,label 可以是任何除 C 关键字以外的纯文本,它可以设置在 C 程序中 goto 语句的前面或者后面。

2023-08-28 17:45:34 163

原创 一些常用的CSDN 设置命令、插入目录、改变字体颜色等

一些常用的CSDN 设置命令、插入目录、改变字体颜色等

2023-08-19 10:30:52 120

原创 ADIS16470和ADIS16500从到手到读出完整数据,附例程

ADIS16470和16500的一些介绍

2023-08-17 20:16:51 489 3

原创 原码、反码、补码,进制转换,有符号数和无符号数转换

计算机底层存储数据时,存储的是数据对应的二进制数字。,而实际存储的是整型数据的补码。原码、反码以及补码都是的,其中最高位存放符号位,。

2023-08-17 16:32:13 634

转载 SPI中的CPHA,CPOL详解

SPI由于接口相对简单(只需要4根线),用途算是比较广泛,主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。即一个SPI的Master通过SPI与一个从设备,即上述的那些Flash,ADC等,进行通讯。而主从设备之间通过SPI进行通讯,首先要保证两者之间时钟SCLK要一致,互相要商量好了,要匹配,否则,就没法正常通讯了,即保证时序上的一致才可正常讯。而这里的SPI中的时钟和相位,指的就是SCLk时钟的特性,

2023-08-15 10:34:42 1188

原创 IIC延时函数

**工作条件:CPU主频168MHz ,IAR编译环境**### 问题,波形不好,IIC_Delay延时时间不够

2023-08-12 11:07:44 306

原创 STM32 定时器自动重装载寄存器ARR带来的影响,ARPE0和1区别

自动重载寄存器是预装载的。对自动重载寄存器执行写入或读取操作时会访问预装载寄存器。预装载寄存器的内容既可以直接传送到影子寄存器,也可以在每次发生更新事件(UEV) 时传送到影子寄存器,这取决于 TIMx_CR1 寄存器中的自动重载预装载使能位 (ARPE)。当>计数器达到上溢值(或者在递减计数时达到下溢值)并且 TIMx_CR1 寄存器中的 UDIS 位为 0时,将发送更新事件。该更新事件也可由软件产生。

2023-08-10 22:05:06 2953 1

原创 IAR未知错误 无法跳转到定义, Browse engine disabled for this project.

删除它临时生成的一些文件就好了。

2023-08-10 17:06:44 248

原创 模拟IIC——关于模拟IIC的IO口的配置选取推挽输出还是开漏输出,以及是否需要更改IO口输入输出模式和是否需要对IO配置上拉

推挽输出对应->需要切换输入输出模式;开漏输出对应->不需要切换输入输出模式;我学习IIC的时候明明记得IIC需要使用开漏输出和接上拉电阻的;如果使用推挽输出,当多个设备连接到一个总线上面时,如果一个设备输出低电平一个设备输出高电平就会出现短路的情况。而且不能推挽输出实现线与。为什么这里可以使用推挽呢?我猜测这是模拟IIC和硬件IIC的不同了。

2023-08-08 15:35:36 2277

原创 stm32常见数据类型

int64_t占用8个byte,数据范围 -2^63 到 (2^63-1) 2^63 = 9223372036854775807ll。uint64_t 占用8个byte, 数据范围 0 - 2^64 2^64 = 18446744073709551615。s32 占用 4个byte,数据范围 -2^31 到 (231-1)231 = 2147483647。s16 占用2个byte,数据范围 -2^15 到 (2^15-1)s8 占用1个byte,数据范围 -2^7 到 (2^7-1)

2023-08-02 21:12:17 4133

原创 C语言隐式类型转换规则 (比较实用)

float型数据在运算时一律转换为双精度(double)型,以提高运算精度(同属于实型值时,一律是右部值转换为左部类型。不同的操作数时,那么在操作之前行先将较低的类型转换为较高的类型,然后进行运算,运算结果是较高的类型。当整型数据和双精度数据进行运算时,C先将整型数据转换成双精度型数据,再进。当字符型数据和实型数据进行运算时,C先将字符型数据转换成实型数据,然后进。数据类型转换在C语言的表达式中,准许对不同类型的数值型数据进行某一操作或。当不同类型的数据进行操作时,应当首先将其转换成相同的数据类型。

2023-08-02 21:00:05 396 1

原创 Iar工程调试使用教程

https://blog.csdn.net/flyme2010/article/details/82106997https://www.likecs.com/show-203879826.html

2023-08-01 21:51:33 207

转载 MS5611气压计数据采集(模拟IIC)/温度采集/相对高度求解

S5611使用24位ADC,可以采集温度和气压,并且温度可以用来补偿气压,MS5611在出厂时进行了校准,校准的6个系数存储在PROM寄存器中, PROM寄存器起始地址0XA0, 从0xA0到0XAE, 一共16字节, 一共16*8 = 128位

2023-07-28 20:37:16 1206

原创 Git安装与学习

镜像下载是网站对服务器的一个保护措施之一,就是A站点下载的数据同 B站点下载的数据完全一样,b站点就是A站点的一面镜子。所以镜像下载下来和原站点一摸一样。

2023-07-24 10:22:34 132

原创 beyond compare怎么导出比较结果

文件夹同样的道理,.HTML文件才能有彩色的对比信息。

2023-07-22 15:39:08 464

转载 IAR的View视图菜单中Watch、 Live Watch、 Quick Watch、 Auto、 Locals、 Statics这几个子菜单的含义和区别

Watch菜单下面有4个子菜单:Watch1 ~4,但都是一样的,可以分别开4个窗口出来同时查看表达式/变量值。这个子菜单和Atuo类似,也是自动显示,区别在于:Locals是显示的局部表达式变量,而静态/全局变量不会显示。细心的朋友其实会发现,子菜单是进行了分类的(用横线隔开),本文讲述的就是Watch这一类查看变量的子菜单。View这个菜单的意思就是打开(已关闭的)视图窗口,比如我们的工作空间窗口不见了,就可以通过该菜单打开。新版的IAR的菜单和以前老版本的排序、内容可能略有差异,但大体相同。

2023-07-04 16:14:46 695

原创 Shell、Xshell以及两者的关系

能操作应用程序的接口都能称为 shell。狭义上的 shell 指的是命令行方面的软件,如 sh、bash、csh 等。在计算机中,Shell俗称壳(用来区别于核),Shell是Linux和Unix下的命令解析器。用来为用户提供操作界面的软件(命令解析器)。类似于DOS和Windows下的命令解析器:command.com、cmd.exe。这个Shell(命令解析器)的作用: 用于接收用户命令,然后调用相应的应用程序。(将用户输入的命令加以解释并传给Linux/Unix操作系统)

2023-06-28 21:00:12 1641

转载 Linux和Xshell

工作中不直接在服务器上进行业务的操作,而是需要在工作电脑上安装一个远程连接软件–Xshell,远程操作机房的服务器,当然我们现在只是在自己的一台电脑上模拟出这种状态。

2023-06-28 17:45:17 251

原创 电池容量和放电倍率

如:一块1000mAH的电池放电倍率就是10C,它能在正常负载下能持续的以10A的电流进行放电0.1小时。以1000mAH为例,意为以1000毫安的电流进行连续放电,可以放电1小时(1000mA=1A)一块1000mAH的电池充电倍率就是5C,最大以5A的电流进行充电。放电倍率C值:指当前电池的放电电流与电池自身容量的比值。

2023-06-05 11:40:04 2172

转载 无人机电调

引用文章因无刷电机与有刷电机相比取消了碳刷结构,所以无刷电机需要一个能替代碳刷功能的部件,它就是电调。电调的全称是电子调速器(electronic speed controller ,简称ESC),电调对应使用的电机类型不同,分为无刷电调和有刷电调。有刷电机转动时可以不用电调,但如果没有电调就无法控制电机的转速。而无刷电机必须要有电调,否则不能转动。

2023-05-19 22:33:56 2576

转载 大端模式和小端模式的区别、

参考文章https://blog.csdn.net/qq_39715000/article/details/118944940https://www.guyuehome.com/19990这是因为在计算机系统中,我们是以字节为单位的,每个地址单元都对应着一个字节,一个字节为8bit。但是在C语言中除了8bit的char之外,还有16bit的short型,32bit的long型(要看具体的编译器),另外,对于位数大于8位的处理器,例如16位或者32位的处理器,由于寄存器宽度大于一个字节,那么必然存在着一个

2023-05-14 17:30:14 5914

原创 STM32F4的输出比较极性和PWM1,PWM2的关系

而它们的占空比是由各自的CC决定的,所以占空比可以各自设定它们的相位,由于计数器更新,所有PWM同时跳变,所以它们的相位是同步的.后面就是输出模式控制器,以PWM模式1向上计数为例,CNT小于CCR时,REF置有效电平,CNT大于等于CCR时,REF置无效电平。再经过极性选择,使能输出,最终通向GPIO口,输出波形。PWM1中空控制的是高电平的占空比,外接LED的时候灯光是随着TIMx_SetComparex()函数中占空比的增大由最亮逐渐变最暗,当达到100%的占空比的时候最暗。

2023-05-11 11:39:35 2252

原创 RTK差分定位

RTK

2023-05-08 22:51:32 151

原创 PWM驱动舵机原理、SG90、舵机控制

是用0.5-2.5ms的脉宽来控制舵机角度,当脉宽小于0.5为死区,就是舵机不动,舵机输出轴转角保持0度或稍小于零度,当脉宽等于0.5ms时,舵机输出轴转角为0度,当脉宽等于1ms时,舵机输出轴转角为45度,当脉宽等于1.5ms时,舵机输出轴转角为90度,当脉宽等于2ms时,舵机输出轴转角为135度0,当脉宽等于2.5ms时,舵机输出轴转角为180度,当脉宽大于2.5ms为死区脉宽,舵机不动,舵机输出轴转角保持180度或稍大于180度。

2023-04-26 19:41:39 5379

[SystemView] SystemView升级至V3.07,重大更新,免费使用所有特性(非商业)

[SystemView] SystemView升级至V3.07,重大更新,免费使用所有特性(非商业)SystemView是一个可以在线调试嵌入式系统的工具,它可以分析有哪些中断、任务执行了,以及这些中断、任务执行的先后关系。还可以查看一些内核对象持有和释放的时间点,比如信号量、互斥量、事件、消息队列等。这在开发和处理具有多个线程和事件的复杂系统时尤其有效。说白了就是我们可以通过这个软件实时监控我们实时系统的任务切换及调度情况,并且这个软件支持多种实时系统,包括FreeRTOS uSCIll等。

2024-04-17

帮助你解析二进制文件的工具

二进制文件虽然也可在屏幕上显示,但其内容无法读懂。具体这个是什么,我要怎样才能弄懂呢!这个软件帮助你,参考文章-文本文件和二进制文件

2024-03-20

CAN总线负载率计算代码-canbusload.c

看这个文件canbusload.c

2023-10-11

PPT压缩软件PPT压缩软件

PPT压缩软件

2023-09-20

整理的一些常用的git命令

整理的一些常用的git命令,学习网站

2023-08-19

16500数据手册英文

程序参考这篇博文 https://editor.csdn.net/md?not_checkout=1&spm=1011.2124.3001.6183&articleId=132345034

2023-08-17

ADIS16470数据手册

ADIS16470数据手册 程序参考这篇博文 https://editor.csdn.net/md?not_checkout=1&spm=1011.2124.3001.6183&articleId=132345034

2023-08-17

匿名光流通信协议,此项目用光流进行室内定位飞行

匿名光流通信协议,此项目用光流进行室内定位飞行

2023-05-14

一些传感器模块资料,嵌入式,开发板103

STM32F103C8T6核心板 STLINK下载器 有源蜂鸣器 光敏电阻传感器 热敏电阻传感器 寻迹传感器 测速传感器 OLED显示屏 -TB6612电机驱动 0-SG90舵机 1-旋转编码器 2-CH340USB转串☐ 3-MPLU6050它螺仪加速度计 4-W25 QXX Flash闪存

2023-05-10

PWM驱动舵机程序,舵机原理介绍,https://editor.csdn.net/md/?articleId=130393151

这个程序是stm32f103下开发的,原理相通,移植方便,参考文章https://editor.csdn.net/md/?articleId=130393151,这里面有讲到移植到stm32f407注意的地方

2023-05-10

Windows File Recovery

微软其实有推出自己的 Windows File Recovery 数据恢复功能让用户使用,不过 Windows File Recovery 是使用命令行功能,对于一般用户来说不容易使用,而 WinfrGUI 则是一款将这个功能图形化的软件,操作方式就跟大多数数据恢复工具一样。

2023-01-15

基于STM32的室内环境监测系统

采用STM32F103C8T6核心板作为系统控制单元,结合相关的传感器模块和软件资源完成以STM32F103C8T6为核心的室内环境监测系统。使用超声波传感器检测距离,通过LCD显示屏显示距离;通过温湿度传感器DHT11将检测到的实时室内温湿度数据发送给主控LCD显示,同时系统能够根据设定温度自动驱动加热模块进行升温,驱动风扇进行降温,达到自动控温的目的,也可手动进行升降温控制;使用光照传感器将采集的ADC数据进行分析周围光照强度,将光照的亮弱实时数据发送给主控LCD显示;通过产生PWM波来控制LED灯的点亮程度,从而在光照不足的情况下,任意切换LED灯显示模式。 参考文章https://editor.csdn.net/md?not_checkout=1&articleId=128688706

2023-01-14

各传感器的数据手册以及程序、BMP180、DHT11温度模块、HC-SR04 超声波模块、光敏电阻传感器、热敏传感器、无源蜂鸣器

BMP180数据手册+STM32例程+51例程 DHT11温度模块湿度模块温湿度模块传感器+DHT11传感器 GY-BMP280-3.3 HC-SR04 超声波模块 测距模块 LC-CAN-1050+LC-CAN-82C250+TJA1050模块PCA82C250模块 (1) 光敏电阻传感器模块4线制 热敏传感器模块(4线制) DS18B20 两路电机驱动 H桥 L9110 无源蜂鸣器

2023-01-14

Stm32f103c8t UCOSII

Stm32f103c8t UCOSII

2023-01-14

stm32配套的液晶屏资料以及相关程序

stm32配套的液晶屏资料以及相关程序

2023-01-14

PCtoLCD2002 取模软件

PCtoLCD2002 取模软件

2023-01-14

stm32开发资料-stm32f103c8t6

stm32开发资料-stm32f103c8t6

2023-01-14

JLINK驱动安装包及相关文件

JLINK驱动安装包及相关文件

2023-01-14

IEEE-Transactions-Word模板

IEEE-Transactions-Word模板

2023-01-02

基于Simulink光伏太阳能电池板仿真含Matlab源码

对光伏电池板的工作原理进行简要分析并给出了其等效电路,建立了光伏池板的数学模型,在matlab/simulink仿真环境下搭建新的光伏池板的仿真模型

2022-12-30

空空如也

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

TA关注的人

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