![](https://img-blog.csdnimg.cn/20210316170850188.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
STMCUBE_IDE
这款软件非常强大,集合了keil和stmcubemx的功能
HX科技
这个作者很懒,什么都没留下…
展开
-
STM32CUBEMX_SPI_驱动WS2811灯带
关于这种带芯片的之前我都是使用GPIO模拟时序,但是带来一个很大的弊端,那就是严重占用CPU资源,使得其他代码逻辑没办法正常执行了,想办法搞一个单片机的外设使用DMA功能,就可以解决占用资源的问题了,去网上了解了,还真有网友这么干的,参考完之后,自己来干一遍WS2811芯片的一些重要参数:讲解一下怎么使用SPI的发送数据来模拟这个时序:原创 2024-07-21 21:22:15 · 797 阅读 · 0 评论 -
STMCUBEMX_IIC_LL库/HAL库_扫描总线设备
在很多开发过程中,I2C总线上会挂载多个从机设备,但是又不知道设备的地址是多少,我做一个简单的小工具扫描总线,把地址打印出来就很方便。原创 2024-07-09 16:46:23 · 159 阅读 · 0 评论 -
STMCUBEMX_IIC_LL库_AT24C64分页读取和写入
一个项目中构建的软件系统需要存储非常多的用户参数,大约有几千字节,所以牵扯到自己设计跨页写入算法,注意读出也是需要设计跨页读出算法的(手册没强调,但是实际测试结果不分页直接连续读,最多一次性只能读出280个字节,不同厂家的芯片可能有不同)1、分页写入算法。原创 2024-07-05 13:45:11 · 295 阅读 · 0 评论 -
STM32CUBEMX_自研BOOT升级程序
这件事情源自公司一个产品已经开发完成并对外售卖了,只预留了一个USB口用于给单片机升级,但是有个比较坑的点就是,没有预留触发升级的按钮(使用USB插入时产生的5V也可以做一个电平指示),不改硬件的情况下只能通过软件想办法,在APP程序中操作片flash区域,写一个标志位,然后设备重启后会读flash的标志位,从而启动进入DFU模式进行升级,思路是这么个思路,但是不好好考虑其中的逻辑,设备很容易变成砖,最终只能返厂维修了,踩坑过程细节不讲了,直接上经过实践的代码。原创 2023-10-18 10:32:03 · 340 阅读 · 0 评论 -
STM32CUBEMX_DMA串口空闲中断接收+接收发送缓冲区
我了解的串口接收指令的方式有:在这里插入图片描述1、接收数据中断+特定帧尾2、接收数据中断+空闲中断3、DMA接收+空闲中断我最推荐第三种,尤其是数据量比较大且频繁的时候串口配置my_it.c。原创 2023-10-13 13:52:03 · 907 阅读 · 0 评论 -
STMCUBEMX_IIC_DMA_AT24C64读取和写入
2、使用DMA后,程序确实是变快了,但是也要注意一个问题,前一个时刻使用HAL_I2C_Mem_Read_DMA()函数把书从EEPROM读取出来了,下一时刻不能着急立马使用读取出来的值,因为此时DMA正在从IIC外设往内存中搬运数据,要等待DMA搬运完成,而使用HAL_I2C_Mem_Read()读取的话就没有这个问题,因为他是阻塞性函数,只有读取完成了程序才会往下继续执行。1、此例程只是从硬件IIC升级到DMA读写,因为暂时存储的掉电不丢失数据不多,一页就可以够用,不用担心跨页读写的问题。原创 2023-09-08 16:59:40 · 897 阅读 · 3 评论 -
STM32CUBEMX_创建时间片轮询架构的软件框架
然后写一个闪灯的测试程序可以发现整个工程按照我们的意愿编译成功并且可以正常运行。把实际的这两个目录文件夹从别的工程拷贝到本工程根目录下或者是自己新建。1、这种架构避免在更新STM32CUBEMX配置后把用户代码清除掉。2、利用这种时间片的架构可以使得代码架构清晰易于维护。1、使用STM32CUBEMX创建基础工程。开一个只有定时功能的定时器(中断1ms)必须要勾选microlib才能打印日志。3、构建基础的代码框架。添加文件之后的实际效果。2、新建用户代码目录。原创 2023-09-05 15:02:47 · 1091 阅读 · 0 评论 -
STMCUBEMX_串口超时中断接收+解析
1、每字节都会触发中断,并将此字节接收存在数组中。2、当10ms没有数据就会认为此帧数据接收完毕。原创 2023-03-16 11:44:37 · 842 阅读 · 0 评论 -
STMCUBEMX_外部中断_EC11旋转编码器
1、工程配置(给旋钮的两个引脚和按键引脚配置三个外部中断)2、只需要三个中断引脚就可以,采集旋钮的状态和按键状态。1、有按键有滚轮,调节非常方便。原创 2023-03-16 11:29:07 · 654 阅读 · 0 评论 -
STM32CUBE_IIC_读写EEPROM24C64
问题2:时序对了,但是读的数据还一直是0xff(WP是写保护引脚,使用时要拉低)遇到问题1:AT24C02和AT24C64的时序不通用。1、用于存储项目中掉电不能丢失的数据,用户设置数据。原创 2023-03-16 11:15:21 · 1613 阅读 · 1 评论 -
STMCUBEMX_PWM输出
2、输出PWM经过积分电路后,实现可调电压输出。1、输出PWM控制电机速度,控制灯光亮度。原创 2023-03-16 10:54:00 · 169 阅读 · 0 评论 -
STMCUBEMX_定时器1中断
注意:定时器频率 = 72000000/72*1000 = 1000Hz(也就是1ms进一次中断)1、开启定时器用于系统运行时间戳。原创 2023-03-16 10:45:17 · 345 阅读 · 0 评论 -
STM32CUBEMX_DMA_ADC读取NTC温度
STM32CUBEMX_DMA_ADC读取NTC温度原创 2023-03-14 18:09:17 · 674 阅读 · 0 评论 -
STM32CUBEMX_更新工程每次都会删掉用户自己的代码怎么解决?
STM32CUBEMX_更新工程每次都会删掉用户自己的代码怎么解决?原创 2023-03-06 16:19:05 · 4351 阅读 · 2 评论 -
STM32CUBEMX_SDIO和FATFS_读写SD卡
STM32CUBEMX_SDIO和FATFS_读写SD卡原创 2022-12-29 15:33:56 · 1282 阅读 · 0 评论 -
STM32CUBEMX_虚拟串口
STM32CUBEMX_虚拟串口原创 2022-12-15 13:44:05 · 585 阅读 · 0 评论 -
STM32CUBEMX_配置stm32f103c8t6的bootloader_USB升级
STM32CUBEMX_配置stm32f103c8t6的bootloader_USB升级原创 2022-12-12 16:09:24 · 2657 阅读 · 1 评论 -
STM32CUBEMX_日志系统_RTT和串口(重映射浮点数打印)
STM32CUBEMX_日志系统_RTT和串口(重映射浮点数打印)原创 2022-09-15 20:31:47 · 1018 阅读 · 0 评论 -
STM32CUBEMX_新建FREERTOS工程
STM32CUBEMX_新建FREERTOS工程原创 2022-09-15 11:32:06 · 323 阅读 · 0 评论 -
STM32_CUBE_IDE_工程的导入和导出
STM32_CUBE_IDE_工程的导入和导出1、我们写好了代码想要上传到代码仓库共享给别人怎么办,就需要先导出工程再上传而不能直接将工程代码直接上传2、导出工程3、上传到码云仓库4、导入之前导出的工程导出工程导出的文件夹需要上传到码云以便于分享给别人(详情请见gitee使用专栏)导入之前导出的工程或者是将码云仓库克隆下来添加到工程...原创 2021-04-06 19:22:22 · 11610 阅读 · 1 评论 -
STM32CUBE_IDE_创建工程
STM32CUBE_IDE_创建工程1、个人理解是stm32_cube_ide是集成了stm32_cube_mx和keil的功能2、简化来讲就是具有图形化配置和代码编辑器的功能3、下面开始正题,首先新建工程并选芯片4、选工作空间(这里需要注意工作空间是可以更改的)5、自动生成好的项目,可以进行图形化配置,保存后自动更新代码新建工程并选择芯片讲解一下怎么修改工作空间图形化配置再编译一下没有错误没有警告,说明环境没有问题...原创 2021-04-06 18:50:27 · 766 阅读 · 0 评论 -
STM32CUBE_IDE--------点亮操作
STM32CUBE_IDE--------点亮操作1、安装stm32cube_ide需要注意的是安装路径绝不能有中文2、新建工程3、配置工程4、编译下载新建工程配置工程编译并下载下载还是比较坑人的,往往会让升级st_link固件,升级好后就可以下载了,往往只能下载一次,第二次就提示识别不到板子了,这时需要将boot1和boot2都拉高,然后重新上电一次,然后就可以下载了。...原创 2021-03-16 19:36:01 · 150 阅读 · 0 评论