0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

学习STM32开发难不难? 如何将工程(修改来)运行在自己开发板上

黄工的嵌入式技术圈 来源:黄工的嵌入式技术圈 2020-03-25 11:27 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

Ⅰ、写在前面

学习STM32开发难不难?

笔者的回答:不难!!!

为什么不难?

1、ST提供了很多很好的资源,比如:标准外设库、多种资料(包括多版中文的翻译版资料)等。

2、很好的集成开发环境Keil、IAR等。

3、网上很多有用的分享,包括笔者在内的愿意把技术知识无偿分享出来的人。

学习STM32开发前途怎么样?

笔者的回答:只要你技术能力够强,月薪上万不是问题。

要学到什么程度才能找到相关工作?

1、首先要能灵活运用C语言常用知识编程,也就是说不要求精通,但要能灵活使用基本的语法(如:switch、for、break等),还需要对指针、结构体等有一定的掌握。

2、你得有自己独立开发的项目,项目的大小可以看得出你部分能力。

3、对STM32基本外设有部分了解并亲自写代码验证过。

Ⅱ、笔者想说的话

笔者觉得很多初学者不善于主动去学习,都是想利用现成的工程代码。笔者觉得这样学习的方法不会成就你今后的成功,人都有懒惰的一面,但现实就是这么残酷,没办法,你不努力,别人就会超过你。现在大学生就业的情况,我们大家都应该知道,可以说是一年不如一年好了。每一年都有成千上万的大学生进入社会,你在这个领域不付出点努力,总会有人在这个领域付出努力。

如今社会,不管是哪一行,竞争都很激烈。如果你决定选择了这一行,在不得已的情况下,请不要轻言说放弃。因为你放弃了就等于否定了你当初的决定,你再去决定选择另外一个行业,说不定今后你还会否定你当初的决定,这样会恶性循环下去。笔者的建议是:真正想想自己喜欢哪一行、适合哪一行,想好了再做决定。

关于学习STM32,笔者觉得它真的不难,需要的是我们的耐心,我们的努力。如果你当初只是感觉喜欢学习STM32,那么请保持这份感觉。如果你在学习的时候遇到困难,失去这份感觉了,请你用不同的方法找回这份感觉。如果你想放弃这一行,请做好进入另外一行的准备。

Ⅲ、如何将工程(修改来)运行在自己开发板上

可能很多朋友的开发板、调试板上面主控芯片和笔者提供讲解的工程实例不一样,那么,只要是同一个系列(比如同为F4系列:你的是STM32F427IG、笔者的是STM32F417ZG),只要适当修改一下工程配置就能使用了。

笔者告诉大家:STM32的兼容很好,有些工程可能不用修改,直接下载都能使用。(但是,作为学习尽量自己动手验证、如果只是测试某个功能,可以直接下载测试)。

好了,说了那么多,还是教大家如何使用我的工程:

1.了解笔者工程文件、工程结构关系


笔者使用的文件和工程结构如上图所示的对应关系。

文件结构中Libraries就是提取ST官方的标准外设库,对应添加到工程中(分为三类)。

文件中自定义的文件夹对应工程的一个组。

第一类(标准外设库):

Startup Code:启动代码

STM32F10x_StdPeriph_Driver:标准外设库库驱动

CMSIS:标准接口

第二类(用户自定义):

Bsp:应用底层代码(初始化、驱动等)

App:应用实现代码(配置OS、应用等)

第三类(描述):

Doc:ReadMe.txt描述文档,不会执行编译

2.同系列修改型号

同一系列(我们以F4系列为例,其他系列F0、F1这些原理一样)芯片的工程,如果资源都有,工程可以共用,只需要修改一下工程里的型号就行。

我们以F4工程为例,STM32F417ZG-> STM32F427IG修改方法如下三步骤。

参考工程下载地址:

https://yunpan.cn/cBQiZXDsvacwV 访问密码 a98e

1.修改工程配置型号

project ->Options for Target -> Device 修改为自己芯片的型号

修改方式如下动画:

2.修改源文件型号

笔者习惯在工程文件里面修改型号,原因在于这里可以看见具体的型号,也知道宏定义的名称(如:STM32F40_41xxx)。

其实,这个宏定义在工程配置中也可以定义,根据自己习惯选择定义。

修改方式如下动画:

3.修改启动文件

启动文件和芯片型号对应的关系,比较简单,如下动画:

3.应用相关

笔者提供的实例代码都是简化了很多无用的代码、比较基础的、容易理解的,基本上都是提供LED、USART1、TIM延时这种在所以芯片都有的功能。

如果你LED不是笔者提供例程里面的,很简单,在bsp.h文件下改一下对应IO口就行了。

如果你串口是使用USART2,只要usart.c文件下修改相关配置就行了。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ST
    ST
    +关注

    关注

    32

    文章

    1186

    浏览量

    132077
  • STM32
    +关注

    关注

    2305

    文章

    11120

    浏览量

    371145
  • 开发板
    +关注

    关注

    25

    文章

    6122

    浏览量

    113314
