
简介
该用户还未填写简介
擅长的技术栈
可提供的服务
暂无可提供的服务
stm32中低端芯片没有浮点支持或者只包含单精度浮点库,如果用c的标准库math里面的相关函数,如sin、cos,这些函数是双精度编写的,stm32直接运行效率不高。为此,STM提供了dsp库来加速运算,这里记录一下采用cube方式生成的hal库的项目如何添加和使用dsp库。.........

stm32可以外扩很大的sram,常见外部sram的初始化函数一般是c语言写的,默认写在main函数里面。stm32初始化首先进入汇编代码startup_stm32f407xx.s,在汇编代码中Reset_Handler(复位中断服务程序)里面先调用了SystemInit,然后调用__main进行堆栈的初始化,最后才会跳转到用户main函数。调用SystemInit涉及到局部变量和函数调用,需要用
在ROS2官方教程里,代码和ROS1例程有很大不同,大部分节点都使用了类的写法,并且用到了很多C++的新功能。其中,发布消息是采用了一个定时器timer,并且注册一个回调函数实现的。那么,可不可以还是采用ROS1的rate sleep写法呢,答案是可以的。
颜色传感器的硬件部分主要由三大部分组成,分别是红绿蓝三色发光二极管、光敏二极管以及配套的其它硬件电路,三色发光二极管有四个管脚,其中三个管脚分别对应每个颜色二极管的负极,第四个管脚是正极公共端,分别给不同的管脚和公共端接通电压,就会让不同颜色的发光二极管发光,三色是独立可控的。......
本文以stm32f407VGT6为例描述,查阅该芯片的手册,可以知道其内存一共192K,但是在MDK编译项目时,有时候发现内存总量只有128k,原因在于,192k中有64k是CCM内存,剩下的128K才是正常的内存,所谓的CCM内存是cpu直接访问的空间,读写速度比其它内存快,但是不支持DMA,所以DMA对应的内存空间不能放在CCM中。.........
本文介绍如何将stm32控制板作为一个单独的ROS节点接入整个机器人ROS系统。在一个完整的机器人硬件系统中,由于众多传感器接口和实时性的需求,不可避免的需要加入嵌入式控制器,现在的机器人大多使用了分布式ROS系统,这套系统主要基于linux运行,而以stm32为例的大多数嵌入式控制器不支持linux。于是,当工控机想要与stm32进行数据交换时,只能脱离ROS体系采用自定义通讯协议。......

本文介绍如何将stm32控制板作为一个单独的ROS节点接入整个机器人ROS系统。在一个完整的机器人硬件系统中,由于众多传感器接口和实时性的需求,不可避免的需要加入嵌入式控制器,现在的机器人大多使用了分布式ROS系统,这套系统主要基于linux运行,而以stm32为例的大多数嵌入式控制器不支持linux。于是,当工控机想要与stm32进行数据交换时,只能脱离ROS体系采用自定义通讯协议。......








