STM32开发环境搭建

新建工程 

 1.双击桌面的快捷方式打开STM32CubeIDE,需要选择一下工作空间,保存路径可以根据实际选择其他路径(不要带中文)。

 点击File->New->STM32 Project.

 搜索并选择芯片,我这里以STM32F103RCT6为例,然后点击右下角的Next进入下一步。

 输入工程项目名称,这里以LED为例,其他参数默认就可以。

 点击Yes,此时会加载图形化内容

 

引脚配置 

 首先需要Debug信息,在Pinout&Configuration下点击SYS->Debug选择Serial Wire。

 在Pinout&Configuration选择RCC->HSE选择Crystal/Ceramic Resonator。其中HSE为外部时钟,LSE为内部时钟,使用外部时钟能比内部时钟更加稳定高效。

 切换到Clock Configuration修改HCLK的频率为72,按回车确认。

 

增加LED引脚配置,从原理图可知LED连接到PC13引脚。

image-20220309112325122

 将PC13引脚设置为GPIO_Output,为了方便这里修改Label为LED

然后按Ctrl+S保存,将Remember my decision打钩,然后点击Yes。这样每次保存都会自动生成代码。

image-20220309112812784

image-20220309112931421

 要登陆才能生成代码

 然后生成代码

 

找到main.c文件里的main函数,在while(1)下添加控制LED灯的内容。功能是LED灯每隔两百毫秒闪一次。按Ctrl+S保存代码。 

 

 注意:代码内容需要添加在USER CODE BEGIN 和USER CODE END之间的。否则下次通过图形化工具生成代码后,代码内容会被覆盖掉,添加在USER CODE BEGIN 和USER CODE END之间的则不会被覆盖掉。不要写中文注释在里面,可能会出现乱码。

编译程序

添加生成HEX文件的功能。

依次点击Project->Properties->C/C++ Build->Settings->MCU Post build outputs,然后在Convert to Intel Hex file(-O ihex)前打勾,如下图所示。

点击工具栏中的锤子,开始编译工程。

image-20220401105951706

STM32CubeIDE会弹出Console控制台,看到编译0错误,0警告就表示编译成功。如下图所示,项目生成的文件名为LED.hex,此文件保存在工程目录的Debug文件夹中。

image-20220401110314069

烧录程序

安装CH340驱动

由于USB通讯使用了CH340芯片,所以需要安装CH340芯片的驱动,如果电脑已经安装过CH340驱动则不需要重复安装。

解压【Uart drive(CH340).zip】,双击打开CH341SER.EXE程序

img

点击安装,安装完成后会提示安装成功。

img

下载烧录软件

本次烧录Rosmaster扩展板单片机固件需要用到mcuisp(或flymcu)烧录软件,请到http://www.mcuisp.com网站下载mcuisp(或flymcu)烧录软件;也可以直接使用资料中提供的mcuisp软件。

mcuisp软件是绿色版软件,不需要安装,双击打开即可使用。

连接设备

在电脑连接之前,请将扩展板连接Jetson Nano的Micro USB数据线和电源线拔掉。

将USB数据线的一端插入电脑USB接口,另一端插入扩展板的Micro USB接口。

image-20220401112853890

配置烧录软件

image-20220325110607466

搜索串口的时候如果出现多个串口号,又不确认哪个才是。解决方法一:拔掉其他USB接口再搜索;解决方法二:先拔掉扩展板USB数据线,点击搜索串口,记下搜索到的串口号,插入扩展板的USB数据线,再次搜索串口,对比前后两次,新增加的串口号就是所需的串口号。

选择固件时需要选择工程目录的Debug文件夹下的LED.hex文件。

最后是底部的配置选择,一定要选择【DTR的低电平复位,RTS高电平进BootLoader】选项,否则可能导致下载失败。

烧录程序

请先将扩展板上的单片机进入烧录模式:

以ROSMASTER的单片机为例,先按住扩展板上的BOOT0键,再按一下RESET键,最后松开BOOT0键。