收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    STM32 Nucleo-64开发板技术解析与应用指南

    ARDUINO^®^ Uno V3连接和ST morpho接头,可轻松扩展STM32 Nucleo开放式开发平台的功能。该设有板载ST-LINK调试器/编程器,具有USB重新枚举功能。STM
    的头像 发表于 10-22 14:26 405次阅读
    <b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>开发板</b>技术解析与应用指南

    STM32 Nucleo-144开发板技术解析与应用指南

    STMicroelectronics NUCLEO-H7S3L8 STM32 Nucleo-144开发板采用STM32H7S3L8 MCU,提供了一个经济实惠的多功能平台,用于原型设计和实验
    的头像 发表于 10-17 14:40 526次阅读
    <b class='flag-5'>STM32</b> Nucleo-144<b class='flag-5'>开发板</b>技术解析与应用指南

    STM32 Nucleo-64开发板技术解析与应用指南

    STMicroelectronics -C051C8 STM32 Nucleo-64开发板通过由STM32微控制器为概念测试和原型创建提供了一种经济实惠且灵活的途径。该开发板支持ARD
    的头像 发表于 10-16 10:50 409次阅读
    ‌<b class='flag-5'>STM32</b> Nucleo-64<b class='flag-5'>开发板</b>技术解析与应用指南

    用visionboard进行视觉项目,如何将openmv中示例项目烧录到开发板中脱机运行

    用visionboard进行视觉项目,如何将openmv中示例项目烧录到开发板中脱机运行
    发表于 08-15 06:59

    【中科昊芯Core_DSC280025C开发板试用体验】+2.RAM工程与FLASH工程对比

    前言 大家好,非常感谢电子发烧友与中科昊芯提供的DSC280025C开发板,这是一款DSP的开发板,基于RISC-V指令架构。 在开发DSP的芯片的时候,要分代码运行在RAM模式和Fl
    发表于 07-04 10:37

    Linux系统查看及修改设备型号信息,触觉智能RK3562开发板演示

    本文介绍Linux系统如何查看及修改设备型号信息的方法,适用于想查看设备型号信息或者想将设备型号信息修改自己项目的名称的情况。触觉智能RK3562开发板演示。查看设备信息命令如下:c
    的头像 发表于 06-19 15:58 811次阅读
    Linux系统查看及<b class='flag-5'>修改</b>设备型号信息,触觉智能RK3562<b class='flag-5'>开发板</b>演示

    技术分享 | 迅为RK3568开发板如何将 Linux 板卡虚拟成U盘

    技术分享 | 迅为RK3568开发板如何将 Linux 板卡虚拟成U盘
    的头像 发表于 06-04 10:57 885次阅读
    技术分享 | 迅为RK3568<b class='flag-5'>开发板</b><b class='flag-5'>如何将</b> Linux 板卡虚拟成U盘

    同样的代码在官方开发板运行正常,在自己板子就跑不起来,怎么办?

    同样的代码在Nordic官方开发板可以运行正常,但在自己板子就跑不起来,如果你碰到了上述情况,建议按照如下步骤进行自检: 首先确认用户
    的头像 发表于 05-12 15:26 580次阅读
    同样的代码在官方<b class='flag-5'>开发板</b><b class='flag-5'>上</b><b class='flag-5'>运行</b>正常,在<b class='flag-5'>自己</b>板子<b class='flag-5'>上</b>就跑不起来,怎么办?

    如何在米尔-STM32MP257开发板实现环境监测系统

    本文介绍基于米尔电子MYD-LD25X开发板(米尔基于STM35MP257开发板)的环境监测系统方案测试。摘自优秀创作者-lugl4313820一、前言环境监测是当前很多场景需要的项目,刚好我正在
    的头像 发表于 04-17 08:06 2367次阅读
    如何在米尔-<b class='flag-5'>STM32</b>MP257<b class='flag-5'>开发板</b><b class='flag-5'>上</b>实现环境监测系统

    请问VisonFive2开发板如何将主频设置为1GHz?

    查阅相关资料只说明最大支持1.5GHz主频,新手入门请问如何将开发板主频设置为我想要的1GHz呢 该类开发板可以设置主频吗,请大佬解答
    发表于 03-10 06:16

    STM32开发板教程之STM32开发指南免费下载

    介绍了几个常用的系统文件(程序);3,实战篇,主要通过 56 个实例(绝大部分是直接操作寄存器完成的)带领大家一步步深入 STM32学习。   本指南为 ALIENTEK 战舰 STM32
    发表于 02-28 09:08 179次下载

    STM32MP25x开发板Bring Up培训课程(下)

    STM32MP25x开发板BringUp培训课程()STM32MP25x开发板BringUp培训课程(中)米尔基于
    的头像 发表于 02-27 08:03 1169次阅读
    <b class='flag-5'>STM32</b>MP25x<b class='flag-5'>开发板</b>Bring Up培训课程(下)

    STM32MP25x开发板Bring Up培训课程(中)

    STM32MP25x开发板BringUp培训课程()米尔基于STM32MP257核心开发板
    的头像 发表于 02-20 08:06 880次阅读
    <b class='flag-5'>STM32</b>MP25x<b class='flag-5'>开发板</b>Bring Up培训课程(中)

    OpenHarmony怎么修改DPI密度值?触觉智能RK3566鸿蒙开发板演示

    开源鸿蒙OpenHarmony系统下,修改DPI密度值的方法,触觉智能Purple Pi OH鸿蒙开发板演示,搭载了瑞芯微RK3566四核处理器,Laval鸿蒙社区推荐开发板,已适配全新开源鸿蒙OpenHarmony5.0 Re
    的头像 发表于 12-24 11:46 1082次阅读
    OpenHarmony怎么<b class='flag-5'>修改</b>DPI密度值?触觉智能RK3566鸿蒙<b class='flag-5'>开发板</b>演示

    【敏矽微ME32G070开发板免费体验】+ADC测试与LED点亮

    焊接的,累!!!感谢赠送了三颗芯片,所以我又找了一下开发板的原理图,精简了一下,在立创eda绘制了PCB,但是还没完成,完成之后会进行开源;如图: 总结:开发方式和标准库类似,函数名也相似,资料还需要整理,
    发表于 12-16 19:00