STM32入门笔记——环境配置、工程创建与工程移植

1 篇文章 0 订阅
1 篇文章 0 订阅

背景:

我是机械电子工程专业的一名本科生,网名小土豆,今年报名了本校的大学生科研训练计划,项目内容是给无人自行车做一个遥控装置,可以通过遥控器操纵车轮实现相应的操作(如轮毂电机转动,转向电机转动,配重电机实现摇摆动作等)。目前项目由我在内的三名本科生在做,今年国庆期间算是项目正式启动,购买了现有的PS2手柄套件与STM32F103ZET6开发板组件,目前我的第一个小目标就是想要让单片机接收到手柄发出的不同信号并作出相应的反应。

【附上手柄与开发板套件的taobao链接】

https://item.taobao.com/item.htm?spm=a230r.1.14.16.43a226f4rR2bI9&id=555936564562&ns=1&abbucket=4#detail

https://item.taobao.com/item.htm?spm=a230r.1.14.11.59b6624cHaPKt1&id=599739495038&ns=1&abbucket=5#detail

正文:

现在购买开发板会附赠丰富的教程、手册等参考资料,我个人感觉作为初学者,还应沉下心来跟随教程边看边做,顺便把心得收货随手记下,并理解操作背后的原理,才能为后面构建复杂的系统实现高阶的功能打下坚实基础。

虽然之前有上本专业的《微机原理与接口技术》这么课,但纸上得来终觉浅(况且时间过去这么久许多知识已被抛弃脑后),在做项目中带有目的去学习如何操作才是有效率的做法。

在昨天(10月3号)和今天(10月4号)我分别跟随教程做完开发环境的配置与工程文件的移植,用word记录视频讲解的每一步,现将其写为博客,以作分享。作为初学者,其中可能会出现错误,欢迎热心的朋友前来纠正,小土豆定当万分感谢!

以上是Keil环境配置与使用Keil移植工程(实例)的完整过程,之后就要阅读PS2手柄提供的例程,并以此为基础写一个单片机接收手柄信号并做出反应的程序。

要点总结:

1、Keil是一个编译器,将C语言文件(.c .h 等)编译成可执行文件,在编译选项中记得勾选“生成HEX(十六进制)文件”,这是单片机可以直接执行的程序。

2、Keil支持STLink在线调试工具,使用快捷键F7(编译)、F8(下载)使得调试过程更有效率。(文中略去了其他调试方式)

3、对于不同的芯片需要预装对应的库文件,通常ST官网【https://www.st.com/content/st_com/en.html】可以下载到,同时在工程选项中也要选择对应的芯片系列。

4、了解工程的文件架构对于工程移植的意义重大。通过比对例程文件与CubeMX生成的工程文件,可看出哪一些是工程必需的文件,那一些是冗余的。

5、在整理工程文件时,可将源码适当分类,如文中采用驱动、用户、启动等分类,便于寻找与管理。

6、工程选项中的路径设置可以消除头文件寻找不到的错误,且要设置为相对路径(Keil会自动修改,IAR则需要手动设置)

7、从文件名理解头文件的来源与用途,在未使用st原厂开发板时,将包括的“探索板”等开发板头文件删去,并通过已有工程来寻找头文件中定义的宏,并用定义替换宏名,可消除一部分直接移植带来的ERROR。

8、单片机编程离不开硬件原理图,引脚对应、高低电平设置需要不时查看原理图。

写在最后:

之前专业里上过的微机实验都是一些体量较小的程序,也大多由现成的例程来参考,对于较大的工程如何规范代码的书写,按照什么样的规则跟配引脚,如何进行中断与定时器的使用,这是我之后要不断学习和练习的。这是我的第一篇博客,以学习教程的笔记为内容,希望以后通过自己的不断学习能够写出更高质量的博客。

【关于本文的任何问题,欢迎大家提出意见或建议,我的邮箱zh98ang@163.com】

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值