当前位置:   article > 正文

0. 江协科技/江科大-STM32入门教程-各章节详细笔记-查阅传送门-STM32标准库开发_江协科技stm32笔记

江协科技stm32笔记

前言:博主每句话都记录了江科大的STM32标准库视频教学,适合小白入门,句句都是精华。

博主在学习完江科大STM32标准库后,进一步提升进阶认真学习记录了WIFI物联网MQTT相关内容以及Android开发,完整实现了STM32+ESP8266+MQTT+阿里云+APP物联网WIFI应用。以及使用立创EDA画了第一块PCB板子,以及将学到的知识进行单片机实战开发,以上都认真博文记录了过程。亲测无误,实战开发。以上进阶提升相关博客链接在目录最下方(我的主页专栏)。

视频对应目录如下(查阅传送门)

视频对应目录STM32入门教程

P1-3 [1-2]&[2-1]

1.STM32简介、系统介绍、软件安装
P4 [2-2]2.基于标准库(库函数)新建工程
P5 [3-1]3.GPIO结构、GPIO输出
P6 [3-2]4.示例程序(LED闪烁&LED流水灯&蜂鸣器)
P7 [3-3]5.GPIO输入、库函数必备C语言知识
P8 [3-4]6.示例程序(按键控制LED&光敏传感器控制蜂鸣器)
P9 [4-1]7.OLED简介、OLED电路、OLED驱动函数
P10 [4-2]8.示例程序(OLED驱动函数)、keil的调试模式
P11 [5-1]9.中断系统、EXTI外部中断
P12 [5-2]10.EXTI中断示例程序(对射式红外传感器&旋转编码器计次)
P13 [6-1]11.TIM定时中断
P14 [6-2]12.示例程序(定时器定时中断&定时器外部时钟)
P15 [6-3]13.TIM输出比较
P16[6-4]14.TIM输出比较示例程序(PWM驱动LED呼吸灯&PWM驱动舵机&PWM驱动直流电机)
P17[6-5]15.TIM输入捕获
P18[6-6]16.PWM输入捕获示例程序(输入捕获模式测频率&PWMI模式测频率和占空比)
P20[6-8]18.示例程序(编码器接口测速)
P21[7-1]+P22[7-2]19.ADC模数转换器知识点+AD单通道&AD多通道应用程序示例
STM32入门教程持续更新...学到这里就差不多可以进行提升进阶了
提升进阶

完整实现STM32+ESP8266+MQTT+阿里云+APP

https://blog.csdn.net/m0_61712829/category_12545281.html?spm=1001.2014.3001.5482

立创EDA-零基础完整PCB设计GD32F103C8T6板子

https://blog.csdn.net/m0_61712829/category_12553358.html?spm=1001.2014.3001.5482

Android软件开发

https://blog.csdn.net/m0_61712829/category_12455686.html?spm=1001.2014.3001.5482

单片机实战开发项目分享

https://blog.csdn.net/m0_61712829/category_12532674.html?spm=1001.2014.3001.5482
持续更新中...

若有任何问题可随时私信博主(公主呺:阿齐Archie)。

提升进阶内容专栏部分是付费专栏,码字整理不易,感谢您的支持,是继续创作的动力。

后续会持续更新嵌入式领域内容,对于单片机项目实战开发/嵌入式相关项目实战,后续可能会在我的B站更新项目讲解,欢迎您的关注。如下是我的B站个人主页。阿齐Archie-嵌入式开发的个人空间-阿齐Archie-嵌入式开发个人主页-哔哩哔哩视频


接下来内容可不看,本文前面内容太少为了筹字数以提升本文质量分。

(博主不喜欢废话,不愿耽误您时间)。 


STM32标准库开发导航

对于STM32标准库开发的入门知识,以下是一些基本概念和常用的功能:

1. 寄存器和寄存器映射:
   - STM32微控制器内部有多个寄存器用于配置和控制外设。
   - 寄存器映射是指将这些寄存器的地址映射到特定的内存地址,以便通过编程访问和配置。

