最近遇到的关于STM32串口的问题
1、串口重定向问题,在MDK与STM32cubeide中,存在编译器不同的问题,因此MDK上使用的串口重定向在cubeide上不能正常工作,使用这个代码可以实现全兼容。#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&
1、串口重定向问题,在MDK与STM32cubeide中,存在编译器不同的问题,因此MDK上使用的串口重定向在cubeide上不能正常工作,使用这个代码可以实现全兼容。#ifdef __GNUC__ #define PUTCHAR_PROTOTYPE int __io_putchar(int ch) PUTCHAR_PROTOTYPE { HAL_UART_Transmit(&
今天使用STM32L432开启多路ADC采集,本以为很简单结果还是遇到了大坑,一直卡死在HAL_ADC_Start_DMA函数,需要注意以下问题:1、DMA开启循环采集模式,字节选择半字,ADC中断关掉。2、在cubemx中,DMA中断无法关闭,在MX_DMA_Init()函数中关掉DMA的中断://HAL_NVIC_EnableIRQ(DMA1_Channel1_IRQn);
上文说了STM32L4的几种低功耗模式,将其应用起来作为一个低功耗的延时方案。为什么使用低功耗定时器,在追求长时间续航时,单片机有时需要切换到低功耗模式或者停止模式下,在这种模式下,系统主时钟关闭,有一些依赖于系统主时钟的应用程序,可能会发生出现某些奇怪的情况。因此在休眠唤醒后对主时钟进行校准,防止出现莫名其妙的BUG。LPTIM全称:Low Power TIM ,我们将其运行在计数模式下,其时钟
STM32低功耗介绍:STM32L4系列单片机总共有9中低功耗模式:1、Sleep mode:CPU时钟关闭,IO口保持与运行状态相同的状态。可由wake事件,NVIC,SysTick,外部中断等,无唤醒时间,唤醒后执行唤醒源中断回调函数(和标准库中断服务函数功能一样,但意义不同),然后按原来代码执行。2、Low-power run mode: 当系统时钟频率降低到2MHZ以下时,即可实现此模式。
在单片机中显示动画是一件很浪费资源的事情,在那个小小的flash中存入一大坨数据是相当费力地,因此就进度条动画而言,有一种相当简单的实现方式,就是重复移动整个图片然后遮住某个部分,例如这个样子:动图中可以看到在被遮住后,达到了动画的效果实现该功能并且封装成函数:/* *函数说明:这个函数用来在屏幕上显示进度条动画,旨在节省资源 *参数传入:1、父对象;2、图片内容3、原始图片被分成几部分了(备注详
Workspace:工作区Index / Stage:暂存区Repository:仓库区(或本地仓库)Remote:远程仓库设置标识符,让别人知道你是谁:git config --global user.name "tianshuaikang" git config --global user.email tianshuaikang@ifengyu.com 创建版本库:在文件