你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

我是xu@xupt,我的2023年总结    

[复制链接]
xu@xupt 提问时间:2023-12-20 14:50 / 未解决

引言

在嵌入式系统的世界中,STM32F746作为一款高性能的微控制器,始终占据着至关重要的地位。这款控制器以其强大的处理能力、丰富的外设接口和灵活的内存配置,成为了广泛应用于多个领域的首选。从工业自动化到智能家居,再到复杂的物联网应用,STM32F746的影响力无处不在,它的灵活性和可扩展性使其成为开发者和工程师们的宠儿。
      我选择学习STM32F746,源于对嵌入式系统深厚的兴趣以及对技术挑战的渴望。作为一个对电子和编程有着浓厚兴趣的人,我渴望掌握一种可以实现复杂功能并且应用广泛的技术。STM32F746不仅提供了这样的平台,还拥有庞大的用户社区和丰富的学习资源,这极大地激发了我的学习热情。我的目标是不仅要深入理解这款微控制器的内部结构和工作原理,还要能够利用它来实现一系列创新的项目,如智能家居控制系统和自动化设备。
在过去的一年中,我从基础的硬件知识开始,逐渐深入到复杂的系统集成和问题解决。我所经历的不仅仅是技术上的学习,更是一次思维方式和问题解决能力的锻炼。STM32F746的学习之旅让我意识到,嵌入式系统并不是孤立的技术点,而是一个需要综合运用多方面知识和技能的领域。从最初的硬件配置,到后来的软件开发,再到最终的系统集成,每一步都充满了挑战和惊喜。
        一开始,我对STM32F746的了解仅限于其作为一款微控制器的基本功能。但随着学习的深入,我逐渐发现了它强大的多方面功能。它不仅仅是一个处理器那么简单,更是一个集成了高级通信接口、丰富外设支持和高效能源管理的复杂系统。学习STM32F746的过程,实际上是一个不断发现新问题、学习新知识和解决新挑战的过程。每当我在实现某个功能或解决某个问题时取得进展,都会感到一种由内而外的满足感。
        我的学习初衷不仅仅是为了掌握一项技术,更是为了在此基础上创造有价值的东西。我希望通过对STM32F746的深入学习,能够设计和构建实际可用的系统,为解决实际问题提供创新的方案。无论是在智能家居、环境监测还是在更为复杂的工业应用中,STM32F746都展现出了其不可替代的价值。通过一年的学习和实践,我逐渐将这些知识和技能内化为自己的一部分,这不仅使我在技术上有了质的飞跃,也为我未来的职业生涯打下了坚实的基础。
        总的来说,这一年的STM32F746学习之旅,不仅仅是对一款微控制器的深入了解,更是对自我能力和潜力的一次探索和挖掘。在这个过程中,我不仅学到了关于STM32F746的方方面面,更重要的是,我学会了如何学习一门复杂的技术,如何面对和解决问题,以及如何将理论知识应用于实际。这些经验和技能将伴随我继续在嵌入式系统和更广泛的技术领域中探索和成长。

b55601530e6dc5ea44750f9669b60db.jpg

感谢ST-管管派送的开发板

第一部分:基础学习

初识STM32F746

当我首次接触STM32F746时,我被其强大的特性和广泛的应用前景所吸引。作为ST微电子的一款高性能微控制器,STM32F746在嵌入式系统领域中占有重要地位。这一部分的学习主要分为三个阶段:硬件了解、软件入门和简单项目实践。

硬件了解

  • CPU特性
    • STM32F746搭载的是一个基于ARM Cortex-M7的核心,最高运行速度达到216 MHz。这样的处理能力保证了即使在处理复杂任务时也能保持良好的性能。
  • 内存配置
    • 它配备了多种内存选项,包括最多1MB的内部闪存和340KB的SRAM,这为大型应用程序和高级功能提供了足够的空间。
  • 丰富的外设接口
    • STM32F746提供了丰富的外设接口,包括USB OTG、以太网、SDIO等,使其能够轻松连接到各种设备和网络。