2. 系统时钟和时钟树:
   - STM32微控制器有多个时钟源和分频器,用于生成系统时钟和外设时钟。
   - 时钟树是指这些时钟源和分频器之间的关系和连接,决定了系统时钟和外设时钟的频率。

3. GPIO控制:
   - GPIO(General Purpose Input/Output)是STM32微控制器的通用输入输出引脚。
   - 使用GPIO控制函数,可以配置引脚的输入/输出模式、上拉/下拉电阻、速率和操作等。

4. 定时器和计数器:
   - STM32微控制器内部有多个定时器和计数器,用于测量时间、生成定时中断、PWM输出等。
   - 可以配置定时器的预分频器、自动重载寄存器(ARR)、计数模式和触发源等。

5. 串口通信:
   - STM32微控制器内部有多个串口(USART、UART)模块,用于与其他设备进行串口通信。
   - 可以配置串口的波特率、数据位、停止位、校验位和中断等功能。

以上是一些入门知识,但这只是冰山一角,STM32还提供了许多其他外设和功能,例如DMA、ADC、DAC、I2C、SPI等。您可以进一步学习和了解这些功能以适应特定应用需求。

您可以参考STMicroelectronics官方提供的STM32数据手册和参考手册,其中包含了详细的技术规格、库函数的使用方法和代码示例。同时,还可以使用STM32CubeMX工具来快速生成初始化代码,并参考官方提供的例程来学习和理解STM32标准库的使用。

当您已经掌握了STM32标准库的基础知识后,可以进一步学习以下内容来拓展您的STM32标准库开发能力:

1. 中断和NVIC:
   - 学习如何配置和使用中断,以响应特定事件(例如定时器溢出、外部触发等)。
   - 了解NVIC(Nested Vectored Interrupt Controller)以管理中断优先级和中断控制。

2. DMA(直接内存访问):
   - 学习如何使用DMA来实现高效的数据传输,减轻CPU的负载。它可以用于外设之间的数据传输,如ADC数据采集、UART数据传输等。

3. ADC(模数转换器):
   - 学习如何配置和使用内部的ADC模块来进行模数转换,将模拟信号转换为数字信号。
   - 熟悉采样时间、通道选择、转换触发以及DMA传输等ADC相关功能。

4. PWM(脉冲宽度调制):
   - 学习如何使用定时器和比较输出功能,生成PWM信号控制电机、LED等外设。
   - 了解PWM的工作原理、周期、占空比等参数。

5. 外部中断和输入捕获:
   - 学习如何使用外部中断来检测外部触发事件,例如按键。
   - 了解输入捕获功能,以测量外部信号的频率或脉冲宽度。

6. 编码器接口:
   - 学习如何使用编码器接口(例如正交编码器)来测量旋转或线性运动。
   - 熟悉编码器的工作原理和接口配置。

此外,您还可以研究其他外设和功能,如I2C总线通信、SPI总线通信、CAN总线通信、RTC(实时时钟)等,以满足特定应用需求。

当您对STM32标准库的基础知识和常见功能有一定掌握后,您可以进一步提升STM32标准库开发的技能,以下是一些可以继续学习和探索的主题:

1. 低功耗模式:
   - 学习如何配置STM32单片机进入低功耗模式,以降低功耗并延长电池寿命。
   - 了解不同类型的低功耗模式,如睡眠模式、停止模式和待机模式等。

2. 操作系统支持:
   - 学习如何在STM32上运行嵌入式操作系统(如FreeRTOS)。
   - 了解任务调度、任务通信和同步机制。

3. 外设驱动和库扩展:
   - 学习如何编写自己的外设驱动程序,以适应特定的应用需求。
   - 扩展STM32标准库以支持其他外设或自定义功能。

4. Bootloader和固件升级:
   - 学习如何编写和实现STM32的Bootloader,允许通过串口或其他方式对固件进行更新。
   - 了解固件升级的安全性和可靠性。

5. 调试技巧:
   - 学习如何使用调试工具(如ST-Link)进行实时调试和跟踪。
   - 掌握断点、观察变量和寄存器等调试技巧。

6. RTOS(实时操作系统):
   - 如果您需要更复杂的任务调度和并发处理能力,学习使用RTOS(如FreeRTOS或RTOS)进行应用开发。

