田帅康学习笔记

记录一下MiWi协议的Mesh

将手册翻译成中文并做记录,网页版布局莫名其妙,笔记word放在文档末尾MiWi是一种类似于ZigBee的网络协议,也可以用来Mesh组网,本篇博客仅仅翻译了微芯手册的第五章Mesh部分MiWi组建mesh网络1、MiWiMesh设备类型MiWiMesh协议支持以下设备类型:1.1局域网协调员1.1开始建立一个网络1.2分配和维护协调器及其终端设备地址1.3作为路由帧的协调器1.4通过调试控制可纳入

- 阅读全文 -

一个简单的log打印代码

在某些情况下调试中,我们希望输出更详细的信息,可以通过C语言给出的宏定义来简单实现,具体可以打印出当前的文件与代码行数,示例如下:#include <stdio.h> #define DEBUG_ENABLE #ifdef DEBUG_ENABLE #define DEBUG(format,...) printf("File: "__FILE__", Li

- 阅读全文 -

谈一谈对模拟对讲机的理解

谈一谈对模拟对讲机的理解一个好用的对讲机首先包含的基本功能:对讲发送、对讲接受、频率设置、音量设置、低功耗功能。高级功能:尾音抑制、哑音功能、免按键通话、宽窄带切换、遇忙禁发、批量配置最开始我认为所有的音频信号需要经过单片机处理,可能涉及到信号采集、解码编码、模拟发送等功能,现在看来以前的理解是错误的,在现在什么东西都模块化的时代,使用的是独立的对讲芯片完成这些功能,一个对讲芯片就可以完成上述所有

- 阅读全文 -

cubeide自动化脚本编译下载程序

STM32cubeide在使用时不是很方便,一般都是用外部编辑器进行编程,在必要时才才使用这个ide。自己写了一个批处理脚本,调用的是cubeide的无头编译模式,下载使用的stm32programmer的命令行模式,具体脚本在这里:@echo off echo ----------welcome to tsk tool--------- %设定临时环境变量% set PATH=C:\Prog

- 阅读全文 -

移植QP层次状态机框架到STM32

什么是QP?上一个博客我提到了在复杂程序中使用状态机的好处,可以使复杂的逻辑在编程时更加清晰,上文中时用到的是FSM有限状态机框架,但是在更加复杂的情况下,可以使用层次状态机,说白了就是状态机中的状态机,最近这两天都在看这个框架,但是以后估计不会用到了,写一篇博客来记录一下学习过程。使用在STM32上可以使用QPC或者是QPN(QP-nano),这篇博客主要是讲一下怎样移植到STM32上,其中QP

- 阅读全文 -

最近遇到的关于STM32串口的问题

1、串口重定向问题,在MDK与STM32cubeide中,存在编译器不同的问题,因此MDK上使用的串口重定向在cubeide上不能正常工作,使用这个代码可以实现全兼容。#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&

- 阅读全文 -

今天碰到的DMA多通道采集的问题

今天使用STM32L432开启多路ADC采集,本以为很简单结果还是遇到了大坑,一直卡死在HAL_ADC_Start_DMA函数,需要注意以下问题:1、DMA开启循环采集模式,字节选择半字,ADC中断关掉。2、在cubemx中,DMA中断无法关闭,在MX_DMA_Init()函数中关掉DMA的中断://HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);

- 阅读全文 -

STM32中使用低功耗的延时方法

上文说了STM32L4的几种低功耗模式,将其应用起来作为一个低功耗的延时方案。为什么使用低功耗定时器,在追求长时间续航时,单片机有时需要切换到低功耗模式或者停止模式下,在这种模式下,系统主时钟关闭,有一些依赖于系统主时钟的应用程序,可能会发生出现某些奇怪的情况。因此在休眠唤醒后对主时钟进行校准,防止出现莫名其妙的BUG。LPTIM全称:Low Power TIM ,我们将其运行在计数模式下,其时钟

- 阅读全文 -

STM32L4低功耗模式及区别

STM32低功耗介绍:STM32L4系列单片机总共有9中低功耗模式:1、Sleep mode:CPU时钟关闭,IO口保持与运行状态相同的状态。可由wake事件,NVIC,SysTick,外部中断等,无唤醒时间,唤醒后执行唤醒源中断回调函数(和标准库中断服务函数功能一样,但意义不同),然后按原来代码执行。2、Low-power run mode: 当系统时钟频率降低到2MHZ以下时,即可实现此模式。

- 阅读全文 -

LVGL显示进度条动画

在单片机中显示动画是一件很浪费资源的事情,在那个小小的flash中存入一大坨数据是相当费力地,因此就进度条动画而言,有一种相当简单的实现方式,就是重复移动整个图片然后遮住某个部分,例如这个样子:动图中可以看到在被遮住后,达到了动画的效果实现该功能并且封装成函数:/* *函数说明:这个函数用来在屏幕上显示进度条动画,旨在节省资源 *参数传入:1、父对象;2、图片内容3、原始图片被分成几部分了(备注详

- 阅读全文 -

最新文章

最近回复

  • 燕康小子: 请这位仁兄也发一份代码给我哈 我的邮箱 1915891329@q...
  • lionel: 你好,也在西安吗?想找你学习下esp32相关的功能开发,方便吗
  • cyqand: 大佬,为啥我使用这个代码做出来的录音正常电脑服务端可以收到,但是...
  • jimmy: 大哥,也发我一份语音对讲的demo源码 我的邮箱:1026647...
  • 树莓: 在port里面,将fs_seek绑定回调后,并且注册为存储设备,...
  • : 你好,这些接口如fs_seek在lvgl内部怎么调用呢?方便话想...
  • cc: 你好,可以把源码也发我一份吗,邮箱:1826683460@qq....
  • john_yike: 没有找到windows版本哦
  • oMMh: 现在是不是没有Windows版本了,在https://www.e...
  • lei: GitLab登不上去 能一份 915696525@qq.com

分类

标签

归档

其它