软件入门

  • 开发环境配置
    • 我的软件学习旅程开始于配置开发环境。我选择了Keil作为主要的开发工具,因为它提供了一个易于使用的界面和丰富的功能,特别适合STM32F746。
    • 另一个重要的工具是STM32CubeMX,它是一个图形化工具,可以帮助设计者快速配置微控制器的每个方面,包括时钟、外设以及中断。
  • 初步编程
    • 学习如何编程STM32F746是一个挑战。我从基本的C语言编程开始,逐步学习如何操作微控制器的各个部分。
    • 利用Keil和STM32CubeMX的强大功能,我能够编写代码来控制硬件,并实时调试来确保程序的正确性。

简单项目实践

  • LED闪烁项目
    • 我的第一个项目是实现LED灯的闪烁,这是学习任何新微控制器的经典入门项目。通过这个项目,我学习了如何控制GPIO(通用输入输出)引脚,以及如何编写定时器控制代码。
    • 实践中,我遇到了一些挑战,比如理解不同的引脚配置和定时器设置。通过不断尝试和错误,我最终成功让LED以我预设的频率闪烁。
  • 按键输入
    • 紧接着LED闪烁项目,我开始尝试更复杂的按键输入控制。这个项目让我学到了如何读取和处理来自外部设备的输入信号。
    • 我使用了STM32F746的中断功能来实现按键输入的即时响应。这个过程中,我对中断机制有了更深的理解,也学会了如何配置和优化中断服务程序。 通过这些基础学习阶段,我不仅掌握了STM32F746的核心特性,也为之后更加复杂的项目奠定了坚实的基础。这些初步的项目虽然简单,但它们是理解嵌入式系统的重要步骤,并为我后续学习的深入打下了良好的基础。通过不断地实践和探索,我逐渐从一个对STM32F746一无所知的新手,成长为了能够自信地操作和控制这款强大微控制器的开发者。

第二部分:进阶探索

深入学习过程

随着基础知识的巩固,我开始探索STM32F746的更高级特性,这一阶段的学习更加注重于理解复杂功能和实现综合性项目。

高级功能实现

  • DMA(直接存储器访问)的使用
    • 学习DMA是一个转折点,它极大地提高了数据处理效率。我首先理解了DMA的原理,即允许外设直接与存储器进行数据交换,而不必经过CPU。
    • 实践中,我利用DMA来管理数据的高效传输,如在ADC(模拟数字转换器)读取和内存之间的数据流。这不仅加快了数据处理速度,也减轻了CPU的负担。
  • 复杂的中断处理
    • 学习如何有效地使用中断,对于提高程序的响应性和处理效率至关重要。我深入学习了STM32F746的嵌套向量中断控制器(NVIC),这使我能够更精准地控制和管理各种中断源。
    • 在实践中,我尝试了多种中断优先级的配置,以确保关键任务能够及时响应,同时还学习了如何在中断服务程序中使用高效的编程技巧来减少处理时间。

复杂项目经验

  • 通信协议实现
    • 为了提升STM32F746的通信能力,我学习并实现了多种通信协议,如I2C和SPI。这些协议使我能够将STM32F746与各种传感器和外设连接。
    • 在一个项目中,我使用SPI协议连接了一个OLED显示屏。这个过程中,我不仅学会了如何配置和使用SPI接口,还深入理解了协议的通信机制和同步问题。
  • 传感器集成
    • 集成多种传感器到STM32F746是一个挑战,但也是学习的极好机会。我尝试连接了温度、湿度和运动传感器,这些项目让我对传感器的原理和数据处理有了更深的理解。
    • 在一个环境监测项目中,我成功地实现了多个传感器的数据同步读取和处理。通过这个项目,我学习了如何有效地管理多个数据源,并使用DMA来优化数据处理。 每个项目都是一个新的挑战,也是一个学习和成长的机会。通过实践这些项目,我不仅提高了对STM32F746的掌握程度,更重要的是,我学会了如何将理论知识应用于实际问题的解决中。这些经验不仅提高了我的编程技能,也锻炼了我的问题解决能力和创新思维。 在学习STM32F746的进阶阶段,我意识到了持续学习和实践的重要性。每个项目都带给我新的启发和思考,使我对嵌入式系统的理解更加深入。通过不断地挑战自我,我能够探索更多的可能性,并将我的技术能力推向新的高度。 总的来说,这个阶段的学习让我从一个基础水平的开发者成长为了能够独立设计和实现复杂功能的高级用户。我开始理解如何更好地利用STM32F746的高级特性,以及如何将它们应用于解决实际的问题。这些经验不仅为我未来的项目打下了坚实的基础,也为我的职业发展提供了宝贵的资产。

