写在前面 上一篇简要的介绍了CAN的基本知识,小米电机的通信协议,以及小米微电机驱动库的结构,本章将结合具体代码分析HAL库CAN通信流程。为什么使用F105呢?因为f105属于互联型,拥有两个CAN,分别是主CAN1和从CAN2,在使用can2时必须要开启can1的时钟,若can1和can2同时使用时,先初始化can1驱动,再初始化can2。做机器人电机比较多,双CAN板更合适一些。 前置任
创建ROS工作空间 mkdir -p ~/catkin_ws/src cd ~/catkin_ws/src catkin_init_workspace 回到工作目录根空间使用catkin_make命令编译整个空间: cd ~/catkin_ws/ catkin_make 创建ROS功能包 进入工作空间,使用catkin_create_pkg命令创建功能包: cd ~/ca
ADC+TIM+DMA采集交流(三) 少年,你渴望力量吗? 前言 本文主要讲解ADC超频工作。 所需工具: 开发板:STM32F103RCT6 STM32CubeMX IDE: Keil-MDK相关文章: STM32HAL ADC+TIM+DMA采集交流信号 STM32cubeHAL ADC+TIM+DMA (二) 原理简介 F1中文参考手册上写道
设备拿到手当然是要先试一下效果的,这部分可以参考本专栏的第一篇 Viobot开机指南。 接下来我们就从UI开始熟悉这个产品吧! 1.状态 设备上电会自动运行它的程序,开启了一个服务器,上位机通过连接这个服务器连接到设备,连接成功后就如上图所示,状态栏会显示已连接。 此时它的系统的算法状态是停止状态的,这个系统状态有七个状态: 1)停止 2)mono1初始化中3)mono1运行中
ADC+TIM+DMA采集交流 前言 本文主要讲解定时器触发ADC去采集交流信号,DMA把数据搬移到内存。 所需工具: 开发板:STM32F103C8T6 STM32CubeMX IDE: Keil-MDK相关文章: STM32HAL ADC+TIM+DMA采集交流信号 基于cubemx(二) STM32cubemx ADC+TIM+DMA超频采样 模式简
STM32实现FFT,求取幅度频谱 FFT不太对劲的理解 FFT的原理比较复杂,因为32使用FFT不用去管算法是如何运作的,我在这里就进行简单的介绍了。因为是简单介绍,就只介绍下幅度频谱图,不考虑相位频谱图。 FFT可以将一个信号从时域变换到频域,比如一个1VPP的1k的正弦信号,它的时域和频域的示意图如下: 频域为我们观察信号提供了一个新的视角。比如下面是1k和2k信号的
ADC+TIM+DMA采集交流(二) 前言 本文是《STM32HAL ADC+TIM+DMA采集交流信号》的续篇,这一篇我们将让ADC以1M的速度去采集。过程中会学习到ADC时钟,采样率控制的概念。 所需工具: 开发板:STM32F103C8T6 STM32CubeMX IDE: Keil-MDK相关文章: STM32HAL ADC+TIM+DMA采集交流信号
STM32多串口实现printf——基于cubemx 前言 本文主要讲解单片机如何实现多个串口printf打印数据。 所需工具: 开发板:STM32F103RCT6 STM32CubeMX IDE: Keil-MDK cubemx端初始化 使能串口即可,没有其他的注意事项。 keil端编程 在usart.c底部编写以下代码 #include <stdarg.
前言 本文主要讲解定时器触发DAC去输出任意信号,DMA负责数据数据搬移。 所需工具: 开发板:STM32F103RCT6 STM32CubeMX IDE: Keil-MDK 相关文章: 什么是DAC 【讲座】ADC和DAC(模数和数模转换器)(ADC and DAC (Analog to Digital And Digital to Analog )_哔哩哔哩_bilib
一.使用上位机控制 TOF版本设备点击TOF ON即可开启TOF,开启后按键会变成TOF OFF,点击TOF OFF即可关闭TOF 补光灯版本设备点击LED ON即可开启LED ,开启后按键会变成LED OFF,点击LED OFF即可关闭LED 设置页面的viobot栏,补光灯前面的勾打上,就默认设备上电会开启补光灯,TOF前面的勾打上,就默认设备上电会开启TOF。 二.ROS控制
观前提醒:本文以外部中断点灯为例,分析了HAL库中中断服务相关函数的使用及相互关联、底层原理 一、实例实现 实例简介:主函数控制LED2进行闪烁,中断控制LED0开关我们先使用CubeMX创建项目文件:1、在System Core中配置外部时钟,这里视板子的不同而改变,我这里只有外部高速晶振,所以开启外部高速晶振。2、配置时钟树,如图:3、配置GPIO,原理图如下:我们配置PC2为上升沿检测中断模
前言 之前已经介绍了STM32的ADC、DMA、EXTI、TIME、NVIC、USART以及普通IO模式,此系列笔者还打算写最后三个大的内容,分别是SPI通信、IIC通信以及看门狗,后面就看大家的需求了,需要什么可以留在评论区,本文首先来介绍SPI的有关知识。 SPI总线概述 在通信协议分类的介绍中,提到过SPI,它是一种同步 串行 全双工(也可半双工)通信协议,是最常用的板级通信总线。
前言 上一篇中,主要介绍了有关通用定时器的一些概述性内容,本文主要是具体介绍一下输出比较与输入捕获的使用过程,包括其详细结构以及寄存器;其中输出捕获以常用的PWM为例,输入捕获以捕获按下按键的时间为例。 输出比较(PWM) 首先来看看输出比较部分,前面提到了通用定时器的通道具有输入捕获、输出比较、PWM模式、单脉冲输出模式,本质上除了输入捕获以外,其他三个都是属于输出比较,都是通过编程控
一、配置 (slave_id=0x18010001为只接收的id号): 1、对扩展数据帧进行过滤:(只接收扩展数据帧) CAN_FilterInitStructure.CAN_FilterIdHigh=(((u32)slave_id<<3)&0xFFFF0000)>>16; CAN_FilterInitStructure.CAN_FilterIdLow=((
前言 上一篇暂时结束了定时器的章节,还有一个高级定时器的部分,这个缓一缓吧,先换个片上外设来玩一玩,本文开始介绍STM32F407的又一个片上外设,ADC转换器,细细想来,GPIO的输入、输出、复用、通用都用过了,唯独一个模拟功能还没用过,而本片主角——ADC,一个模拟量数字量转换的片上外设,它的作用就是将GPIO口输入的模拟量转换成CPU内核可以识别的数字量。还是之前的模式,先简单做个概述,然
前言 在之前的所有代码编程的过程中,似乎每次都绕不开一个叫做时钟使能的东西,当时我们是在数据手册上直接看其挂接在那条时钟线上的,那么STM32内部的时钟到底是怎么一个构型呢,本文来对此做一个介绍。 时钟树 老规矩,一个新的名词出现,首先需要搞清楚它是个啥,下图中对时钟树给出了定义,STM32的时钟树是由多个时钟源和时钟分频组成的,为STM32芯片提供各种时钟信号。也就是说,在使用STM32的
8688笔记 模块基本信息 指标 参数 备注 采样率 最大500k 实测32最大开发到将近300k 分辨率 16位 精度 14-15位 大致如此,具体见数据手册 输入范围 (下面列出来 供电 5v 不是±5V 采用方式 单路采样,可以切换 我测试用的是
前言 上一篇介绍了通用定时器的输出比较部分,这一篇再来介绍一下输入捕获的相关内容。 输入捕获的概述 输入捕获,见名知意,就用来对输入信号进行捕获的,说到捕获输入信号,之前介绍过一个叫做外部中断的片上外设,它的作用也是捕获输入;它们的不同在于,外部中断捕获的只是边沿,而定时器的输入捕获,捕获的是信号的时间信息,可以用来测试脉冲宽度、高电平时间、低电平时间等,还可以利用这个输入捕获的功能来获取一
STM32F103+CubeMX+ADC采集直流 前言 本文主要讲解如何使用单片机的内部ADC去采集直流量。需要对ADC和cubemx有一定的使用经历。 所需工具: 开发板:STM32F103C8T6 STM32CubeMX IDE: Keil-MDK ADC简介 ADC(Analog-to-Digital Converter),即模拟-数字转换器,可以将连续变化的模拟
DSP的快捷添加 本人电赛现役选手一名(21年国赛后就退役了),主打模拟方向,经常使用DSP库做FFT等常规数据的处理。以前是跟着学长的教程添加的,奈何这种添加方式相对过于复杂,后来,我通过学习,掌握了一种较为简单的添加方式:通过keil添加。再后来在cubemx的不断探索中,摸索出来了一种更为快捷的添加方式。在此分享给大家。 通过cubemx添加 这个方法我愿意称之为急速。
第三方账号登入
看不清?点击更换
第三方账号登入
QQ 微博 微信