【STM32】--基础了解

一、STM32来历背景

1.从51到STM32

(1)单片机有很多种

(2)STM32内核使用ARM,但是ARM不一定是STM32

(3)ATM32是当前主流的32位高性能单片机

(4)STM32的特点:高性价比,内部外设丰富,高MIPS(兆指令每秒),广泛的群众基础。

2.STM32从何而来

(1)STM32属于ARM Cortex-M3内核,内核由ARM公司设计

(2)STM32由ST(意法半导体)设计,实现并生产

ST全部产品官网:意法半导体-STMicroelectronics

ST的MCU产品:STMCU中文官网

(3)ST除了生产STM32之外,还生产8位单片机STM8

3.STM32选型

STM32 | 产品 | STM32/STM8 | MCU单片机 | 意法半导体STM | STMCU中文官网

二、STM32简单中文数据手册

STM32F103中文资料,STM32F103技术手册,ST代理商 - 豆丁网

STM32F103_数据手册(中文) - 豆丁网

DS5319_STM32F103x8,STM32F103xB单片机数据手册 | STMCU中文官网

1.功能

多重自举功能(表示有多种启动模式)

SWD是STM32特有的

JTAG是非ARM常用的

·

2.基本概述

3.NVIC:嵌套的向量式中断式控制器

4.EXTI:外部中断/事件控制器

5.自举模式(启动方式)

6.供电监控器

7.低功耗模式

8.框图

三、STM32的各种仿真器和调试器

1.仿真器和调试器的区别和联系

仿真器和调试器的区别 - 易百教程

软件仿真:keil

硬件仿真:

仿真器:模拟CPU

调试器(debug):可以调试多种CPU

2.STM32调试接口

1.JTAG

基本所有CPU都支持JTAG【标志接口】

JTAG:占用5个GPIO【应用广泛】

2.SWD

占用2个GPIO【节省引脚】

3.STM32常用调试器

1.JLINK

2.STLINK

官方推荐

3.普中ARM仿真器

四、STM32的标准库和HAL(cubeMX)库

1.三种对STM32编程方法

(1)寄存器操作:最本质的方法

(2)标准库--标准外设库【内部外设】(相对于C语言的头文件)

(3)HAL库--处理较为复杂的程序(标准库无法实现的,自定义功能)

2.标准库和HAL库的区别

https://www.eefocus.com/e/1613121.html

1)标准库提供了底层的寄存器操作接口,适合那些对硬件细节较为关注和需要更高自定义性的开发人员。

2)HAL库则对标准库进行了封装和抽象,提供了更高层次的API函数,适合那些注重功能实现和快速开发的开发人员。

3)两者内部实际都调用了寄存器

3.库从哪里来

ST官方软件:意法半导体-STMicroelectronics

1.STM32标准库

STM32标准外设软件库: 相关产品

实际上ST官方更希望我们使用Cube(HAL库)

2.STM32Cube库(HAL库)

STM32CubeF1 - STM32Cube MCU包,用于STM32F1系列(HAL、底层API和CMSIS(CORE、DSP和RTOS)、USB、TCP/IP、File system、RTOS和Graphic - 附带在以下ST板上运行的示例:STM32 Nucleo、探索套件和评估板) - 意法半导体STMicroelectronics

五、本次学习的开发板

用到的开发板

1.普中HC6800  ARM3.0 STM32F03C8T6

性价比(又可以学习51和STM32)

2.PZ6806L

专门为STM32设计的

STM32F03ZET6---比STM32F03C8T6引脚更多,性价比型的

3.PZ6808L

又可以学习F4(浮点数运算)又可以学习F1(只有ARM核)

STM32F4+STM32F1(STM32F03C8T6)

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker入门加实战—部署Java和前端项目

docker入门加实战—部署Java和前端项目 部署之前,先删除nginx,和自己创建的dd两个容器: docker rm -f nginx dd部署Java项目 作为演示,我们的Java项目比较简单,提供了一个接口: 配置文件连接docker里的m…

03、爬取资料---但是失败,仅作为记录

1、找网址 进入直播间,里面的用户被设置不对外查看。 如图,找url 2、伪装 user-agent 用户代理 cookie 用户登录后保留的信息 登录信息:找cookie 浏览器信息:找user-agent user-agent 用户代理 cookie 用户登录后保留的信…

Prefix-Tuning源码解析

Prefix-Tuning源码解析 Prefix-Tuning在PEFT包中的源码实现 改写自Based on https://github.com/THUDM/P-tuning-v2/blob/main/model/prefix_encoder.py import torch from transformers import PretrainedConfigclass PrefixEncoder(torch.nn.Module):rThe torch.nn model t…

Linux-Jconsole连接远程服务器

Jconsole连接远程服务器 一、修改jmxremote.password.template文件二、启动jar项目三、jconsole远程连接1、打开的你jconsole2、远程连接 一、修改jmxremote.password.template文件 进去你的/idk/jre/lib/management目录下可以看到jmxremote.password.template文件 修改jmxr…

使用apose.pdf批量导出图片