此外,您还可以深入学习更高级的主题,如USB通信、以太网通信、图形界面开发等。不断进行项目实践,并在STM32社区或论坛上参与讨论,与其他开发者分享经验和学习。

最重要的是,不断动手实践和探索,并善用STM32官方文档和资源,以加深对STM32标准库开发的理解和掌握。

当您已经掌握了STM32标准库的基础知识和常见功能后,以下是一些进阶的主题和建议,以便提升您的STM32标准库开发技能:

1. 优化代码和性能:
   - 学习如何编写高效的代码,减少内存占用和计算时间。
   - 了解编译器优化选项和调试工具的使用,以改善代码性能。

2. RTOS和多任务处理:
   - 如果项目需要复杂的任务调度和并发处理,学习使用RTOS(如FreeRTOS或RTOS)来管理任务。
   - 了解任务优先级、同步机制(如信号量、互斥锁)和通信机制等。

3. 外设驱动开发:
   - 进一步学习如何编写自定义的外设驱动程序,以满足特定的应用需求。
   - 熟悉外设的寄存器映射和相关操作。

4. 内存管理:
   - 学习如何进行动态内存管理,以避免内存泄漏和最大限度地利用有效的内存资源。
   - 了解堆和栈的管理、内存分配和释放。

5. 片上调试:
   - 如果STM32微控制器支持片上调试功能,学习如何使用该功能进行硬件级调试和跟踪。
   - 掌握时钟频率、时序、寄存器值的即时调试等。

6. 功耗优化:
   - 学习如何通过优化电源管理、外设的控制和时钟频率的选择来降低系统功耗。
   - 了解STM32提供的低功耗功能和睡眠模式的配置。

7. 移植和跨平台开发:
   - 学习如何在不同的STM32微控制器系列之间进行代码移植,以便适应不同的硬件平台。
   - 掌握跨平台开发技巧,使代码在不同的开发环境和编译器中都能正常运行。

除了以上建议,您还可以参考其他技术书籍、在线教程和学习资源,以丰富您的STM32标准库开发知识。同时,参与STM32社区和论坛的讨论,与其他开发者交流经验和学习。

最重要的是持续实践和探索,通过实际项目和挑战来巩固自己的技能和知识。

当您已经掌握了STM32标准库的基础知识,并且探索了一些进阶主题后,您可以考虑以下几个方向来进一步提升您的STM32嵌入式开发技能:

1. 嵌入式系统架构设计:
   - 学习如何设计和构建复杂的嵌入式系统架构,包括软件架构和硬件架构的设计。探索如何将STM32微控制器与外围设备和传感器集成到系统中。

2. 实时数据处理和算法优化:
   - 如果您的应用需要进行实时数据处理或者涉及复杂算法,学习如何优化算法以适应嵌入式系统的资源受限特性。探索数字信号处理(DSP)等相关技术。

3. 安全和可靠性设计:
   - 深入了解嵌入式系统中的安全和可靠性设计原则,学习如何防范信息泄露、系统瘫痪和入侵。探索加密算法、安全协议和固件签名等相关内容。

4. 自动化测试和持续集成:
   - 学习如何建立自动化测试框架,包括单元测试、集成测试和端到端测试,以及将持续集成(CI)和持续交付(CD)流程应用到嵌入式软件开发中。

5. 物联网(IoT)和无线通信:
   - 如果您的项目涉及到物联网和无线通信,可以深入研究相关技术,如Wi-Fi、蓝牙、LoRa等,以及相关协议和安全性。

6. 工业标准和规范:
   - 了解行业相关的标准和规范,例如ISO 26262(汽车电子安全)、IEC 61508(功能安全)等,以及如何在嵌入式系统设计中遵循这些标准。

7. 持续学习和关注行业趋势:
   - 订阅嵌入式系统领域的期刊、博客或专业论坛,以保持对行业发展、新技术和最佳实践的了解。

以上这些方向将有助于您在STM32嵌入式开发领域取得更为深入的技术提升,提升您在嵌入式系统开发和应用方面的能力。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/457355
推荐阅读
相关标签
  

闽ICP备14008679号