掌上单片机实验室 — 编程环境(续)(6)

51单片机(三)—— 51单片机集成开发环境介绍 一、开发环境安装 能够进行51单片机的集成开发环境比较多,比较常用的是Keil C51,可以从相应的网站上下载,如下图所示为Keil C51的安装文件 点击“Setup.exe”,出现如下图所示的窗口。 点击上图中的“Full Version”,出现如下图所示的窗口 点击“Next”,出现如下图所示的窗口。 点击“Yes”,出现如下图所示的窗口 这个... 阅读详情

        最近在帮朋友做个项目时,再次使用 STM32Duino,发现ST公司对STM32Duino做了较大的改进,前文我所抱怨的没有详细技术文档之事如今也增加了,为此,赶紧续文一篇,将此好消息与大家分享。

        第一:ST公司已经将STM32Duino升级到2.1 版本,从2.0版本开始启用新的Arduino开发板管理链接,老的已经不再使用了,详见:

        https://github.com/stm32duino/wiki/wiki/Getting-Started

        原来的链接在Arduino IDE 开发板管理中已提示弃用:

        第二:升级后的库安装目录有所改变:

       目录名从STM32改为STMicroelectronics,应该是为了日后增加更多的旗下产品,目前除了STM32外,STM8系列也支持在Arduino IDE 下编程了:

        具体内容和原来类似:

        第三:提供了API的说明文档,虽说不是很全,但总算是有了:

        https://github.com/stm32duino/wiki/wiki

        从目前状态看,ST 似乎很用心于 Arduino 环境的支持,几乎所有最新产品都在第一时间支持了,从核心库(core)的更新状态看,应该是十分及时的:

        从上述状态看,基于 Arduino IDE 编写应用程序,即便是作为产品开发,也未尝不可。毕竟方便许多,尤其是不常编程的朋友,每次使用那些专业开发工具,进入角色太费劲。如果遇上版本更新有大的改变,就更费事了。

        基于 ArduinoIDE 编程的唯一不好就是编译速度太慢,不知道是何故所致。

        据说可以改用 VSCode + PlatformIO 平台,同样可以享用和 Arduino IDE 类似的简单性,但编译速度提升了很多,我还在尝试,待有了真实体验后再与大家分享。

        使用 ArduinoIDE 的另一个不足就是无法实现经典开发方式(仿真机 + MDK)下的断点调试功能。

        但我个人觉得,逼着自己使用和软件开发人员类似的Dump 方式(linux下应该都是这样调试的)调试程序也是不错的选择,即在程序中添加语句,使用串口输出方式,将需要观察的数据和状态送出来。虽说不如断点来的方便,但程序是全速正常运行的,其运行状态更接近真实环境,这样调试完成的程序,应该更不易出现bug。

        以往由于单片机资源有限,不敢奢侈的添加无用的程序、占用有限的RAM,但现在Cortex-M系列单片机不论是程序空间还是变量空间,均可以允许为了调试增加一点代码,而且所有的单片机均带一个以上的串口,在资源上应该不成问题。

        可以用简单的增加代码方式,将程序中所关注的内容送出来,通过串口调试助手观察。

        也可以在程序的串口功能代码中,增加内存读写命令处理,编写相应的测试软件,根据需要随时读取单片机的内存状态。

        尤其对于Cortex-M系列单片机而言,其内存为线性空间,即ROM、RAM、外设特殊寄存器均在同一存储空间,同步划分不同的地址段区分。如此一来,使用内存读写功能不但可以监测到RAM空间,还可以查看外设寄存器的状态;这样不只是在程序调试期间可以用于排除故障,在产品运行期间,还可以用于分析故障原因。

        很多故障现象在设备断电后即不可重现,需要在故障状态下分析,此时仿真机是无法发挥作用的。

        当然,如果单片机已经死机导致串口无法通讯,那这种方式也是无法发挥作用的。

        不过,如果能基于RTOS编写多任务框架程序,系统某个功能异常,但串口可以工作的可能性会大大增加,从而使这种方式具备更好的实用性。

        这些已经是题外话了。

        总之,ArduinoIDE 这个环境似乎被很多专业芯片厂家所看中,有越来越多的芯片支持在此环境下编程。

        这大概就是开源的力量!

—————————————————————— 

掌上单片机实验室 – 走出屏幕的 ROS 小海龟(27) 在上一步的基础上,完成了使用 turtle_teleop_key 节点控制虚拟和现实两个小海龟,将基于 micro_ros 软件包实现单片机和 ROS2 主机通讯的流程全部打通,后面就可以进一步尝试ROS2 的功能了。 阅读详情