image-20220325111504124

点击【开始编程】,mcuisp烧录软件会将我们上一步选择的固件烧录到Rosmaster的扩展板上的单片机上。当右边出现【成功从08000000开始运行www.mcuisp.com向您报告,命令执行完毕,一切正常】的提示就表示下载成功。

注意:

①开始烧录前,请确认Rosmaster的串口号是可访问的,即没有串口助手占用它。

②Rosmaster进入烧录模式的操作,先按住扩展板上的BOOT0键,再按一下RESET键,最后松开BOOT0键。

2.9、程序现象

扩展板上的LED灯每隔200毫秒闪一次。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/724030.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python学习笔记-08

面向对象基础(OOP)-上 1. 面向对象概述 面向过程:根据业务逻辑从上到下写代码 函数式:将某功能代码封装到函数中,日后便无需重复编写,仅调用函数即可 面向对象(object oriented programming):将数据与函数绑定到一起…

防爆气象站:化工厂区气象环境监测的最佳选择

在化工厂区,气象环境监测至关重要,它直接关系到生产安全、环境保护以及员工健康。防爆气象站作为专业的监测设备,凭借其独特的防爆性能和精准的数据监测能力,成为化工厂区气象环境监测的最佳选择。 防爆气象站采用先进的防爆技术…

java 线程之间通信-volatile 和 synchronized

你好,我是 shengjk1,多年大厂经验,努力构建 通俗易懂的、好玩的编程语言教程。 欢迎关注!你会有如下收益: 了解大厂经验拥有和大厂相匹配的技术等 希望看什么,评论或者私信告诉我! 文章目录 一…

Studying-代码随想录训练营day14| 226.翻转二叉树、101.对称二叉树、104.二叉树的最大深度、111.二叉树的最小深度

第十四天,(ง •_•)ง💪💪,编程语言:C 目录 226.翻转二叉树 101.对称二叉树 100.相同的树 572.另一个树的子树 104.二叉树的最大深度 559.n叉树的最大深度 111.二叉树的最小深度 总结 226.翻转二叉树 文档讲…

linux 查找和搜索命令

查找传入条件 a:在哪些目录查找 b:查找的内容 find命令: find 目录名 选项 查找条件 find /home/Camera/ -name “*.txt” 解释: /home/Camera/ 指明了查找的路径 -name 表明以名字来查找文件 *.txt 查找名为.txt的文件 grep命令: 在当前目录下查找: grep -n "sample_s…

AI辅助工具革新金融交易编程,引领行业新风尚

今天有伙伴问了我金融方面AI的问题,我来写一下吧 随着人工智能技术的飞速发展,金融交易领域也迎来了新的变革。传统的金融交易编程往往依赖于交易员的专业知识和编程技能,但在人工智能的助力下,自动写代码的AI辅助工具正逐渐崭露…

访问网络 测试没有问题,正式有问题

ping -c 5 -i 1 www.baidu.com 首先检查一下网络,在正式服务器ping 一下要访问的地址。 如果不行,联系网络管理员开通。 笔者因为这个问题浪费了半天时间,一开始都以为是代码问题 以后大家看到这个异常,解决如下: …

对角线法则的由来

目录 一、前言 二、对角线法则 三、行列式的定义 1. 行列式的定义 2. (全)排列 3. 逆序数 四、由全排列逆序数 到 对角线法则规律 ​编辑 五、参考书目 一、前言 仅限于个人理解,对错没有查证。 二、对角线法则 提起对角线法则,我们更倾向于他是…

企业如何选择合适的CRM工具?除Salesforce之外的10大主流选择

对比salesforce,其他10款优秀CRM:纷享销客CRM、Zoho CRM、腾讯企点、销售易、企业微信 (WeCom)、Odoo CR、OroCRM、金蝶、用友CRM、EspoCRM 虽然Salesforce以其全面的功能和强大的市场占有率在海外收获了许多客户,但Salesforce在国内市场的接…

