- 博客(5)
- 资源 (3)
- 问答 (1)
- 收藏
- 关注
原创 一个短小精悍的非阻塞软定时器。
这样会造成执行效率的下降,而且中断看起来也乱糟糟的,如果我们直接使用阻塞延时,又会导致其他任务得不到及时处理。为了综合考虑我们还是要利用定时器来进行计数,所以我们先定义一个变量AppTimer,这时候我们又想到一个问题。因为我们要判断定时器是不是空闲的,假如>1说明正在定时中,等于1说明定时已经完成了。我们读完以后总得直到他到底是个什么状态吧,在我的项目里一般每个函数我都会加一个AppStaType判断函数的执行状态,具体定义如下。至此,一个开启,查询式的软定时器就完事了。使用,也可以配合状态机使用。
2023-04-07 09:52:26
352
原创 STM32L433低功耗模式(STOP2)使用与注意事项
所以LCD中断,RTC中断,外部中断都可以唤醒,因为我们要定时上传数据,所以选定RTC中断,RTC中断有两种,一个是闹钟,一个是周期性的定时。我们不需要精准的时间点唤醒,只需要一个固定的周期就可以了。因为我们用到LCD段码屏显示,而L433自身就可以直接驱动LCD屏幕,并且进入低功耗模式不会影响到屏幕的显示。在需要休眠之前,我们还需要做一些工作,比如释放掉用不到的GPIO,外设等资源,进一步控制功耗(按需处理)。3.恢复后的代码是从唤醒终端开始执行的,我们中断啥都没做,所以是从休眠后的第一句执行的。
2023-04-01 17:27:48
2601
5
原创 适合单片机使用的一个短小精悍的时间片轮询系统
随着单片机外设的日益丰富,以及RAM,ROM的增大。RTOS实时操作系统被越来越广泛的使用。实时操作系统对任务的实时性高效处理是毋容置疑的!但是有更多的情况我们仅仅需要一个短小精悍的轮询系统,比如实时要求不高的任务,受限内存的51系列单片机,任务较少的项目,入门不不久新朋友。相对于实时操作系统,裸机开发更简单,更快捷,代码更精简,代码执行效率更高!在逻辑不是特别复杂,要求不是特别高的情况下,裸机开发反而更适合项目需求!废话不多说先上连接点此免费下载源代码在STC官方库......
2022-05-13 16:19:30
2768
7
原创 51单片机非阻塞串口中断收发数据
51单片机是指8051内核的8位单片机,因其内部结构相对简单,成本低廉,所以应用非常广泛!串口作为单片机最基本的通信接口,无论是开发调试,日常使用都是用得比较频繁的一个基本外设!但是很多教程包括官方提供的资料都是使用查询法发送数据!基本流程就是等待忙闲标志归0,忙闲标志置1,写SBUF寄存器,等待发送完成进入中断,忙闲标志清零。发送下一字节。#include "reg51.h"#include "intrins.h"#define FOSC 11059200UL...
2022-05-09 09:59:42
3631
8
原创 24ri01调试记录
最近有个项目用到无线透传模组,综合考虑选定了集芯微g01dp3.按照手册配置好后无反应,经排查发送时电压极其不稳定,一定要多加电容,加强供电!因为要双向通信,所以要切换收发模式,此处重点注意要清中断,清fifo。后来发现能通信但是每次发送都是max,也就说ack校验失败,后来调整接收周期要比发送周期短才行。注意1117供电坚决不能把功率开到最大!否则返回max...
2021-09-05 19:53:53
167
1
AS5600中文数据手册
2024-05-11
ad电阻电容标准封装库
2022-05-18
51单片机非阻塞串口发送源码
2022-05-09
谁推荐一个小电容的检测芯片或者电路
2022-08-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人