自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 rt-thread全局中断屏蔽改为设置BASEPRI屏蔽部分中断,解决内核频繁开关全局中断影响精密计时问题

解决rtthread内核调度频繁关闭中断,导致系统精密计时被破坏问题

2024-01-18 20:17:37 693 1

原创 CPP编程中交叉引用问题

Cpp编程中交叉引用

2023-11-10 17:55:42 138 1

原创 lvgl怎样修改小控件table的行高

修改lvgl框架中table行高

2022-12-31 16:32:28 1220 1

原创 硬件电路-MP2451组成的电压反转/极性反转电路设计

板上要集成一个±18V供电的模拟信号处理电路,包括线圈驱动、小信号拾取、滤波、二级放大等部分。因此,需要板上提供±18V电源。正负电压需要分开控制,因为正电压需要兼作485传感器供电,此时关闭负电压部分节省耗电以及保护模拟端。boost升压单路+倍压整流电路器件少、结构简单,便于调试。但该电路负电源部分纹波较大,供电能力较差,不方便独立控制。因此放弃。想起之前34063,一枚芯片即可以实现升压,也可以降压,还能反转。参考一下34063电路:此时,34063以buck电路模式工作。芯片

2021-02-18 01:04:25 8741 5

原创 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 5705 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 7622 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 698

原创 stm32开发环境:vs201x+visualGDB+cubemx开发stm32程序

上次折腾足足1天没有搭起来开发环境,最终不得不屈服于keil。心里憋屈啊。今天重打锣鼓,再战,终于跑通vs2019+cubemx的stm32开发环境。话说自从使用vs2019+c#开发过上位机后,就对vs智能的代码补全等编程辅助功能非常感兴趣。对比之下keil的编辑辅助功能就是一坨翔,无比想把mcu开发环境从keil上迁移出来。考虑过vscode,但看开发个单片机又要搞python,又要写...

2020-02-20 22:31:44 2581 3

原创 stm32学习笔记1:freeRTOS-1

freeRTOS的移植工作交由cubemx完成;注意考虑freeRTOS对arm compiler6以上版本的匹配工作;这里主要讨论freeRTOS的结构。用户进程可以在cubemx里直接定义出来,但是对于需要在程序中开启或关闭的进程,就得熟悉进程启动相关流程了。1,建立一个osThreadID_t2,建立一个osThreadAttr_t结构体,描述进程相关参数;3,声...

2020-02-19 20:17:08 981

原创 stm32的复位电路问题

现在比较流行的复位方式是这样的:但我们都知道对于结构紧凑型硬件来说,多一个电阻都是没必要的。在没有手动复位需求的场合,能不能删掉按键与R24,仅保留104电容?通过阅读stm32 pdf,其rst引脚内部是有上拉电阻的。只有在认为上拉电流不足情况下才有必要外接上拉电阻。因此,rst电路仅保留一个104电容是可行的。我设计的电路中删掉10k上拉电阻后,芯片也可以正常启动、烧写、复位并...

2020-02-19 11:42:53 5468

原创 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 2200

原创 st公司stm32MCU,cubemx创建工程,Drivers文件夹下内容不可见问题的描述与粗略解决方法

st公司推行hal库代替std库,新的mcu不再支持std库文件,这就逼着mcu的开发人员主动使用hal库。hal库比较省心,st也比较推荐的方法是使用cubemx程序创建。配置好管脚,外设,频率,估算好电压等参数后可以直接生成工程文档,比较方便。这里需要注意的问题有,cubemx设置的频率,尤其是如外部时钟这种,会影响mcu内部波特率、systick频率的计算,最好是与实际晶振频率一致。...

2019-03-04 15:06:19 1613

原创 OpenCV系列【2】,一个简单定标并储存结果的程序

基于张正友定标法的Opencv3.1定标程序,先用findchessboard找到棋盘,用cornersubpix做亚像素定位,再用calibrateCamera进行定标,最后将定标结果储存在xml文件里程序基于vs2013和opencv3.1,要注意的是3.1根之前2XX系列很多地方不同,很多函数不同,具体情况看代码,新手,难免犯诸如switch语句没有default之类的错误,大神看见

2016-03-31 10:08:53 1849

原创 OpenCV系列:【1】,OpenCV3.1与opencv_contrib

刚刚开始学习Opencv,在此立帖为证。个人推荐毛星云的Opencv3.0的教材,内容容易理解例子很多,非常适合新手上手,当然,最好有点c++编程基础。前边1-10章不说,照着一路敲代码就可以,重点说一下11章非常不幸地,类似surf,flann这类重要的特征匹配算法,Opencv开发者在Opencv3.0版本之后残忍地将它们从Opencv官方库移除了。所以,我推荐那本书里,作者在

2016-03-17 20:17:36 1640

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除