一、新建第一个工程——51、STM32、MSP432

2023-11-03

目录

一、51单片机

二、STM32

三、MSP432E401R


一、51单片机

步骤1:如图,双击桌面Keil5图标,打开keil5,点击 Project ,点击New uvision project

步骤2:如图,找到合适的存放工程的位置,并给工程取一个名字,点击 保存 

步骤3:若安装和STC库添加没有问题,选择STC官方库 ,选择STC89C52RC芯片型号,点击OK 

 步骤4:单击 “否”

步骤5:如图新建文件并保存为 .c 文件(文件必须 .c结尾) 

 

 

 步骤6:双击 Source Group ,将刚刚保存的文件添加到我们的工程里面来。

 如图,添加成功。

步骤7:配置输出.hex 文件,单击 魔术棒 ,选择Output,勾选 Create HEX File ,点击OK

 

 步骤8:编写代码、编译、链接,完成第一个工程的建立。

二、STM32

STM32平时进行项目开发时一般不会像51一样从新建文件夹开始建立新的工程,因为32驱动文件比较多,建立一个32工程比较复杂,所以大家可以直接下载链接里的模板工程,我们以后从这个模板的基础上进行学习和项目的开发。
链接:百度网盘 请输入提取码提取码:9534 

说明一下:小编学习的芯片型号是SMT32F103ZET6,只要是STMF103系列的芯片都可以用上面的工程模板。

三、MSP432E401R

        这两天小编在TI官网逛了好久,本来打算学习MSP432P401R这块芯片的(网上教程、资料啥的还是有那么一点点的),但是我在TI官网找了半年没找到P系列的资料,后来在TI官网的讨论区了解到原来P系列的单片机下架了,并且官网不再提供资料和技术支持。一气之下,我不怀好意地看向了MSP432E401R这款E系列的产品(似乎可以连接以太网,俺也不知道是啥,哈哈)。去年学习TI公司MSP430F5529这块芯片也是磕磕绊绊,碰到问题只能网上询问大佬(效率贼低),不像学习51、STM32单片机,能马上请求学长帮助我们解决问题,反正学习430芯片是一条艰辛又漫长的道路!激动的心,颤抖的手,我再头铁一次,再学习一块TI老板的芯片——MSP432E401R。

MSP432E401R的开发环境可以是CCS(TI官方的)、IAR、Keil。学习MSP430F5529的时候CCS软件有一个最让我反感的地方就是程序编译链接再下载到单片机的时间太长了,导致我调试程序的效率太低了,这也是我坚持要用Keil来开发MSP432的主要原因,所以接下来我只介绍如何使用Keil来开发MSP432。

摸爬滚打了两天,终于搞懂了MSP432E401R怎么建立第一个工程了,但是整体体系太大,我也没有太深入地去了解驱动库里的每个文件的作用(好像没太大必要去了解,哈哈),以后有需要的时候再去了解吧。MSP432和STM32类似,都在一个模板上进行开发,但是又很不同,简单来讲,STM32每一个工程都对应了一个驱动库,而MSP432是在一个驱动库里面开发工程,即一个驱动库驱动了多个工程,各有利弊吧。不说那么多,接下我要和大家推心置腹了。

步骤1:通过下面链接下载 Simplelink

Simplelink:这不仅是MSP432E401R的驱动库,还有很多其他芯片的,有兴趣的小伙伴可以去提取专属MSP432E401R的驱动库文件。而且,Simplelink里还有很多有助于开发的文档和官方提供的例程。

链接:百度网盘 请输入提取码提取密码:9534

步骤2:双击下载的文件,开始安装。

 步骤3:点击 Next

步骤4: 选择合适的位置安装,并且务必记住安装的位置。小编建议安装在桌面。然后点击 Next

 步骤5:点击 Next

 步骤6:正在安装,等待一会

 步骤7: 点击 Finish 完成安装

 不出意外的话,安装完成之后是下面这样的。

 然后我们按这个路径(simplelink_msp432e4_sdk_4_20_00_12\examples\nortos\MSP_EXP432E401Y\driverlib)去寻找官方提供的基于库函数版本的例程。红色标注的文件夹就是上图的第一个文件夹。不出意外的话,聪明的你应该到了下面这个界面。

 这里面的就是官方提供的基于库函数版本的例程,然后我们要建立工程必须在这个文件夹下建立,并且要按照官方的格式建立,否则Keil报错、链接编译失败。听不懂没事,熊同学给大家做好了模板。我们要做的是把这整个文件夹的文件放到别的地方去,不然有点眼花缭乱的。有的人就会问了,假如我要查阅例程怎么办?没错,只能把你要看的例程再移动到这个文件夹下Keil才能正常编译链接。所以我要把例程放在了最近的地方,请看。

 然后通过下面的链接下载模板,再把下载的文件夹移动到上图的文件夹下,如下图。