相关推荐

掌上单片机实验室 – RT-Thread + ROS2 初探(25)

得知 ROS 升级为 ROS2 后,将 rosserial 升级为可以在单片机上运行的 Micro_ROS,大大提升了性能。关键是 RT-Thread 中包含了 Micro_ROS 软件包,正好可以尝试一下,。于是有了文中的经历。

embedream的专栏 1612

【CH559L单片机】基于Arduino框架下实现USB CDC虚拟串口打印ADC数据

【CH559L单片机】基于Arduino框架下实现USB CDC虚拟串口打印ADC数据

perseverance51博客 1433

掌上单片机实验室 – RT-Thread 激活程序1(15)

在掌上单片机实验室硬件平台上,尝试应用 RT-Thread,这是第一个程序,使用 RT-Thread 官方的 RT-Thread Studio 开发环境,完成电机 PWM 驱动,涉及 PIN及 PWM 组件。

embedream的专栏 505

STM32duino_在线升级

Boot Loader配置 设置ROM、RAM地址 //链接器脚本文件路径 Arduino\hardware\STM32\STM32F1\variants\generic_stm32f103z\ld\stm32f103ze.ld //修改内容 MEMORY { ram (rwx) : ORIGIN = 0x20000000, LENGTH = 64K //内存起始地址及长度 rom ...

梦回南柯的博客 879

Vector CANoe VT2516A实战:从硬件连接到CAPL脚本的完整配置指南

本文详细介绍了Vector CANoe VT2516A板卡从硬件连接到CAPL脚本编写的完整配置指南。涵盖硬件接线原则、VT System配置避坑技巧、系统变量创建规范、可视化Panel设计、CAPL脚本调试及典型故障排查案例,帮助工程师快速掌握VT2516A板卡的应用实践,提升汽车电子测试效率。

weixin_30608503的博客 254

qt工程引入opencv库步骤

第一步:新建qt工程 第二步:在工程名.pro文件中添加opencv库的路径                   INCLUDEPATH += /home/liyuanzhe/opencv-2.4.8/include/opencv \ /home/liyuanzhe/opencv-2.4.8/include/opencv2 LIBS += /home/liyuanzhe/open

superyuanzhe的专栏 5722

STM32学习笔记之简易Bootloader串口升级设计

概念简介 在学习制作串口升级 Bootloader 之前,我们先了解一下STM32的 IAP (In Application Programming)即在应用编程,IAP是用户自己的程序在运行过程中对 User Flash 的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产品中的固件程序进行更新升级. 设计这样的功能需要有两个项目代码: Bootloader...

智小星的博客 2万+

fastadmin云快充充电桩系统部署文档uniapp

多商户 嘎嘎快充V1.0部署文档 一、服务器环境: 服务器配置4核心8GB内存5M带宽以上配置 VX next1402 只支持linux环境 nginx1.22 php7.2 开启redis、fileinfo扩展,关闭禁用workerman gatewayworkerman需要的函数,如pcntl相关的函数 mysql5.7 supervisor redis 注意: 1.站点必须配置https、websocket配置wss 2.注意开放直连服务端口:2024,并添加到安全组 二、必

itholiday2014的博客 1629

51单片机入门教程(0)—— 开发环境配置

51单片机入门教程(0)—— 开发环境配置 本教程包含51单片机开发环境Keil_C51的安装、破解和汉化,以及51单片机仿真环境proteus的安装、破解。 (说明:本教程仅供学习交流之用,禁止任何商业用途!请在24小时之内删除,如要使用Keil请购买正版) 1、 Keil_C51 1.1 keil_c51简介 Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软...

郭义臣的博客 3万+

电网渗透之终端安全

        电力系统安全不仅关系到电网的稳定运行,也关系到国家能源安全和国计民生,甚至关系到国家的安全和利益,电力系统由于结构复杂多样、分布广泛、重要性高,一旦系统瘫痪影响巨大,因此,极容易成为敌对势力攻击的首选目标。随着信息安全暴露面迅速增加,将给公司网络安全防线带来严峻挑战。       监控、保障这些电力系统安全运行变的尤为重要。内部安全防护产品有防火墙、纵向加密、反向隔离设备等...

guapi007008的博客 2721

【CVPR2025 DEIM】超详细!手把手训练自己的数据集教学:从源码下载,配置虚拟环境,准备数据集、训练、验证、推理测试 ,实现0到1的完整教学过程。本文在win系统上训练,最强实时目标检测算法!

