stm32
静静流淌的柯溪
专注于智能硬件,智慧互联!
展开
-
STM32WB-硬件介绍
1 系统和存储1.1 系统总览STM32使用双核架构,一个cortex-m4核负责app程序开发,一个cortex-m0核负责射频协议栈,还有一个radio子系统负责RF部分。1.2 STM32WB总线架构如下图所示,基本的外设都被CPU1域,也就是cortex-m4内核访问,CPU1和CPU2通过SRAM2通讯。1.3 总线矩阵1.4 存储分布1.5 STM32WB闪存特点共享闪存的一部分是为RF射频子系统CPU2保护的,为了安全区域,主机CPU1无法访问。使用ART加原创 2020-09-30 15:02:50 · 5120 阅读 · 0 评论 -
机智云STM32平台移植oled显示屏
机智云gokitSTM32平台移植oled显示屏首先非常感谢机智云官方提供的免费开发板,需要的同学可以上机智云的官方网站申请。oled简介OLED,即有机发光二极管( Organic Light Emitting Diode)。 OLED 由于同时具备自发光,不需背光源、对比度高、厚度薄、视角广、反应速度快、可用于挠曲性面板、使用温度范围广、构造及制程较简单等优异之特性,被认为是下一代的平面显示器新原创 2017-06-16 20:53:59 · 3999 阅读 · 1 评论 -
STM32+freeRTOS学习笔记-1.使用cube MX创建一个freeRTOS的keil工程
硬件:机智云STM32平台V2.1 软件:cube MX+keil MDK-ARM V5机智云的STM32开发平台小巧玲珑,用起来也顺手,所以就将正点原子的战舰开发板扔一旁吃灰了。目前刚开始学习,用到的硬件资源也不多,后续做相关实验时说不准又捡起来了。1.简单介绍一下cube MX的使用下载安装的过程就不在赘述,直接开始使用。 双击打开cube MX,点击新建工程 由于本底板的MCU型号是:S原创 2017-06-19 22:18:10 · 23099 阅读 · 2 评论 -
一种基于STM32的APP和BootLoader设计的方法
IAP(In Application Programming)即在应用编程, IAP 是用户自己的程序在运行过程中对User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级。 通常实现 IAP 功能时,即用户程序运行中作自身的更新操作,需要在设计固件程序时编写两个项目代码,第一个项目程序不执行正常的功能操作,而只是通过某种通信方式(如...原创 2018-05-19 12:01:19 · 3283 阅读 · 0 评论 -
STM32开发小结--使用STM32F4串口的空闲中断模式+DMA接收不定长数据帧
开发平台:Keil 5 库函数版本:V3.5 芯片:STM32F407VET6 1 STM32的串口接收数据的方式STM32的串口接收数据有三种方式可以选择:1.1 轮询接收在主循环中一直判断串口接收完成标志位是否置位,如果置位则读取收到的数据。该种模式一般不会使用,其缺点很明显,当主函数在做其他工作时接收数据标志位置位,此时将得不到及时响应,从而错过后续数据的接收。...原创 2018-07-26 21:03:53 · 12229 阅读 · 5 评论 -
C语言小结--float short等非char型数据传输问题
1.问题描述最近开发中需要使用can传输float和short型数据,我们知道一般的嵌入式平台的通讯端口如CAN、串口、网络等都是以字节(byte)为单位传输的,那么怎么传输float、short等类型的数据呢?尤其是带符号位的数据。2.解决思路使用共用体(union)首先创建一个结构体,然后在结构体成员中创建共用体。如下所示://底盘状态结构体typedef struct _T_Un...原创 2018-10-10 19:40:07 · 1519 阅读 · 0 评论 -
处理串口接收不定长数据的另一种解决方法
开发平台:Keil 5库函数版本:V3.5芯片:STM32F103CBT6之前我在我的另一篇博客中介绍过使用串口空闲中断+DMA的方式来处理不定长数据,没有看过的同学可以点击这里查看。今天要介绍另一种接收不定长数据的方法。使用的是接收中断和和空闲中断结合的方式。大概思路是:我们在串口配置的时候先只开串口接收完成中断,然后在接收中断中再开启空闲中断,当空闲中断发生时,表明本次数据接收完成,再...原创 2018-12-05 19:14:07 · 7596 阅读 · 2 评论 -
STM32 FOC5.2电机库中中的电流采样改为反向放大
使用STM32 FOC 5.2的电机库,硬件做电流采样时使用的是反向放大,但是电机库中使用的是同向放大,ST的配置上位机中的电流采样参考如下图:可是我们的电流采样电路如下:所以要修改ST的FOC电机库源码,路径是:../MCSDK_v5.2.0-Full/MotorControl/MCSDK/MCLib/F1xx/Src/r3_hd2_pwm_curr_fdbk.c 对应函数改动如下:v...原创 2019-01-24 15:48:41 · 7288 阅读 · 16 评论 -
error: L6236E: No section matches selector - no section to be FIRST/LAST.的解决
在移植别家开发板上的例程时,报如下错误:error: L6236E: No section matches selector - no section to be FIRST/LAST. 原因是在当前的工程中没有启动文件,需要在工程中添加相关的启动文件。也就是st官方的xxxx.s文件。添加后再编译就ok了。...原创 2019-03-05 16:15:59 · 8898 阅读 · 5 评论