醋醋百科网

Good Luck To You!

在 STM32 开发里,RTOS 真比裸机编程更有优势?别盲目迷信!

好多搞 STM32 开发的兄弟总觉得,上 RTOS 就跟穿西装打领带似的,立马显得高级了,仿佛不用多线程任务调度就是技术不够硬。但咱摸着 STM32 的寄存器说话,这玩意真的像宣传的那样,在 MCU 上比裸机编程强出天际吗?未必见得。

先看看手里那点可怜的资源 ——STM32F103 也就几十 KB 的 RAM,Flash 撑死几百 KB。好些人一上来就开三四个线程,串口收数据开一个,LED 闪烁开一个,传感器采集开一个,觉得这样 “各司其职” 才专业。可每个线程都得扒拉独立的 stack 啊,一个线程分 5KB 栈,四个线程就是 20KB,再加上 RTOS 内核自己占的内存,小容量 MCU 的 RAM 直接被啃掉一半。更坑的是多线程那套同步机制,新手觉得写个互斥锁就能万事大吉,结果两个线程改同一个全局变量时,时而数据错位时而程序卡死,debug 时仿真器跑着正常,一上板子就翻车。你以为加个延时函数就能避免竞争?too young,三个以上线程的同步问题能让你半夜对着示波器抓头发,这复杂度可不是线性增长,是跟线程数量玩指数爆炸呢。

STM32单片机详细教学(二):STM32系列单片机的介绍

大家好,今天给大家介绍STM32系列单片机,文章末尾附有本毕业设计的论文和源码的获取方式,可进群免费领取。

正点原子STM32F4/F7水星开发板资料连载第三十四章 CAN 通讯实验

1)实验平台:正点原子水星 STM32F4/F7 开发板

2)摘自《STM32F7 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子

3)全套实验源码+手册+视频下载地址:
http://www.openedv.com/thread-13912-1-1.html

第三十四章 CAN 通讯实验

本章我们将向大家介绍如何使用 STM32F767 自带的 CAN 控制器来实现两个开发板之间的

零基础学习STM32智能家居系统之光照检测控制系统(一)

前面我们学习了STM32智能家居系统中的温湿度检测及控制系统。这一期我们学习光照检测控制系统。

7.1 项目的介绍

如图1所示。整体项目采用光敏传感器采取环境的光照强度,当光照强度的值高于某一设定值时(光照强度的数值与外界环境的亮度成反比,外界越亮,值越小),电机逆时针转动,模仿打开遮阳帘,LED灯点亮;当光照强度的值低于某一设定值时,电机顺时针转动,模仿关闭遮阳帘。

FPGA固件如何进行在线升级?(fpga 在线升级)

在之前的文章中,我们简单介绍了FPGA的基本结构,以及FPGA如何进行片上调试。今天,我们以最常用的Xilinx和Altera公司的FPGA为例,再给大家讲一讲FPGA固件如何进行在线升级。


stm32开发板开发笔记(2)-开发板jlink烧录

开发板上留出了jtag烧录口,引出了TCK测试时钟,TDI测试数据串行输入,TMS测试模式选择,TDO测试数据串行输出,

本文引用地址:
http://www.eepw.com.cn/article/201608/296037.htm

NJTRST测试系统复位信号

如图所示:

nRST是接芯片的复位脚,板上的实物是20针的JTAG接口

20针JTAG接口

1 VTref   目标板参考电压,接电源

stm32与上位机电脑间最快的通信方式是什么?

对于小型多关节机械臂的控制电路设计,选择合适的通信方式可以提高MCU与上位机之间的实时性。以下是一些在STM32上常用的通信方式,你可以根据你的具体需求选择适合的:

  1. 串口通信(UART):串口通信是一种常见的通信方式,支持全双工通信。它的优点是硬件实现较为简单,成本低,但传输速度相对较慢。在STM32上,可以通过串口与上位机进行数据传输。
  2. SPI(Serial Peripheral Interface):SPI是一种同步的串行通信协议,支持全双工通信。它的优点是传输速度相对较快,但需要额外的芯片来实现。在STM32上,可以通过SPI接口与上位机进行通信。

类似于STM32之类的MCU,使用RTOS真的比裸机编程有那么大优势?

要我说啊,现在好多人一提到 STM32 这类 MCU 开发,就跟风似的吹 RTOS 多好多好,说裸机编程过时啦、搞不定复杂逻辑啦。真的是这样吗?我看未必,那些把 RTOS 吹上天的,大概率自己都没吃透裸机编程的精髓,或者写的代码全是阻塞式的死循环,压根没摸到状态机、异步通信这些裸机框架的门道。

先掰扯掰扯所谓的 RTOS 优势。都说 RTOS 任务调度牛,能处理多任务。可咱摸着良心说,STM32 这种 MCU 资源就这么点,内存总共就几十上百 KB,你开几个任务下来,每个任务的栈空间怎么分配?稍有不慎就栈溢出,debug 的时候你看着 RTOS 那复杂的任务切换日志,能不头晕?反倒是裸机编程,全局变量、数据队列全在自己搭的框架里,哪个任务该干啥、什么时候切换状态,全靠状态机和回调机制明明白白管着,就像自己亲手搭的积木,每一块怎么用心里门儿清。你说 RTOS 能处理实时性?拉倒吧,裸机里用精确的定时器中断加事件标志位,照样能做到微秒级的响应,关键是你得会写非阻塞的代码,别一股脑全塞进 while (1) 里死等。

阿波罗 STM32F767 开发板资料连载第四十六章 NAND FLASH 实验

1)实验平台:alientek 阿波罗 STM32F767 开发板

2)摘自《STM32F7 开发指南(HAL 库版)》关注官方微信号公众号,获取更多资料:正点原子


第四十六章 NAND FLASH 实验

阿波罗 STM32F767 核心板上面,板载了一颗 512MB 的 NAND FLASH 芯片,型号为:

51单片机与stm32单片机,先学习哪一个?

学单片机就像刚接触摄影的人选相机,有人一上来就用全自动单反拍风光,有人偏要从手动胶片机开始琢磨光圈快门。其实没有标准答案,关键看你是想快速出片还是想搞懂光影的底层逻辑。要是你眼下就得做个环境监测模块,或者赶个电子竞赛的项目,直接上手 STM32 准没错。这东西就像带自动对焦的相机,库函数把各种复杂设置都打包好了,配置个 ADC 采集电压也就几行代码的事,网上各种例程多到数不清,跟着教程调两天,很快就能让传感器跑起来。不过得留意,要是你连 GPIO 口的工作模式都弄不清,遇到程序跑飞的时候,就像相机突然黑屏,你可能都不知道该检查镜头还是电池。

<< < 1 2 3 4 5 > >>
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言