本文详细介绍了CVPR2025 DEIM目标检测模型的完整使用流程。内容包含:1)源码下载与虚拟环境配置;2)Visdrone2019数据集准备与配置文件修改;3)训练参数设置及Windows系统常见问题解决方案;4)模型验证、推理测试及热力图生成方法。特别针对Windows用户提供了虚拟环境配置指导,并详细说明了数据集路径设置、参数调整等关键步骤。通过本文的指导,小伙伴可以快速掌握DEIM模型的使用方法,用于学术论文研究和实验分析。

Ai缝合怪、助力小伙伴高效发论文 7627

掌上单片机实验室 - 编程环境(续)(6)

最近在帮朋友做个项目时,再次使用 STM32Duino,发现ST公司对STM32Duino做了较大的改进,前文我所抱怨的没有详细技术文档之事如今也增加了,为此,赶紧续文一篇,将此好消息与大家分享。

embedream的专栏 309

Open3D 计算点云模型的表面积和体积【2025最新版】

python编程实现 计算点云模型的表面积和体积,博客长期更新,本文最近一次更新时间为:2025年4月4日。

点云侠的博客 13万+

掌上单片机实验室 — 编程环境(3)

一、背景 因为单片机学习是软硬结合的,离开软件,单片机无法工作。所以需要准备合适的编程环境。 二、需求 作为学习用的编程环境,我觉得应该满足: 上手容易;不需要花很多时间学习后才能正确使用。 环境参数设置方便,有些编程环境参数设置过于复杂,对于做实际项目是有价值的,但对于学习者而言,就是障碍了。 无版权问题(无需花钱购买,或盗版) 有完善、丰富的参考资料。 三、选择及准备 3.1 选择 因为目前硬件基础选择的是 STM32 系列单片机,可选择的编程环境有: 经典的IAR或MDK编程.

embedream的专栏 552

wxComboBox类的使用方法及示例代码

其中,parent表示该控件的父窗口,ID_COMBOBOX是该控件的ID,用于在事件处理函数中区分不同的控件,"默认选项"是下拉列表框的默认选项,options是wxArrayString类型的数组,用于存储下拉列表框中的选项,style可以指定wxComboBox的样式。wxComboBox是wxWidgets中的一个常用控件,它可以被用来显示一组在下拉列表框中的选项,并允许用户从中选择一个选项。上述就是wxComboBox类的基本使用方法,使用这个控件可以方便地实现下拉列表框的功能。

学习使你进步。 712

PaddleOCR全版本完整指南:从入门到精通,全面解析安装部署与高级应用

摘要 本文详细介绍了PaddleOCR的完整安装与使用指南。首先讲解了环境准备步骤,包括Python 3.11虚拟环境创建和PaddlePaddle框架的CPU/GPU版本安装。接着介绍了PaddleOCR库的安装方式,可选功能模块(文档解析、信息抽取、翻译等)及其依赖组。通过示例代码演示了PPStructureV3文档解析功能的基本用法,并提供了安装验证方法。最后针对常见问题(Windows中文用户名报错、模型下载问题)给出解决方案。文章为从入门到精通的PaddleOCR用户提供了全面的技术指导。

算法工程师 1366

掌上实验室V8系列教程(一)新建Keil项目

可以随身携带的实验室

lg28870983的博客 8341

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

掌上单片机实验室 — 激活(4)

前面已经构建了掌上单片机实验室的硬件基础,并选择、安装了配套的编程环境,目前要做的工作就是将它激活,即基于所选择的 Arduino IDE,在构建的硬件上,编写相应程序,使所提供的硬件可以运转,成为一个可以用的实验平台。

embedream的专栏 1442

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

掌上单片机实验室 – 构想(1)

一、背景 突如其来的疫情,打乱了大学生的正常学习氛围,传统的校园学习模式无法实施,虽说网上教学做了相应的弥补,但对于多数工科课程,只靠线上教学很难完成,单片机课程就是其中之一。 单片机这类工科课程有较强的实践需求,纸上谈兵很难达到预期的效果,所以开设这门课程的学校均建立有相应实验室。 而经典的实验室设备很难让学生个人拥有,在家独立完成实验,因为实验设备的设计及实验内容的编制均未考虑到这样的场景。 能否设计一款适合学生单独拥有,且可以自己完成实验的单片机学习实验装置呢? 本文尝试用我设计的第四.

embedream的专栏 395

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

掌上单片机实验室 - 程序框架设计(7)