链接:MSP432E401R Keil模板 提取密码:9534

 要想查阅官方例程,只需要把例程移动到和Temp同级文件夹下即可。比如我现在要查看官方的第一个例程,操作如下图即可。

最后一步,打开Temp工程,编译链接,0错误,0警告。 

 以上就是51单片机,STM32F103、MSP432E401R建立第一个工程的方法,希望大家可以给熊同学一个小赞,谢谢大家!有啥不懂的地方欢迎大家留言,我会及时回复大家的,我们下一期再见!

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

一、新建第一个工程——51、STM32、MSP432 的相关文章

  • 以字符串形式接收数字(uart)

    我正在尝试通过 uart 接收一个包装为字符串的数字 我发送数字 1000 所以我得到 4 个字节 空字符 但是 当我使用 atoi 将数组转换为数字并将整数与 1000 进行比较时 我并不总是得到正确的数字 这是我用于接收号码的中断处理函
  • 在 MCU 内部 FLASH 中从一个固件跳转到另一个固件

    我目前正在开发针对 STM32F030C8 的引导加载程序固件应用程序 我在分散文件中指定引导加载程序应用程序将占用主内存位置 0x08000000 到 0x08002FFF 扇区 0 到扇区 2 我还编写了一个主固件应用程序 存储在0x0
  • STM32 F072上的软件如何跳转到bootloader(DFU模式)?

    STM32应用笔记2606对此进行了讨论 但没有简单的代码示例 该答案已使用 IAR EWARM 在 STM32F072 Nucleo 板上进行了测试 这个答案使用 STM32标准外设库 仅此而已 请注意 验证您是否成功进入引导加载程序模式
  • 优化 ARM Cortex M3 代码

    我有一个 C 函数 它尝试将帧缓冲区复制到 FSMC RAM 这些函数将游戏循环的帧速率降低至 10FPS 我想知道如何分析反汇编的函数 我应该计算每个指令周期吗 我想知道CPU把时间花在哪里 在哪个部分 我确信该算法也是一个问题 因为它的
  • rt-thread studio中新建5.02版本报错

    先吐槽一下 rt thread studio出现BUG真多 好多时间都是在找BUG 但里面用好多控件还是挺好用的 真是又爱又恨 所以一般使用功能不多的话还是用keil多一点 创建5 02版本工程之后直接进行编译 直接会报下面这个错误 资源
  • Push_back() 导致程序在进入 main() 之前停止

    我正在为我的 STM32F3 Discovery 板使用 C 进行开发 并使用 std deque 作为队列 在尝试调试我的代码 直接在带有 ST link 的设备上或在模拟器中 后 代码最终在 main 中输入我的代码之前在断点处停止 然
  • Windows 安装程序补丁失败 - 执行序列在第一个操作后停止并安装进程重置

    我发现我们的一个补丁在几个客户站点上出现了异常的零星故障 最终错误代码为 1648 找不到该组补丁的有效序列 这是因为尝试从其中一个补丁转换读取摘要信息流时出现错误 2219 无效的安装程序数据库格式 但我怀疑这只是早期无声错误的副作用 我
  • STM32F4 通过软复位跳转到引导加载程序,无需 BOOT0 和 BOOT1 引脚

    我问这个问题是因为可以在这里找到类似问题的答案 通过应用程序跳转到 STM32 中的引导加载程序 即从用户闪存在引导模式下使用引导 0 和引导 1 引脚 用户 JF002 JF002回答 当我想跳转到引导加载程序时 我在其中一个备份寄存器中
  • STM32F103

    提示 来源正点原子 参考STM32F103 战舰开发指南V1 3PDF资料 文章目录 前言 一 pandas是什么 二 使用步骤 1 引入库 2 读入数据 总结 前言 提示 这里可以添加本文要记录的大概内容 开发环境硬件普中科技 接线图在g
  • STM32F103概要

    The STM32F103x4 STM32F103x6 STM32F103xC STM32F103xD and STM32F103xE are a drop in replacement for STM32F103x8 B medium d
  • Java语言真的跌落神坛了吗?

    Java语言真的跌落神坛了吗 在开始前我有一些资料 是我根据自己从业十年经验 熬夜搞了几个通宵 精心整理了一份 Java的资料从专业入门到高级教程 工具包 点个关注 全部无偿共享给大家 在评论区回复 888 之后私信回复 888 即可拿走
  • VS Code 有没有办法导入 Makefile 项目?

    正如标题所说 我可以从现有的 Makefile 自动填充 c cpp properties json 吗 Edit 对于其他尝试导入 makefile 的人 我找到了一组脚本 它们完全可以实现我想要实现的目标 即通过 VS Code 管理
  • 核心耦合内存在 STM32F4xx 上可执行吗?

    尝试从 STM32F429s CCM 运行代码 但每当我命中 CCM 中的第一条指令时 我总是会遇到硬故障 并且 IBUSERR 标志被设置 该指令有效且一致 STM32F4xx 是否可能不允许从 CCM 执行 数据访问效果良好 alios
  • STM32 Nucleo 上的上升沿中断多次触发

    我正在使用 STM32 NUCLEO F401RE 微控制器板 我有一个扬声器 经过编程 当向上 向下推操纵杆时 可以按设定的量改变频率 我的问题是 有时 通常 当向上 向下推动操纵杆时 频率会增加 减少多次 这意味着 ISR 正在执行多次
  • 嵌入式 C++11 代码 — 我需要 volatile 吗?

    采用 Cortex M3 MCU STM32F1 的嵌入式设备 它具有嵌入式闪存 64K MCU固件可以在运行时重新编程闪存扇区 这是由闪存控制器 FMC 寄存器完成的 所以它不像a b那么简单 FMC 获取缓冲区指针并将数据刻录到某个闪存
  • WiX:补丁安装程序取代以前的版本(1.0.0 -> 1.0.1、1.0.0 -> 1.0.2、1.0.1 -> 1.0.2 等)

    我正在尝试提供一个简单的安装程序包 MSI 我希望通过取代所有以前的补丁的更新 补丁 来支持它 所以我有一个MSI V1 0 0和2个补丁V1 0 1和V1 0 2 用户应该能够只安装最新的补丁 无论系统上已经应用了哪些先前的补丁 我的项目
  • STM32 上的 ADC 单次转换

    我正在研究 STM32 F103x 上的 ADC 编程 并从最简单的情况 单次转换开始 测量内部温度传感器 连接到 ADC1 的值 并使用 USART 将其发送到 COM 端口 目标似乎很明确 但是当我尝试将源代码下载到闪存时 它不会向 C
  • STM32 上的位置无关代码 - 指针

    我已成功在 STM32 上构建并运行位置无关的代码 向量表和 GOT 已修补 一切正常 但我对这样的代码有问题 double myAdd double x return x 0 1 double ptrmyAdd double myAdd
  • 移动数组中的元素

    我需要一点帮助 我想将数组中的元素向上移动一个元素 以便新位置 1 包含位置 1 中的旧值 new 2 包含 old 1 依此类推 旧的最后一个值被丢弃 第一个位置的新值是我每秒给出的新值 我使用大小为 10 的数组 uint32 t TE
  • stm32l0: 执行MI命令失败。使用 vFlashErase 数据包擦除闪存时出错

    我正在使用 Nucleo STM32L031 和 AC6 STM32 工作台 eclipse 我编写应用程序并进入调试模式 一切正常 直到我在应用程序中添加另一个功能 我注意到当我删除 评论 新函数 软件可以再次进入调试模式 但是当我添加