第三部分:挑战与解决

在学习STM32F746的过程中,我遇到了许多挑战。这些挑战不仅测试了我对STM32F746的理解,也锻炼了我的问题解决能力。以下是我在学习过程中遇到的一些主要挑战以及我是如何克服这些困难的。

问题诊断

  • 硬件问题定位
    • 在我的学习旅程中,硬件问题是一个常见的挑战。例如,我曾遇到过一个问题,STM32F746的引脚没有预期的输出。
    • 为了解决这个问题,我首先检查了电路板和焊接点,确保所有连接都是正确且牢固的。接着,我使用示波器来检测信号,确认引脚是否真的没有输出。
    • 通过这种方法,我发现问题实际上是由于引脚配置错误造成的。我回到代码中,仔细检查了所有的引脚配置,并最终解决了这个问题。
  • 软件错误调试
    • 软件错误是另一个常见的挑战。我曾经遇到过一个问题,我的程序在运行一段时间后就会意外地停止。
    • 为了解决这个问题,我使用了Keil的调试工具来逐步执行程序,同时监控内存和处理器的状态。这使我能够定位到问题发生的具体位置。
    • 经过仔细的代码审查和调试,我发现这个问题是由于一个内存溢出错误引起的。我修正了相关的数据处理逻辑,从而解决了这个问题。

学习资源

  • 网络资源的利用
    • 互联网是一个宝贵的学习资源。在遇到问题时,我经常会首先搜索相关的技术论坛和博客。这些在线资源提供了大量的案例研究和解决方案,对我解决问题非常有帮助。
    • 我经常访问的资源包括STM的官方论坛、Stack Overflow以及各种专业的电子工程博客。这些资源不仅提供了解决问题的具体方法,还帮助我了解更广泛的应用场景和高级技术。
  • 文档和教程
    • STM32F746的官方文档是另一个重要的学习资源。官方文档详细地介绍了每个功能和外设的使用方法,是理解如何使用STM32F746的关键。
    • 除此之外,我还经常观看YouTube上的教程视频。这些视频通过实际的项目示例,直观地展示了如何使用STM32F746的各种功能。 通过这些挑战和解决方案,我不仅提高了对STM32F746的技术掌握,还学会了如何有效地利用各种资源来解决问题。这些经验对我未来的学习和项目开发都是非常宝贵的财富。 在整个学习过程中,我逐渐认识到,面对挑战和解决问题是学习的一个重要部分。每一个问题都是一个学习的机会,每一个解决方案都是我能力的提升。通过这些经历,我不仅在技术上变得更加成熟,也在解决问题的方法和思路上得到了极大的提高。 总的来说,这一部分的学习经历让我更加深刻地理解了STM32F746的复杂性和强大功能。同时,我也学会了如何有效地利用各种资源来克服学习中的障碍。这些经验无疑会对我未来的职业生涯产生深远的影响。

第四部分:实际应用

实践应用的重要性

将所学知识应用到实际项目中是验证学习成果的最佳方式。在学习STM32F746的过程中,我始终着眼于如何将理论知识转化为实际的技术解决方案。以下是我实施的项目,它们展示了我如何将学习成果应用于实际。