单片机学习很大比例是编程的学习,即:如何将现实需求转换为程序语言,让单片机执行,从而解决现实世界的问题。 而编程的最佳方式是构建一个良好的程序框架,以此为基础,再根据具体要解决的问题,增加相应的处理部分即可,这样程序的构建和调试会很高效。 本文尝试基于 Free RTOS 构建掌上实验室的程序框架,以此为基础,展开后续的学习。

embedream的专栏 993

掌上单片机实验室 – 尝试RT Thread(14)

前面介绍了掌上单片机实验室的构想,以及以 Arduino、Free RTOS为基础的学习过程,如果针对非计算机专业的学生而言,所述内容作为单片机或嵌入式的课程素材,应该够了,因为他们只有大约40~60学时,能把前述的学习内容消化实施,再在此基础上做些拓展,结合自己的兴趣,做些个性化的应用尝试,已经能初步掌握单片机的应用技能。RT-Thread是开源的,完全可以在实际应用中,遇到问题或想提高性能或代码效率时,用单步调试方式,跟踪到系统代码中,琢磨如何结合应用的需求去优化。期待国人自己的OS能做的更好。

embedream的专栏 284

掌上单片机实验室 – 用PC作为UI (8)

前面构建掌上实验室程序框架时,提出了用串口作为单片机人机交互界面的概念,并在框架中将串口命令接收、串口数据发送作为基础功能编写完成。 程序框架具备了串口作为 UI 的能力,就需要有相应的外设与其配合,以实现所需的人机交互功能。前面提过,PC是可选的设备之一。本篇就以 PC 为载体,配合前述程序框架的串口收发功能,实现初步的人机交互,即:UI。

embedream的专栏 723

掌上单片机实验室 — 硬件基础(2)

一、背景 在“掌上单片机实验室-构思”一文中,探讨了基于四代圆梦小车实现掌上实验室的可能和益处。本文开始尝试具体设计一套基于此构思的掌上单片机实验室,先从硬件基础着手。 二、需求 硬件基础的核心需求为: 一个可以灵活运动的小车底盘 体积足够小,以便降低使用环境的要求 成本足够低,以适应学生个人拥有 便于使用单片机核心板驱动,小车行走无需增加额外增加器件。 可灵活替换控制用单片机,以适应不同的教学需求 便于根据扩充相应的模块,如:通讯、传感器 使用方便,如电源、充电。 三、设计..

embedream的专栏 407

掌上单片机实验室 - 实现运动功能(10)

前面已完成了硬件激活、编程环境选择、软件框架构建,并且基于软件框架尝试了基于 RTOS 编程,为在此软硬件环境下学习单片机编程做了充分的准备。 从本篇开始,开始以其为载体,一步步完善其功能、性能,并基于其具备的能力去完成一些有趣的任务,在这个过程中,逐步掌握用单片机解决实际问题的技能。

embedream的专栏 616

【蓝桥杯单片机入门记录】认识单片机

单片机入门笔记。单片机硬件平台 单片机的发展过程 单片机开发板 单片机基础知识 电平 数字电路中只有两种电平:高和低 二进制(8421码) 十六进制 二进制数的逻辑运算 “与” “或” “异或” 标准C与C51 如何学好单片机 端正学习的态度、培养自学能力、要有远大的目标 要有学习的恒心、面对挫折的准备 树立起学习勇气 要追求质量而非速度,基础部分知识量大而小且必须 无论简单还是复杂的程序,一定要自己写出 无论出现什么样的错误,一定要找到错在哪 多写、多练、多想 学

La_gloire的博客 1779

掌上单片机实验室 – RT-Thread 应用程序框架(17)

通过跟踪调试,发现发送方式基本是阻塞完成的,故默认按阻塞逻辑处理,功能是实现了,后续再仔细分析一下。1)RT-Thread 创建线程多了一个参数:Slice,按说明是在轮流执行时,线程的执行时间,单位为 Tick,也就是说,RT-Thread 可以定义每个线程在轮流执行时的时间,而非每次Tick都转换线程。我觉得:就RT-Thread的学习而言,单个功能的示例官方已经提供,缺少的是结合实际需求(或接近实际的需求)的编程示例,比如说多文件的编程,因为随着代码增加,放在一个文件中会导致阅读费力,调试困难;

embedream的专栏 612
上一篇: 掌上单片机实验室 — 激活(4)
下一篇: 掌上单片机实验室 - 程序框架设计(7)
嵌入之梦
博客等级 码龄21年 134粉丝 39原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值