STM32入门教程课程简介(B站江科大自化协学习记录)

课程简介

STM32最小系统板+面包板硬件平台

硬件设备

STM32面包板入门套件
Windows电脑
万用表、示波器、镊子、剪刀等

软件介绍

Keil MDK 5.24.1 是一款嵌入式软件开发工具,它提供了一个完整的开发环境,包括编译器、调试器和仿真器。它支持各种微控制器,包括 ARM、Cortex-M、Cortex-R 和 8051 等。Keil MDK 是一款非常流行的嵌入式软件开发工具,它已经被广泛地应用在各种嵌入式系统中。

Keil MDK 5.24.1 提供了一系列的软件组件,包括 C 编译器、汇编器、连接器、库文件和调试器等。它还提供了一系列的集成开发环境(IDE)工具,包括代码编辑器、编译器和调试器。Keil MDK 还提供了一些可视化的工具,如代码分析器和代码优化器等,帮助开发者快速开发高质量的嵌入式系统。

Keil MDK 5.24.1 还提供了一些优秀的调试工具,如实时变量查看器、实时内存查看器和实时寄存器查看器等。这些工具可以帮助开发者快速地找到程序中的错误和问题,并进行调试和修复。Keil MDK 还提供了一些仿真器,如模拟器和仿真器等,可以帮助开发者进行系统级仿真和调试。

除了提供一系列的软件组件和开发工具外,Keil MDK 5.24.1 还提供了一系列的示例代码和应用程序,帮助开发者快速上手和开发嵌入式系统。Keil MDK 还提供了一些在线资源,如论坛和知识库等,可以帮助开发者快速解决问题和获取最新信息。

总之,Keil MDK 5.24.1 是一款优秀的嵌入式软件开发工具,它提供了一系列的软件组件和开发工具,帮助开发者快速开发高质量的嵌入式系统。如果你是一名嵌入式软件开发者,那么 Keil MDK 5.24.1 绝对是你不容错过的工具。

套件介绍

在这里插入图片描述

1-STM32F103C8T6核心板 . 2-STLINK下载器3-有源蜂鸣器4光敏电阻传感器5 热敏电阻传感器6-寻迹传感器
■7-测速传感器8-OLED显示屏9-TB6612电机驱动10-SG90舵机■11 -旋转编码器12-CH340 USB转串口
■13-MPU6050 陀螺仪加速度计■14-W25QXX Flash闪存

STM32简介

在这里插入图片描述

STM32是意法半导体(STMicroelectronics)推出的一系列32位单片机产品。它们基于ARM Cortex-M内核,具有高性能、低功耗和丰富的外设资源等特点。STM32系列产品广泛应用于工业、汽车、消费电子等领域。

STM32单片机具有丰富的外设资源,包括通用输入输出口、定时器、PWM输出、ADC、DAC、USART、SPI、I2C、USB等接口。同时,它们具有良好的可扩展性,支持多种外设的扩展,满足不同应用场景的需求。

STM32单片机的低功耗特性也是其优势之一。它们支持多种低功耗模式,可以在工作时最大程度地降低功耗,延长电池寿命。同时,STM32还支持多种唤醒源,可以在低功耗模式下及时响应外部事件。

总之,STM32系列单片机具有高性能、低功耗、丰富的外设资源和可扩展性等优点,是嵌入式系统设计中广泛使用的一种单片机产品。

ARM简介

ARM是一家英国公司,致力于设计低功耗、高性能的处理器架构和IP核。其处理器架构包括Cortex-A、Cortex-R和Cortex-M三个系列,分别用于应用处理器、实时处理器和嵌入式处理器领域。ARM处理器的优点是体积小、功耗低、性能高、易于集成和可扩展性强,被广泛应用于移动设备、智能家居、工业控制等领域。目前,ARM处理器在全球范围内的市场份额超过了90%。
在这里插入图片描述

STM32F103C8T6简介

STM32F103C8T6是STM32系列单片机中的一种,采用LQFP48封装,主频72MHz,内核为ARM Cortex-M3。其外设资源包括16KB SRAM、64KB Flash、定时器、PWM输出、ADC、USART、SPI、I2C、USB等接口。供电电压范围为2.0V至3.6V。
在这里插入图片描述

