
STM32
amRobinson
这个作者很懒,什么都没留下…
展开
-
【STM32】OLED缓启动的实现
由于设计上的某些原因,OLED供电瞬间会造成系统3.3V电压跌落至2.4V的毛刺。该情况造成了个别模块的复位。基于STM32L072RB平台。其中控制端置低开启OLED,置高关闭OLED。图示中黄线为3.3V系统电压,绿线是OLED供电,蓝线是OLED控制端。增加缓启动之后的波形,系统电压(黄线)趋向平稳:细节图:OLED缓启动实现的代码如下://整个过程耗时110usvoid OLED_POW_CTL_EN(void){ u32 i=0,j=0;...原创 2022-01-25 16:38:36 · 445 阅读 · 0 评论 -
ucos平台上 printf 输出浮点数据float出错
先说解决办法:在任务堆栈定义前增加__align(8),使其8字节对齐。__align(8) static OS_STK AppTaskStartStk[APP_TASK_START_STK_SIZE];再说遇到的实际问题:使用C库函数重映射到串口输出浮点数据打印异常,整型数据则没问题。函数如下:实际输出结果:原因分析:将上述打印函数放在ucos系统任务前调用,则没问题。初步判定问题出在ucos系统上,后经多方查证,确认需要对ucos系统任务的堆栈函数进行8字节对齐处理.原创 2021-12-31 16:22:06 · 1005 阅读 · 0 评论 -
【STM32】系统时钟翻倍的问题
在调试STM32的程序时候发现,实际的串口波特率跟配置的要大一倍,检查了所有关于系统时钟的配置后发现,如下图所示位置需要同步修改。原创 2021-12-21 11:10:01 · 404 阅读 · 0 评论 -
CoIDE在STM32系列单片机中的使用实践
CoIDE在STM32系列单片机中的使用实践Posted on2016-03-26 09:54shuolang 阅读(2868) 评论(1)编辑收藏举报 这一段时间找到CoIDE,发现其真的挺好用,编辑界面比Keil功能强大。因此把实际操作过程记录下来。CoIDE 是CooCox专业打造的一款免费的ARMCortexMCU嵌入式集成开发环境(Integrated Development Environment,IDE)。CoIDE集成了CoBuilder和CoDebug...转载 2021-11-16 10:01:49 · 466 阅读 · 0 评论 -
[STM32]关于环形队列的实现
在程序中使用环形队列判断接收数据格式,避免在中断中处理造成程序响应速度慢的问题。直接贴代码:LoopRxCommu.h#ifndef __LOOPRXCOMMU_H#define __LOOPRXCOMMU_H#include "hal_types.h" typedef struct{ volatile u16 out;//环形队列头 volatile u16 in;//环形队列尾(输入数据位置) volatile u8 *rbuf;//环形队列指针 volatile u16原创 2021-10-08 11:33:45 · 867 阅读 · 0 评论 -
【STM32】低功耗配置说明
本文只作为回顾自己在做低功耗设备时要点的备忘。1.硬件方面:MCU使用的是STM32L072系列低功耗单片机。裸机功耗在uA级别。各外设供电采用MOS管进行控制,如下图所示。2.软件方面:先将所有外部引脚配置为“模拟输入”模式,只有需要做唤醒用的引脚才配置为中断模式。然后采用停止模式,如下:void enterSleep(void){ HAL_SuspendTick(); //必须先关掉tick中断 /* Enable Power Contro...原创 2021-09-30 14:41:42 · 2538 阅读 · 0 评论 -
【STM32】【USB】STM32L072芯片USB驱动移植
1.在项目工程中添加如下文件。2.stm32l0xx_it.c文件中添加USB_IRQHandler()函数。3.编写并添加bsp_usb.c文件。4.最后将BSP_USB_DEVICE_Init()函数添加进初始化中即可。原创 2020-12-30 16:16:07 · 548 阅读 · 0 评论 -
【STM32】【USB】USB设备描述符 更改传输数据包大小
下图所示为STM32L072RB单片机中针对USB设备描述符的修改说明,实测更改下发数据包大小为256字节可行。原创 2020-03-17 15:03:59 · 1933 阅读 · 2 评论 -
【TCP】【JPerf】基于STM32H7开发板的TCP性能测试
1.源码已上传,见路径https://download.youkuaiyun.com/download/guanlizhongxintishi/111976382.使用jperf-2.0.0工具对开发板进行TCP模式下带宽测试。3.关于TCP的程序借鉴了原子哥的程序《网络实验13 NETCONN_TCP 服务器(UCOSII版本)》,同时也参照了《嵌入式网络那些事》-13.4.3TCP性能测试章节。最...原创 2019-05-25 21:23:17 · 1209 阅读 · 0 评论 -
【STM32】ADC采样时间、采样周期、采样频率计算方法
文章转自:http://www.21ic.com/jichuzhishi/mcu/series/2017-06-26/726261.htmlADC转换就是输入模拟的信号量,单片机转换成数字量。读取数字量必须等转换完成后,完成一个通道的读取叫做采样周期。采样周期一般来说=转换时间+读取时间。而转换时间=采样时间+12.5个时钟周期。采样时间是你通过寄存器告诉STM32采样模拟量的时间,...转载 2019-03-21 21:46:22 · 12342 阅读 · 0 评论 -
【STM32】独立IWDG/窗口WWDG看门狗的喂狗时间计算公式
独立看门狗(IWDG)Tout=((4×2^prer) ×rlr) /32Khz独立看门狗由内部专门的 32Khz 低速时钟(LSI)驱动。其中 Tout 为看门狗溢出时间(单位为 s);prer 为看门狗时钟预分频值(IWDG_PR 值),范围为 0~7;(4×2^prer)整体为实际预分频值,预分频值可取值为4/8/16/32/64/128/256。rlr 为看门狗的重...原创 2019-03-02 19:51:22 · 14763 阅读 · 2 评论 -
【STM32】【keil5】keil5编译STM32H743II速度超级慢的处理办法
如图所示,取消勾选项。注:取消之后,就无法使用keil进行函数定义的查看了。可借助source insight工具查看代码。原创 2019-02-24 09:34:28 · 7730 阅读 · 0 评论 -
【STM32】printf函数输出到串口的实现方法
C语言中的标准库中所用的标准输出函数,默认的输出设备是显示器,要实现串口或LCD的输出,必须重新定义标准库函数里与输出函数相关的函数。例如:printf输出到串口,需要将fputc里面的输出指向串口(重定向),实现代码如下:#ifdef __GNUC__ /* With GCC/RAISONANCE, small printf (option LD Linker->Librarie...转载 2019-02-17 20:48:27 · 3530 阅读 · 0 评论 -
【STM32】【USB】一步步实现stm32cube的usb之CUSTOM_HID当串口使用 (stm32F407discoery板)
注:本篇文章转载自http://www.stm32cube.com/question/527我按照该文章配置STM32F103ZE开发板可行。有两点补充:一、调试的时候要注意将编译等级修改为0级;二、CUSTOM_HID_EPIN_SIZE及CUSTOM_HID_EPOUT_SIZE宏定义修改为0X40。以下为转载内容:每次用串口调试感觉麻烦死了,尤其是电脑上没有串口,...转载 2019-02-22 17:20:54 · 6842 阅读 · 3 评论 -
【STM32】【USB】使用STM32CubeMx配置HID模式,电脑无法识别USB设备的问题分析
使用STM32CubeMx工具配置STM32F103ZE芯片,在HID模式下,电脑不能识别到USB设备。经分析跟DP线有关。硬件板的设计是 STM32F103ZE芯片+FE2_QFP48(USB hub芯片)。其中:PA11-->USB_DMPA12-->USB_DPPG8-->USB_CTRL(CTRL=1时DP悬空,CTRL=0时DP被上拉)若想使电脑...原创 2019-02-22 14:35:48 · 7599 阅读 · 1 评论