STM32
花洛兮灬
技术宅改变世界
展开
-
STM32F4浮点数赋值导致HardFault的终极解决办法
STM32F4浮点数赋值导致HardFault1.问题描述STM32F407+ucosII,调用函数对某float型变量赋值后进入HardFault,程序没有任何语法错误,且该函数第一次赋值同一变量没有问题main(){ ``` motor1.Init(1,*CAN1,1,1.0,0.5,0); motor2.Init(2,*CAN1,1,1.0,0.5,0); //第二次调用进入HardFault ```}Tmotor::Init(int _id,CANClass *_CANClas原创 2021-03-07 16:57:44 · 2501 阅读 · 1 评论 -
STM32通过SPI采集DT50 ADS8320数据
具体目的 使用STM32的SPI通道,采集ADS8320对DT50(激光测距传感器)进行了AD转换之的数据。不要求进行滤波,但采集到的数据要与距离呈正相关。**具体代码**main.h#ifndef _MAIN_H#define _MAIN_H#include "SPI_DMA_Config.h"#include "stm32f10x.h"#includ...原创 2017-07-21 08:48:49 · 3516 阅读 · 12 评论 -
STM32 FSMC LCD 液晶的驱动—ILI9320
转载自 http://ntn314.blog.163.com/blog/static/16174358420117133913845原来老早知道 STM32 具有带4个片选的静态存储器控制器。支持CF卡、SRAM、PSRAM、NOR和NAND存储器并行LCD接口,兼容8080/6800模式这个其实就是FSMC 在这之前我一直使用IO口模拟8080时序感觉操作简单速度也转载 2017-09-08 20:45:20 · 1523 阅读 · 0 评论 -
CCM ——极致发挥STM32F4性能的利器
http://blog.sina.com.cn/s/blog_61332ec601016hj6.html**CCM(Core Coupled Memory)是给F4内核专用的全速64KB RAM, 它们没有经过总线矩阵, F4内核与之直接相连, 地址空间在0x1000_0000 ~ 0x1000_FFFF.由于其地址空间和常规的SRAM不连续, 加之DMA和外设也无法直接使用它们, 就使...转载 2017-11-09 14:22:44 · 2699 阅读 · 0 评论 -
STM32F4实现矩阵键盘
程序中所使用的矩阵键盘所接的引脚为PC4-PC5、PF11-PF15和PG0,接线方法为常规矩阵键盘的接法,PC4、PC5、PF11、PF12为行线PF13、PF14、PF15、PG0为列线。u8 check_Key(void){ GPIO_InitTypeDef GPIO_InitStructure; u8 cord_h=0XFF,cord_...原创 2017-09-11 14:56:09 · 6554 阅读 · 3 评论 -
STM32 中断优先级相关概念与使用笔记
一、基本概念 1.ARM cortex_m3 内核支持 256 个中断(16 个内核+240外部)和可编程 256 级中断优先级 的设置,与其相关的中断控制和中断优先级控制寄存器(NVIC、SYSTICK 等)也都属于 cortex_m3 内核的部分。STM32 采用了 cortex_m3 内核,所以这部分仍旧保留使用,但 STM32 并没有使用cortex_m3 内核全部的东西(如内存保护单元 ...转载 2017-07-10 10:56:24 · 2042 阅读 · 0 评论 -
STM32实现呼吸灯
具体目标利用延时函数模拟PWM输出,变占空比实现呼吸灯源码#define DeyTim 5000void LED(){ int i=1; GPIO_InitTypeDef GPIO_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE |RCC_APB2Periph_GPIOB, ENA...原创 2018-04-16 17:17:58 · 10381 阅读 · 0 评论 -
STM32读取Flash出现乱码,重新刷入进入HardFault
问题描述 之前是在Flash中写入了一些参数,读取一直是正常的,但是今天修改了一些程序后再次刷入程序,跑的时候却发现写在Flash中的参数崩了。 解决方案 Debug观察Flash中的数据,发现在写参数的扇区中的数据变成了乱码,怀疑是刷入了程序,于是检查了程序的大小对比当前Flash的地址,发现果然是程序的大小超过了写参数的Flash地址的大小。 程序总大小 129520+...原创 2018-05-21 14:48:18 · 2666 阅读 · 0 评论 -
STM32F4 程序运行一段时间后死掉 但中断正常响应(串口一直进中断导致程序被卡死)
问题描述 控制系统使用的是STM32F4+UCOSII 抢占型内核,最近一段时间出现了程序跑一段时间之后操作系统直接死掉的问题,表现为:操作系统中设有优先级很低的呼吸灯任务,只要操作系统在正常工作,呼吸灯就会不停的跳动,但是当出现问题时,呼吸灯停止跳动,控制底盘运动的任务也死掉,底盘处于失控状态,LCD所在的任务也死掉,不再进行刷新,推测为所有的操作系统的任务均死掉,不能正常工作,但是中断仍然可...原创 2018-06-05 19:29:21 · 2655 阅读 · 0 评论