1
完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
大二下学期开了一门单片机的课STM32,之前了解过51单片机,对STM32的了解仅限于知道有点难…下面所使用到的安装包我都放到了个人网盘分享出来了,下载链接 (安装cubemx需要提前装java jdlk,其他安装都是傻瓜式安装) STM32 可以称为微控制器,也可以称为单片机。 可以理解成在一片集成芯片上集成计算机的组成部分 与计算机的区别 :本质上就是计算机,更加偏向于控制系统的应用,是计算机发展中与通用处理器同样重要的另一个分支。 有输入输出设备和处理单元 应用领域还是很广的 : 比如 家电玩具: 移动设备,平板电脑,网络设备,各种玩具等 物联网 :共享单车,智能家居设备,可穿戴设备等等 STM32CubeMx STM32CubeMX是ST意法半导体的主动原创工具,允许用户使用图形化向导生成C 初始化代码,可以大大减轻开发工作,时间和费用。 (如果偏应用为主的建议直接使用cubemx开发,如果要深入学习32,建议使用之前经典的标准外设库来开发 先学习标准外设库,但有必要抽时间了解STM32CubeMX) STM32CubeMX集成了一个全面的软件平台,支持STM32每一个系列的MCU开发。 创建新的工程可以对MCU型号直接进行选择,还可以指定系列 封装 外设等条件 安装元器件包 根据板子的型号进行安装,如果安装不正确或者没安装 就无法正常使用 可以根据型号选择在CubeMx里面安装(慢),或者是在网上下载好直接导入安装。 使用CubeMx配置模块 选择好对应的型号后 会出来图像化配置的界面 里面可以对 时钟,AD,GPIO口,串口,中断,定时器等进行直接配置 。 对GPIO配置(“通用可编程I/O端口) 对时钟进行配置 对AD和定时器进行配置 I2C 串口通信配置 根据实际场景需要配置相关模块,不同模块配置方式不同,不同场景下参数调整也不同。 生成代码 在生成代码之前需要将保存环境,以及接下来使用的编译软件选择好。否则生成代码会进度条会卡死。 填写项目名称(Project Name),所在位置(Project Location),打开软件(IDE)一般使用的是Keil5 选择 MDK-ARM v5. 这些都配置好之后,点击右上角 GENERSTE CODE 就会进行合成代码 然后会有一个进度条,跑完之后使用CubeMx的任务就完成了。 点击Open Project 的话就会使用之前配置的IDE进行打开该项目。 在项目文件夹中 直接点开ioc后缀的图标可以直接进行打开项目并修改 Keil5 使用cubemx只是辅助更快捷的配置一些模块,真正的应用还是需要在合成代码基础上进行修改代码,而修改代码使用的编译器就是下面提到的keil5. Keil C51是美国Keil软件公司(现已被ARM公司收购)出品的支持8051系列单片机架构的一款IDE(集成开发环境)。 支持的芯片有几百种,不仅支持51,也支持32. 当时记得有人说keil5也需要配置芯片包,不过我没配置也能使用。如果需要配置可以到官网下载,安装。链接地址 使用keil5打开cubemx合成的代码 可以在合成之后直接打开,也可以到项目文件夹下MDK-ARM文件夹下进行打开,双击uvprojx文件就可以打开这个项目 打开之后,一般是对main.c 里面的代码进行操作,当然也会用到其他代码。 根据项目的需要对代码进行添加,修改。然后就可以进行保存,调试,生成等操作 如果代码没什么问题的话就能够调试成功,并生成一个后缀为hex的文件 这个文件是要烧写到板子里面去的。 烧写工具 在电脑端写好的代码还是需要传到单片机上使用,讲写好的代码生成一个hex文件,通过烧写工具,对hex文件进行传输到单片机上。 我这里使用的是FlyMcu工具。(这种工具网上有很多) 需要配置的地方 下面那栏选择 DTR的低电平复位,RTS高电平进BootLoader (为什么选这个我不是很懂) 不然烧写会不成功 上面 开始编程 旁边,也可以配置一下 选择校验和编程后执行。(根据需要想应调整) 烧写程序 先选择好需要烧写的hex文件 可以文件夹打开或直接输入绝对路径 然后搜索串口 选择上传单片机所在的串口号 选择波特率 (一般是115200) 点击开始编程。 烧写失败也会有相应提示, 可以先清除芯片试试,或者按复位键 开关键调试 如果都不行,就要检查hex文件,烧写工具配置等等。 (以上使用的所有工具,安装包下载链接都在最上面网盘链接) |
|
|
|
只有小组成员才能发言,加入小组>>
3311 浏览 9 评论
2994 浏览 16 评论
3493 浏览 1 评论
9058 浏览 16 评论
4087 浏览 18 评论
1176浏览 3评论
604浏览 2评论
const uint16_t Tab[10]={0}; const uint16_t *p; p = Tab;//报错是怎么回事?
598浏览 2评论
用NUC131单片机UART3作为打印口,但printf没有输出东西是什么原因?
2334浏览 2评论
NUC980DK61YC启动随机性出现Err-DDR是为什么?
1895浏览 2评论
小黑屋| 手机版| Archiver| 德赢Vwin官网 ( 湘ICP备2023018690号 )
GMT+8, 2024-12-22 21:08 , Processed in 1.286305 second(s), Total 77, Slave 58 queries .
Powered by 德赢Vwin官网 网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
德赢Vwin官网 观察
版权所有 © 湖南华秋数字科技有限公司
德赢Vwin官网 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号