Microsoft AI Day:支持开放合作,普及技术应用,推进行业企业智慧化创新

微软在北京举办以“共创AI创新,智启无限可能”为主题的Microsoft AI Day活动,集中展示了在生成式智能技术加速发展普及的过程中,微软取得的最新技术突破与进展,并同步更新了在Microsoft Build 2024全球开发者大会上发布的一系列Az…

springboot中,将某个函数的日志单独输出的方法

这里写自定义目录标题 背景解决方案解决过程原理 背景 项目中有个节点健康检查扫描功能,每10秒扫描一次节点。 如果节点挂掉,会输出健康检查失败的日志。 测试环境,虽然配置了多个节点,但并没有都启动,所以在扫描的时…

油猴hook+内存爆破

hook方式 说明:来回翻页发现只有请求体的token需要逆向,而这个请求体是在params里,拼接到url里,可以直接用油猴hook url里的关键字token。 正常步骤 hook代码 // UserScript // name hookparams // namespace htt…

前端易遭受的六大安全威胁,以及对应解决策略。

前端遭受安全威胁可能会导致用户隐私泄露、账户被盗用、系统遭受攻击、用户体验受损等严重后果,所有安全防御也成了前端开发者的必须课之一,贝格前端工场带领大家了解下常见的安全威胁。 一、前端开发面临的安全风险 1. 跨站脚本攻击(XSS&a…

项目实施经理岗位的工作内容(合集)

项目实施经理岗位的工作内容1 职责: (1)负责协调软件团队对软件产品的研发工作(包括代码开发,测试,部署实施等); (2)引导和解析客户需求,根据产品特点及用户个性化需求制定解决方案,完成客户宣讲等售前技术支持工作; (…

【CT】LeetCode手撕—141. 环形链表

目录 题目1- 思路2- 实现⭐141. 环形链表——题解思路 3- ACM实现 题目 原题连接:141. 环形链表 1- 思路 模式识别 模式1:判断链表的环 ——> 快慢指针 思路 快指针 ——> 走两步慢指针 ——> 走一步判断环:若快慢相遇则有环&a…

聊聊我构建SMoE模型的过程

这篇博客详细讲述了从头开始构建一个稀疏混合专家(sparse mixture of experts)语言模型的过程。该项目深受 Andrej Karpathy 的 “makemore” 项目启发,并借鉴了许多可重用的组件。与 makemore 类似,makeMoE 也是一种按字符顺序生…

AI与业务的结合 | 使用机器学习预测客户反应,轻松实现市场营销策略优化

01、案例说明 在实际的工作中,除了数据本身需要处理之外,同时也需要对所建立模型进行检验与了解。所以在这个过程之中我们学习2个比较进阶的功能:一个是关于决定属性和结果之间的关系从而判断哪些是更重要的属性;另外一部分则是在…

【CPP】直接选择排序、堆排序

目录 1.选择排序1.1简介1.2代码1.3分析 2.堆排序2.1简介2.2代码2.3分析 1.选择排序 1.1简介 思路:遍历一遍,选出最大值和最小值的下标,然后与第一个和最后一个数字交换位置。 1.2代码 1.3分析 最好复杂度:O(N^2) 最差复杂度&am…

Sui的Fastcrypto加密库刷新速度记录

Sui使用的加密库Fastcrypto打破了许多速度记录,Mysten Labs在基准测试和安全分析中的工作修复了许多安全漏洞,同时通过识别新的优化技巧为创新开辟了道路。 最近在伦敦帝国理工学院举行的国际性能工程会议(ICPE)基准测试研讨会上…

编译原理:代替LR的MP:2.遇到的问题

用指针加速 MP是multi-pass,多遍分析法,它是从“先乘除后加减”中得来的灵感。在实践中,发现C语言优先级有15级,如果将源代码处理15遍,每一遍都从头开始找,势必很慢。所以,有了用指针加速的想法…