- 博客(20)
- 资源 (6)
- 收藏
- 关注
原创 基于stm32f4串油逻辑的实现2
最近在项目中,需要再写一个油箱串油的程序。相比于上一次的串油系统,传感器方面,少了流量计采集,即完全采用液位计来反映油箱余量。串油示意如下图:当主油箱液面下降5%时,由备用油箱向主油箱串油,直至主油箱恢复到初始油面。软件实现过程中,也是用到了1个逻辑处理线程,2个定时器。其中1个逻辑处理线程完成液位计液面串油逻辑判断及计算油箱初始余量,2个1秒定时器分别用于计算开始泵油中间变量,及停止泵油中间变量。
2023-11-27 13:37:09
161
原创 基于stm32f4的按键检测
基于stm32f4的按键检测所谓按键检测,即是检测按键是长按,还是短按。(长按、短按由按键的时间的长短来衡量)通过查阅相关资料,找到了两种比较好理解的按键检测方法。一种是通过输入捕获的方式检测按键按下前后的电平转换时间,来判断按键是长按还是短按;另外一种是通过将按键扫描函数放在定时器中断里,检测按键按下前后的电平转换时间,进而判断按键状态 。但总的来说,以上这两种方式所用的方法是类似的,即通过检测电平转换时间的长短,从而确定按键是长按还是短按。第一种方式对应部分源码如下: long long t
2022-05-14 13:26:56
2150
1
原创 STM32F429-HAL库片内FLASH实验
今天学习到STM32F4系列的片内FLASH资源。它有1M字节的主存储器容量,在不影响代码存储的前提下,可保存部分数据。本实验用到的是STM32F429IGT6,它有1个BANK,分为12个扇区。具体可参考STM32F4xx中文参考手册。 对于片内FLASH,主要有擦除编写和读取操作。擦除一般以扇区为单位,在编写之前,将4k的扇区擦除。读取就是从某个地址addr,读取一个字,可用如下语句实现,data=*(vu32*)addr。 以上,大致回顾了片内FLASH 的两种操作。在代码里的...
2021-04-07 15:26:51
1889
原创 基于STM32F429HAL库的CAN通信代码
基于STM32F429HAL库的CAN通信代码* 最近在学正点原子阿波罗STM32F429开发板的CAN通信章节,例程里只提供了查询方式实现的CAN通信实验。昨天又复习了一遍UART串口实验的中断例程,原子哥手把手地讲了串口接收中断的实现。基于此,在正点原子代码基础上,编写了CAN通信接收中断处理方式的部分代码。 直接上can.c的代码,如下,#include "can.h"#include “usart.h”#include “delay.h”#include “led.h”#includ
2021-03-29 19:47:00
2215
1
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人