MCU
fox0815
这个作者很懒,什么都没留下…
展开
-
rt-thread全局中断屏蔽改为设置BASEPRI屏蔽部分中断,解决内核频繁开关全局中断影响精密计时问题
解决rtthread内核调度频繁关闭中断,导致系统精密计时被破坏问题原创 2024-01-18 20:17:37 · 626 阅读 · 1 评论 -
lvgl怎样修改小控件table的行高
修改lvgl框架中table行高原创 2022-12-31 16:32:28 · 1138 阅读 · 1 评论 -
stm32 hal库+EasyFlash数据库完成片内FLASH的读写工作
对stm32偏上flash的管理是一个很费劲的工作,尤其是写入数据较多时,需要创建大量的偏移量、缓存量等辅助变量。使用轻型、微型数据库可以有效解决这个问题。我使用ArmInk大佬的EasyFlash数据库来管理stm32 片上flash。gitee链接:https://gitee.com/ArminkEasyFlash很轻型,基本不增加RAM占用,增加少量FLASH占用,移植难度较低。EasyFlash的移植工作由以下几部分组成:1,gitee(github也可以,但gitee访问速度更原创 2020-07-10 17:21:16 · 5501 阅读 · 2 评论 -
stm32定时器级联 TIM级联 组成32位定时器
某些低成本版stm32芯片(比如F1系列)不具有32位计时器,自带的TIM均为16位。当你需要进行某些同时需要精度与时长的计时内容时,16位计时器并不够用(72M频率不分频直接计数,那么计满16位定时器只需要910us,如果是32位呢,需要59.6s,对于某些毫秒级高精度计时来说,使用32位定时器还是很有必要的。甚至,你还可以继续级联,用3个计时器组成48位计时器,当然我只测试到了48位,只用到32位,更多级联有待测试。测试效果: TIM1由72M系统时钟直接驱动,TIM2由TIM1计满产生的信号驱原创 2020-06-27 11:42:30 · 7414 阅读 · 3 评论 -
stm32串口接收不定长内容,不使用DMA
项目做到一半,碰到个尴尬问题:PWM使用的DMA通道与串口接收的DMA通道撞车了,咋办?考虑一下,决定放弃idle中断+dma的串口不定长数据接收方案,回到中断接收去。中断接收函数HAL_UART_RECEIVE_IT函数是个定长接收函数,除非把接收长度设为1。由于我使用freertos系统,打断系统的时间应尽可能少,频率尽可能低。每个字节都进一次hal库的接收处理函数,进行各种判断实在是不友好,因此考虑跳过hal的串口处理部分,直接判断uart_flag_rxne标志位与uart_flag_idl原创 2020-05-31 21:45:26 · 680 阅读 · 0 评论 -
stm32开发环境:vs201x+visualGDB+cubemx开发stm32程序
上次折腾足足1天没有搭起来开发环境,最终不得不屈服于keil。心里憋屈啊。今天重打锣鼓,再战,终于跑通vs2019+cubemx的stm32开发环境。话说自从使用vs2019+c#开发过上位机后,就对vs智能的代码补全等编程辅助功能非常感兴趣。对比之下keil的编辑辅助功能就是一坨翔,无比想把mcu开发环境从keil上迁移出来。考虑过vscode,但看开发个单片机又要搞python,又要写...原创 2020-02-20 22:31:44 · 2522 阅读 · 3 评论 -
stm32学习笔记1:freeRTOS-1
freeRTOS的移植工作交由cubemx完成;注意考虑freeRTOS对arm compiler6以上版本的匹配工作;这里主要讨论freeRTOS的结构。用户进程可以在cubemx里直接定义出来,但是对于需要在程序中开启或关闭的进程,就得熟悉进程启动相关流程了。1,建立一个osThreadID_t2,建立一个osThreadAttr_t结构体,描述进程相关参数;3,声...原创 2020-02-19 20:17:08 · 925 阅读 · 0 评论 -
stm32的复位电路问题
现在比较流行的复位方式是这样的:但我们都知道对于结构紧凑型硬件来说,多一个电阻都是没必要的。在没有手动复位需求的场合,能不能删掉按键与R24,仅保留104电容?通过阅读stm32 pdf,其rst引脚内部是有上拉电阻的。只有在认为上拉电流不足情况下才有必要外接上拉电阻。因此,rst电路仅保留一个104电容是可行的。我设计的电路中删掉10k上拉电阻后,芯片也可以正常启动、烧写、复位并...原创 2020-02-19 11:42:53 · 5399 阅读 · 0 评论 -
keil + stm32 + cubemx + FreeRTos + arm compiler6.13环境配置笔记
新项目的开发工具原打算用vs2019+visualGDB+cubeMX,配置两天未成功,遂继续使用keil了。据说最新版keil带的arm compiler6 变异速度相比原来的ac5提高不少,于是考虑使用cubemx生成带freeRTOS的工程,并使用keil编译。期间出现一些问题,于此记录。1,cubemx生成工程,没啥可说的,一路点点点即可;2,keil5.29(最新版)直接编译...原创 2020-02-19 11:26:49 · 2160 阅读 · 0 评论 -
st公司stm32MCU,cubemx创建工程,Drivers文件夹下内容不可见问题的描述与粗略解决方法
st公司推行hal库代替std库,新的mcu不再支持std库文件,这就逼着mcu的开发人员主动使用hal库。hal库比较省心,st也比较推荐的方法是使用cubemx程序创建。配置好管脚,外设,频率,估算好电压等参数后可以直接生成工程文档,比较方便。这里需要注意的问题有,cubemx设置的频率,尤其是如外部时钟这种,会影响mcu内部波特率、systick频率的计算,最好是与实际晶振频率一致。...原创 2019-03-04 15:06:19 · 1570 阅读 · 0 评论