片上资源/外设

在这里插入图片描述

  • 16KB SRAM:用于存储程序和数据
  • 64KB Flash:用于存储程序代码
  • 定时器:可用于生成精确的时间延迟或脉冲输出
  • PWM输出:可用于控制电机、LED等外设
  • ADC:可用于模拟信号采集
  • USART:可用于串行通信
  • SPI:可用于高速串行通信
  • I2C:可用于低速串行通信
  • USB:可用于连接USB设备
  • CAN总线:可用于工业控制、汽车电子等领域的通信
  • SDIO:可用于SD卡和MMC卡的读写
  • Ethernet:可用于以太网通信
  • LCD控制器:可用于连接液晶显示屏
  • DMA:可用于实现高速数据传输
    这些外设资源可以通过寄存器编程的方式进行配置和控制,以满足不同应用场景的需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/3690.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

浅谈Dubbo的异步调用

之前简单写了一下dubbo线程模型,提到了Dubbo底层是基于NIO的Netty框架实现的,通过IO线程池和Work线程池实现了请求和业务处理之间的异步从而提升性能。 这篇文章要写的是Dubbo对于消费端调用和服务端接口业务逻辑处理的异步,在2.7版本中Dubb…

异构数据库转换工具体验:将SQLServer数据转换迁移到MySQL

背景 想将一个线上数据库从 SQLServer 转换迁移到 MySQL ,数据表70多张,数据量不大。从网上看很多推荐使用 SQLyog ,还有 Oracle MySQL Server 官方的 Workbeach 来做迁移,但是步骤稍显繁琐;后来从一篇文章的某个角落…

进程间通信【Linux】

文章目录1. 进程间通信1.1 什么是进程间通信1.2 进程间通信的必要性1.3 进程间通信的本质1.4 进程间通信的方式2. 匿名管道2.1 匿名管道的概念2.2 匿名管道的原理注意2.3 实现匿名管道pipe函数步骤1. 创建管道2. 创建子进程3. 构建单向信道子进程父进程构建一个变化的字符串写入…

代码质量提升,代码扫描 review 之 Codacy 工具使用

目录一、什么是Codacy二、GitHub 上使用 Codacy三、Codacy上导入GitHub项目一、什么是Codacy Codacy 是用于代码 review 检测(即代码审查)的工具,目前支持对40多种编程语言检测,如 c、c、c#、java 、python、javascript 等。 Codacy 可用于 GitHub 和 …

【Java 并发编程】我们为什么要学并发编程?

我们为什么要学并发编程?1. 为什么要并发编程?1.1 面试需要1.2 性能调优(1)加快响应时间(2)代码模块化、异步化(3)充分利用 CPU 的资源2. 并发编程的基础概念2.1 进程和线程&#xf…

python自动发送邮件(html、附件等),qq邮箱和网易邮箱发送和回复

在python中,我们可以用程序来实现向别人的邮箱自动发送一封邮件,甚至可以定时,如每天8点钟准时给某人发送一封邮件。今天,我们就来学习一下,如何向qq邮箱,网易邮箱等发送邮件。 一、获取邮箱的SMTP授权码。…

树与二叉树的存储与遍历

文章目录一、树概念二、二叉树三、二叉树的存储与遍历一、树概念 如前面的顺序表,链表,栈和队列都是线性的数据结构,树是非线性的结构。树可以有n个结点,n>0,当n0是就表示树为空 n>0,代表树不为空,不为空的树&am…

Idea+maven+spring-cloud项目搭建系列--11 整合dubbo

前言: 微服务之间通信框架dubbo,使用netty (NIO 模型)完成RPC 接口调用; 1 dubbo 介绍: Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提…

如果大学能重来,我绝对能吊打90%的大学生,早知道这方法就好了

最近收到很多大学生粉丝的私信,大多数粉丝们都迷茫着大学计算机该怎么学,毕业后才能找到好工作。 可能是最近回答这方面的问题有点多,昨晚还真梦回大学…其实工作了20多年,当过高管,创过业,就差没写书了。…