随机推荐

  • QT QTableWidget 遍历导出时的一个空指针问题

    文章目录 如何遍历导出QTableWidget 空指针导致的程序崩溃 原因分析 解决方法 如何遍历导出QTableWidget 正常情况下在QT开发时 我们可以使用以下代码导出QTableWidget中的数据到一个文本文件 tbl gnss
  • 数学建模模型大全_数学建模——预测模型

    拟合 拟合是最基本的预测方法 matlab中提供了polyfit fit函数 用法示例 x p 注 拟合阶数过高意义不大 易出现过拟合现象 一般 3阶 MATLAB中还提供了 拟合工具箱 在命令行窗口输入 cftool 即可调用 时间序列
  • 【C语言初阶】 选择结构(分支语句)

    博客主页 小王又困了 系列专栏 C语言 人之为学 不日近则日退 感谢大家点赞 收藏 评论 目录 1 选择结构和条件判断 2 用if语句实现选择结构 2 1在C语言中选择结构主要是用if语句实现的 为了让大家进一步了解if语句的应用 我们举个
  • JSR303校验

    1 什么是JSR303校验 JSR是Java Specification Requests的缩写 意思是Java 规范提案 是指向JCP Java Community Process 提出新增一个标准化技术规范的正式请求 任何人都可以提交J
  • CTFShow web入门刷题记录-命令执行

    CTFShow web入门刷题记录 命令执行 web29 考点 preg match对于 flag 的字符的过滤 使用f 代替flag完成绕过 匹配任何字符串 文本 包括空字符串 代表任意字符 0个或多个 ls file 匹配任何一个字符
  • 西瓜书--第五章.神经网络

    个性签名 整个建筑最重要的是地基 地基不稳 地动山摇 而学技术更要扎稳基础 关注我 带你稳扎每一板块邻域的基础 博客主页 七归的博客 创作不易 走过路过别忘了三连击了哟 关注作者 不仅幸运爆棚 未来更可期 Triple attack 三连击
  • Medical Image Segmentation Review:The Success of U-Net

    目录 医学图像分割综述 UNet的成功 1 摘要与介绍 2 分类 2 1 2D Unet 2 2 3D UNet 3 UNet扩展 3 1对于跳跃连接的增强与改进 3 1 1 增加跳跃连接数量 3 1 2 对跳跃连接过程中的特征进行处理 3
  • React笔记之组件-复杂state的使用(4)

    前置简介 上一节 https juejin im post 6867454175781847047 我们简单说了state的使用 本节说明一下复杂的state使用方式 如果state里不止有 n 怎么办 类组件中 state 中有多个值 d
  • 翰高数据库安装连接

    1 背景 最近公司在做一个军用机场跑道异物检测设备 但是由于各国之间的关系紧张 军放要求我们软件做一个国产数据库的适配 经查阅才知道这个翰高数据库用的内核为postgresql 然后再这个基础上做了一定修改与优化 废话不多说 安排 2 数据
  • jenkins 部署 和构建java项目

    1 准备环境依赖 jdk yum install jdk 8u261 linux x64 rpm 2 下载jenkins yum install https mirrors tuna tsinghua edu cn jenkins redh
  • 什么是 DevOps?看这一篇就够了!

    文章目录 一 前因 二 记忆 三 他们说 3 1 Atlassian 回答 什么是 DevOps 3 2 微软回答 什么是 DevOps 3 3 AWS 回答 什么是 DevOps 四 DevOps 文化 4 1 什么是文化 4 2 什么是
  • 特征重要性计算方法及神经网络的特征重要性

    这是我第63篇文章 这篇文章主要简单讲一些常用特征重要性计算方法及神经网络的特征重要性计算方法 1 几种常用的特征重要性计算方法 1 1 树模型特征重要性 像xgboost lightgbm等树模型都有自己计算特征重要性的方法 其特征重要性
  • 【面试题】fiddler怎么抓包,目的是什么?

    如何抓包 fiddler可以抓web app请求 web端主要是配置好设置然后信任证书 app需要在web中配置好端口 使用手机访问给定的证书地址 下载证书并安装到手机上 然后在手机的无线网络里设置下代理 目的 1 不知道接口的情况下 答
  • Unity实现UI跟随物体

    在项目有时候需要一个光标来提示物体的位置 并且可点击 我这里分享一个自己在开发过程中的小方法 首先的思路就是创建一个ui组件作为光标 不管是image 还是button 按自己实际需求而定 然后可以设置中心点pivot 接下来就是让这个光标
  • 创建蓝图函数

    如果把蓝图类当作C 类的设计图 那么函数是必不可少的 即成员函数 蓝图类中添加函数 改名 myPrint 类似于宏 这里也有输入输出参数接口 只是函数自带执行数据类型 而宏完全自定义 只打印出hello即可 在事件图表中 允许输入 按A键时
  • PCIe专题学习——2.4

    之前我们讲了对PCIe的一些基础概念做了一个宏观的介绍 了解了PCIe是一种封装分层协议 packet based layered protocol 主要包括事务层 Transaction layer 数据链路层 Data link lay
  • 循环神经网络matlab程序设计,matlab程序设计<神经网络源码>

    P 108 60 111 84 693 14 1119 66 533 38 80 01 184 58 160 32 253 28 89 18 158 68 213 48 28 59 441 63 590 93 680 20 145 23 2
  • 在IntelliJ IDEA IDE中添加jar包的步骤

    在IntelliJ IDEA IDE中添加jar包的步骤如下 打开IntelliJ IDEA 打开需要添加jar包的项目 在IntelliJ IDEA右侧的项目导航器中 找到项目 右键单击项目 选择 Open Module Settings
  • Python密码库Cryptography探究学习

    一 简介 Cryptography的目标是建立一个标准Python加密库 支持 Python 2 6 2 7 Python 3 3 and PyPy 2 6 如果对密码学领域感兴趣的话 可以学习Crypto 101 作者是 Laurens
  • 一、新建第一个工程——51、STM32、MSP432

    目录 一 51单片机 二 STM32 三 MSP432E401R 一 51单片机 步骤1 如图 双击桌面Keil5图标 打开keil5 点击 Project 点击New uvision project 步骤2 如图 找到合适的存放工程的位置