个人项目案例

  • 智能家居控制系统
    • 我的第一个大型项目是创建一个基于STM32F746的智能家居控制系统。这个系统能够控制家中的灯光、温度和安全系统。
    • 利用我在学习过程中掌握的技能,我设计了一个可以通过手机应用远程控制的系统。我利用ESP32+STM32F746组合,实现了设备与手机应用之间的通信。
    • 此外,我还集成了多个传感器,如温度传感器、湿度、亮度等传感器。

成果与反思

  • 智能家居控制系统反思
    • 这个项目还算成功,展示了STM32F746在实际应用中的强大能力。我特别满意的是,通过这个项目,我能够深入理解和应用了网络通信和传感器数据处理。
    • 然而,也存在一些不足。例如,我发现系统在处理多个任务时有时会出现响应延迟。这让我意识到了在设计复杂系统时,对系统性能的评估和优化的重要性。 通过这些项目,我不仅将学习的理论知识应用于实际,还在实践中继续学习和成长。这些项目经验增强了我的信心,并且提供了宝贵的教训,为我未来的项目提供了指导。 总体来说,这些项目不仅证明了我掌握STM32F746的能力,也展示了我将理论知识转化为实际解决方案的能力。每一个项目都是一个新的学习过程,让我更加深入地理解了嵌入式系统的复杂性和挑战。这些实践经验是我学习旅程中不可或缺的一部分,它们不仅提升了我的技术技能,也锻炼了我的创新思维和问题解决能力。在未来,我期待着将这些经验应用到更多的项目中,继续我的学习和探索之旅。

结论

一年学习经历的总结

过去一年的学习之旅对我来说是一段极其宝贵的经历。在这段时间里,我不仅深入了解了STM32F746的各种功能和应用,而且在实际操作中锻炼了我的技术能力。我的学习之路从基础的硬件认识开始,逐渐扩展到软件开发,最后达到了实际项目的实施。每一步都伴随着挑战和成长,使我从一个对STM32F746几乎一无所知的初学者,成长为能够熟练操作并应用它来解决实际问题的开发者。
      通过这一年的学习,我学会了如何利用STM32F746的高级特性,比如DMA和中断处理,这些知识在我的项目中得到了实际应用。我还学会了如何结合网络资源和社区论坛来克服技术障碍,这对我的快速成长至关重要。通过个人项目的实践,我不仅提升了我的技术技能,更重要的是,我学会了如何将理论知识转化为创新的解决方案。

未来学习方向和计划

展望未来,我计划继续深入学习STM32F746,特别是在其更高级功能和新技术的应用方面。我打算探索更复杂的项目,比如利用STM32F746进行图像处理或创建更加智能的自动化系统。这不仅将挑战我的技术能力,也将促进我的创新思维。
我还计划加强与在线社区的互动,参与更多的讨论和协作项目。通过这种方式,我可以保持对最新技术趋势的敏感,并与来自世界各地的开发者交流经验和思想。
      此外,我也有意向参加相关的研讨会和技术培训,以进一步提升我的专业知识和技术水平。我相信,通过不断的学习和实践,我能够在嵌入式系统领域取得更大的进步。
      最后,我希望能够将所学应用于更广泛的领域,如物联网(IoT)和机器学习。这不仅将增强我的技术背景,也将为我未来的职业生涯开辟新的可能性。
        总之,过去一年的学习经历为我提供了坚实的基础,使我对STM32F746有了深刻的理解和丰富的实践经验。我期待着在未来的学习和项目中,继续探索更多的可能性,不断挑战自我,成为一个更全面、更有创造力的开发者。

2024年学习计划:基于STM32F746 + OV2640的TinyML学习

目标与概述

在2024年,我的学习计划将集中于探索和应用基于STM32F746和OV2640摄像头模块的TinyML(小型机器学习)项目。这一项目旨在将嵌入式系统与机器学习技术相结合,开发出能够执行简单机器学习任务的智能设备。通过这个项目,我希望能够提升我的技术能力,特别是在机器学习和图像处理领域。

