
STM32
文章平均质量分 66
silent_dusbin
这个作者很懒,什么都没留下…
展开
-
裸机条件下写一个基于时间片轮转的多任务并发程序
在学习各种MCU的时候,都是用在main函数里写一个while(1){/* 执行代码 */},这种方式只能一个函数运行完以后再运行另一个函数。假设需求控制多个模块,如显示屏幕信息的同时控制电机,还要一边接收按键输入。如果用上面的方式每个模块要排队等待CPU运行,就会显的很卡。那有没有办法每个模块运行固定的时间,时间到了运行下一个模块,这样单个模块即使特别耗时,也不影响其他模块的运行,这个方法叫时间片轮转。想到这个办法很容易,但要怎么编写代码呢?原创 2023-03-24 16:51:43 · 1793 阅读 · 2 评论 -
RTthread msh控制台的密码设置
rtthread msh 密码管理原创 2022-10-18 17:02:49 · 1000 阅读 · 0 评论 -
stm32f4 CubeMX生成IAR工程 移植ST官方 Bootloader 教程
目录一、前言二、CubeMX生成 IAR 工程1.CubeMX生成工程2.官方的IAP例程三、移植bootloader1.移植相关代码2.flash_if.h文件修改3.准备App程序4.烧录*.bin四、调试及其他注意事项1.中断向量表偏移没设对2.进入App后时钟起不来或时钟混乱3.在bootloader的工程里怎么调试app程序一、前言产品发布后的升级不能再依赖于烧录器,如果能用产品预留的串口就可以更新芯片的APP程序,对于一些不便于拆卸的产品,这种维护方式非常好用。bootloader的代码有原创 2022-03-15 22:04:44 · 5003 阅读 · 0 评论 -
stm32 RCC global interrupt 等不常见中断
stm32中断向量表里有很多中断都很少碰到,但是在CubeMX配置的时候又有本篇文章来记录下stm32 不常见中断1.RCC global interrupt中文资料中基本上没有提及这个中断。我在外网EMCU这个网站找到对于这个中断的叙述,大意是CubeMX配置了RCC global interrupt中断后,当在程序执行过程中改变时钟速度配置的时候会在时钟配置操作结束进入这个中断。看上去是时钟在降频升频过程中调用的中断,本人没有触发过,有用到的小伙伴可以补充下。In the RCC – NVI原创 2022-03-15 15:50:38 · 4349 阅读 · 0 评论 -
基于STM32F103C8T6+uC/OS-II的例程笔记(二)
请大家先想一下,为什么想学uc/OS-II?在通过例程学习单片机的时候有没有这样的疑问,为什么例程是一个个孤立的呢,能否整合在一起?RTOS就是这样一个多线程运行的好工具,我选取UCOS来实现,这篇文章主要是以uc/OS-II来讲,想更深入可以继续学uc/OS-III,有时间片轮转的新功能。一.首先是将ucosII移植到STM32C8T6上来,原来黄老师用的编译器是IAR,这里也选用IAR的u...原创 2019-01-25 00:59:31 · 3006 阅读 · 0 评论 -
基于STM32F103C8T6+uC/OS-II的例程笔记(三)
上一篇讲了UCOS的移植和多线程程序的编写,如果是刚开始接触实时操作系统,一定对其中的多线程很好奇,到底是怎么实现的呢?首先要了解两个指针,一个是PC指针存放在R15寄存器,另一个是SP指针存放在R13寄存器。下面三点对理解程序切换很重要:1.PC是个指路器,它指向哪儿,处理器就运行哪儿的。哪个程序占有了PC,哪个程序就占有了处理器。所谓的切换就是 PC<-目标地址。系统是通过把待运...原创 2019-01-26 00:09:58 · 927 阅读 · 0 评论 -
基于STM32F103C8T6+uC/OS-II的例程笔记(一)
大家好,在学习STM32和RTOS(uC/OS-II)的过程中遇到了很多问题,这里把本人的学习例程分享给大家,希望对学习STM32的同学有所启示。最后祝您学业有成,工作顺利。首先感谢黄琦龙老师设计的PCB,这里把原理图和layout图截图放一下,给大家了解下PCB上提供的资源。1.核心版+底板,提供的资源有STM32C8T6和晶振2.LCD+LED+Key+Beep+USART接口PCB...原创 2019-01-23 00:58:34 · 3364 阅读 · 0 评论