基于 Docker 的深度学习环境:入门篇

这篇文章聊聊如何从零到一安装、配置一个基于 Docker 容器的深度学习环境。 写在前面 这段时间,不论是 NLP 模型,还是 CV 模型,都得到了极大的发展。有不少模型甚至可以愉快的在本地运行,并且有着不错的效果。所以,经…

【数据结构】实现二叉树的基本操作

目录 1. 二叉树的基本操作 2. 具体实现 2.1 创建BinaryTree类以及简单创建一棵树 2.2 前序遍历 2.3 中序遍历 2.4 后序遍历 2.5 层序遍历 2.6 获取树中节点的个数 2.7 获取叶子节点的个数 2.8 获取第K层节点的个数 2.9 获取二叉树的高度 2.10 检测值为val的元素是否…

Fiddler抓取https史上最强教程

有任何疑问建议观看下面视频 2023最新Fiddler抓包工具实战,2小时精通十年技术!!!对于想抓取HTTPS的测试初学者来说,常用的工具就是fiddler。 但是初学时,大家对于fiddler如何抓取HTTPS难免走歪路&#xff…

使用stm32实现电机的PID控制

使用stm32实现电机的PID控制 PID控制应该算是非常古老而且应用非常广泛的控制算法了,小到热水壶温度控制,大到控制无人机的飞行姿态和飞行速度等等。在电机控制中,PID算法用的尤为常见。 文章目录使用stm32实现电机的PID控制一、位置式PID1.计…

史诗级详解面试中JVM的实战

史诗级详解面试中JVM的实战 1.1 什么是内存泄漏?什么是内存溢出?1.2 你们线上环境的JVM都设置多大?1.3 线上Java服务器内存飙升怎么回事?1.4 线上Java项目CPU飙到100%怎么排查?1.5 线上Java项目OOM了,怎么回事?1.1 什么是内存泄漏?什么是内存溢出? 内存溢出:OutOfMe…

JavaScript中的for in和for of的区别(js的for循环)

简述:js中的for循环大家都知道,今天来分享下for in和for of在使用时区别和注意事项,顺便做个笔记; 测试数据 //数组const arr [1, 2, 3, 4, 5]//对象const obj {name: "小李",color: ["plum", "pink&q…

【巨人的肩膀】JAVA面试总结(七)

💪MyBatis 1、谈谈你对MyBatis的理解 Mybatis是一个半ORM(对象关系映射)框架,它内部封装了JDBC,加载驱动、创建连接、创建statement等繁杂的过程,开发者开发时只需要关注如何编写SQL语句,可以…

蓝桥杯C/C++VIP试题每日一练之完美的代价

💛作者主页:静Yu 🧡简介:CSDN全栈优质创作者、华为云享专家、阿里云社区博客专家,前端知识交流社区创建者 💛社区地址:前端知识交流社区 🧡博主的个人博客:静Yu的个人博客 🧡博主的个人笔记本:前端面试题 个人笔记本只记录前端领域的面试题目,项目总结,面试技…

Python 十大开源Python库,看看你熟悉几个?

嗨害大家好鸭!我是芝士❤ 对于码农来说, 关注的永远是新近有什么流行的、 既能解决问题又好用的利器。 本文就为你盘点十大开源Python库。 1、Pipenv 第一名非它莫属, 这个工具2017年初才发布, 但它已经能够影响每个Python开发…

菜鸟刷题Day7

⭐作者:别动我的饭 ⭐专栏:菜鸟刷题 ⭐标语:悟已往之不谏,知来者之可追 一.整理字符串:1544. 整理字符串 - 力扣(LeetCode) 描述 给你一个由大小写英文字母组成的字符串 s 。 一个整理好的字…

C语言番外-------《函数栈帧的创建和销毁》知识点+基本练习题+完整的思维导图+深入细节+通俗易懂建议收藏

绪论 书接上回,上回我们已经将C语言的所有知识点进行了总结归纳到同一个思维导图中,而本章是一个番外篇,将具体讲述一些更深入的知识。 话不多说安全带系好,发车啦(建议电脑观看)。 附:红色&…