学习计划

  1. 基础知识回顾和准备
    • 复习STM32F746的核心功能和编程。
    • 学习OV2640摄像头模块的技术规格和使用方法。
    • 研究TinyML的基础知识,包括机器学习模型的基本概念和应用。
  2. 集成OV2640与STM32F746
    • 实现OV2640摄像头模块与STM32F746的物理连接。
    • 编写代码,实现基本的图像捕捉功能。
    • 学习如何处理和存储图像数据。
  3. 机器学习模型的探索和实施
    • 选择合适的机器学习模型用于图像识别或其他相关任务。
    • 学习如何在有限的资源下优化和实施机器学习模型。
    • 在STM32F746上部署和测试机器学习模型。
  4. 项目开发与实践
    • 设计一个具体的应用案例,如面部识别、物体跟踪等。
    • 开发并实施整个系统,包括数据收集、处理和模型应用。
    • 对系统性能进行测试和优化。
  5. 学习资源的利用
    • 利用在线课程和教程深化对TinyML和图像处理的理解。
    • 参与相关的社区论坛,与其他开发者交流和学习。
    • 阅读相关书籍和论文,以了解最新的技术发展和研究趋势。
  6. 反思与调整
    • 定期评估学习进度和项目发展,确保目标的实现。
    • 根据实际情况调整学习计划和项目方向。
    • 保持对新技术和方法的开放态度,不断学习和适应。

期望成果

通过这一年的学习和实践,我希望能够成功开发出一个基于STM32F746和OV2640的TinyML项目,并在此过程中提升我的机器学习、嵌入式编程和图像处理技能。此外,我也期待能够通过这个项目深入理解TinyML在实际应用中的潜力和局限,为将来更复杂的项目打下坚实的基础。
19 收藏 评论15 发布时间:2023-12-20 14:50

举报

15个回答
STMCU-管管 回答时间:2023-12-21 08:23:28
很不错的总结
星海灿烂 回答时间:2023-12-21 08:44:04
[md]大佬,STM32CubeAI有教程嘛,也想玩玩。可以分享一下,望不吝赐教
Yude 回答时间:2023-12-21 13:49:27

太详实了,申请转到STM32 公众号上

xu@xupt 回答时间:2023-12-21 15:48:23

[md]感谢认可,能不能留下一个赞呀
xu@xupt 回答时间:2023-12-21 15:50:12

星海灿烂 发表于 2023-12-21 08:44
大佬,STM32CubeAI有教程嘛,也想玩玩。可以分享一下,望不吝赐教

[md]image.png

求一个赞

image.png
xu@xupt 回答时间:2023-12-21 15:50:41

Yude 发表于 2023-12-21 13:49
太详实了,申请转到STM32 公众号上

感谢认可,希望能留一个赞

watershade 回答时间:2023-12-23 10:09:57
[md]楼主总结写的很用心。未来可期
凤凰息梧桐 回答时间:2023-12-24 08:16:23

谢谢分享 很详细

BEEE 回答时间:2023-12-25 11:16:00
[md]点赞
xu@xupt 回答时间:2023-12-25 14:47:16

BEEE 发表于 2023-12-25 11:16
点赞

[md]感谢支持~~~

LN 回答时间:2023-12-26 15:11:08

不错的总结

xu@xupt 回答时间:2023-12-26 15:56:42

LN 发表于 2023-12-26 15:11
不错的总结

感谢大佬的认可~~

lugl 回答时间:2023-12-27 15:32:20

挺牛的兄弟呀!向你学习了。

xu@xupt 回答时间:2023-12-28 09:15:31

lugl 发表于 2023-12-27 15:32
挺牛的兄弟呀!向你学习了。

感谢大佬的认可~~~

12下一页
关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
STM32Cube扩展软件包
意法半导体边缘AI套件
ST - 理想汽车豪华SUV案例
ST意法半导体智能家居案例
STM32 ARM Cortex 32位微控制器
关注我们
st-img 微信公众号
st-img 手机版