今天遇到了,需要将pdf文件插到word里,好像word不支持直接插入pdf文件,所以现在通过将pdf转为图片的方式,逐个将图片插入到word。这里使用apose.pdf第三方库,将多个pdf文件读取,然后转为pdf。具体的实现代码…

sqoop 脚本密码管理

1:背景 生产上很多sqoop脚本的密码都是铭文,很不安全,找了一些帖子,自己尝试了下,记录下细节,使用的方式是将密码存在hdfs上然后在脚本里用别名来替代。 2:正文 第一步:创建密码对…

【网络空间实战攻防能力训练】DNS欺骗

DNS欺骗 0x01 环境准备0x02 实验过程1.设置Kali Linux主机、Windows Server 2016服务器与Windows 10在同一个可以上网的网段。分别记录各个主机的IP地址,并检查他们之间能否ping通。配置Windows Server 2016打开其IIS的Web服务。2.在Kali Linux的root终端中打开并编辑ettercap…

中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例

中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例 中文编程开发语言工具编程实际案例:美发店会员管理系统软件编程实例。 软件功能: 1、系统设置:参数设定,账号及权限设置,系统初始化&a…

minikube创建一个pod并暴露端口(使用docker驱动安装)

因为minikube使用service暴露端口是使用nodeIP:nodePort 而不是 localhost:nodePort 公开访问。我们只能使用kubectl的端口转发功能或者使用iptables的转发功能来实现外网服务暴露。 我这里使用shiro来举例 apiVersion: apps/v1 kind: Deployment metadata:name: shiro550 spe…

人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍

大家好,我是微学AI,今天给大家介绍一下人工智能(pytorch)搭建模型20-基于pytorch搭建文本生成视频的生成对抗网络,技术创新点介绍,随着人工智能和深度学习技术的飞速发展,文本到视频生成已经成为计算机视觉领域中一个重…

docker mysql 5.7

1.docker 安装mysql 5.7 docker pull mysql:5.72.配置容器MySQL数据、配置、日志挂载宿主机目录 # 宿主机创建数据存放目录映射到容器 mkdir -p /usr/local/docker_data/mysql/data# 宿主机创建配置文件目录映射到容器 mkdir -p /usr/local/docker_data/mysql/conf #(需要在…

Golang协程的概念、用法、场景及案例

在当今的软件开发领域中,高性能和并发性是很重要的。开发人员需要编写能够有效利用多核处理器的程序,以提高应用程序的性能和响应能力。Go语言(Golang)就是一种在这方面非常强大的编程语言,它提供了一种称为协程&#…

CentOS(5)——rpm包和源码包区别

目录 一、简介 二、区别 ①包名称 ②概念 ③优缺点 ④安装位置的区别 ⑤安装位置不同带来的影响 ⑥卸载方式的不同 一、简介 最近在公司内网离线升级Git时,遇见两个概念,分别是使用rpm包安装git,另一个这是编译源码包安装git&#x…

Spring MVC(上)

1、Spring MVC简介: MVC是一种软件架构的思想,将软件按照模型、视图、控制器来划分 M:Model,模型层,指工程中的JavaBean,作用是处理数据 JavaBean分为两类: 一类称为实体类Bean:专…

语法分析出错,不是 GROUP BY 表达式

报错 ### Cause: dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错 ; bad SQL grammar []; nested exception is dm.jdbc.driver.DMException: 第 9 行, 第 69 列[30]附近出现错误: 语法分析出错at org.springframework.jdbc.support.SQLState…

Java后端开发(五)-- 对象转换工具类

为避免返回给前端的字段信息太多,在缓解前、后端通信的带宽压力的前提下,对不必要的字段的信息进行不返回时,entity层对象需要向vo层对象进行转换,同事尽量减少geetter与setter方法的编码。 1. ConvertUtils工具类 import org.slf4j.Logger; import org.slf4j.LoggerFacto…

【Godot引擎开发】简单基础,外加一个小游戏DEMO

博主:_LJaXi 专栏: Godot | 横版游戏开发 Godot 物体规律移动内置虚函数浮点计算浮点数计算数组APIInput单例与自定义单例节点NodeSprite2DArea2DCollisionShape2DKinematicBody2DRigidBody2D Pong游戏场景安排玩家1玩家2小球记分系统文件概要 下面是介绍…

【C++】C++学习(模板+排序+测时)

本文主要记录使用模板函数来编写排序算法,并计算运行时间。 模板函数(Template Function)是一种通用函数,可以在其定义时不指定具体的参数类型,在调用时再根据需要指定具体类型。模板函数可以接受不同类型的参数&…

『力扣刷题本』:相交链表

咳咳,实在抱歉,刚开始心气太高了,叫『每日一题』,我是真的坚持不下了。 经过这次打击,我算是摸明白自己在写博客这件事情上几斤几两了,现在预计一周两更,再慢慢把更新频率提上来。 正在努力补…

DRM中render-node编号的分配

DRM系统 DRM是direct rendering manager的简称。DRM是linux kernel中与负责video cards功能的GPU打交道的子系统。DRM给出了一组API,可以供用户程序来发送命令和数据给GPU设备从而来控制比如display、render等功能。 render-node由来 在以前,DRM子系统…