6. STM32基础知识入门

发布者:翠绿山水最新更新时间:2017-11-09 来源: eefocus关键字:STM32  基础知识 手机看文章 扫描二维码
随时随地手机看文章

一。 寄存器和固定库开发的区别和联系

STM32的寄存器很多,不容易记忆,调用固定库函数,设置好入口参数,从而操作相应的寄存器。


二。MDK下寄存器地址和名称映射关系

GPIO各端口的地址

6. <wbr>STM32基础知识入门
GPIOA 的寄存器的地址=GPIOA 基地址+寄存器相对 GPIOA 基地址的偏移值

6. <wbr>STM32基础知识入门

三。MDK下快速组织代码技巧

四。STM32中断优先级分组管理

STM32 的 68 个可屏蔽中断,在 STM32F103 系列上面,又只有 60 个(在 107 系列才有 68 个)。

STM32 的中断分组:STM32 将中断分为 5 个组,组 0~4。

6. <wbr>STM32基础知识入门

抢占优先级的级别高于响应优先级。而数值越小所代表的优先级就越高。

需要注意两点:第一,如果两个中断的抢占优先级和响应优先级都是一样的话,则看哪个中断先发生就先执行;第二,高优先级的抢占优先级是可以打断正在进行的低抢占优先级中断的。而抢占优先级相同的中断,高优先级的响应优先级不可以打断低响应优先级的中断。

五。STM32端口复用

一个 GPIO

如果可以复用为内置外设的功能引脚,那么当这个 GPIO 作为内置外设使用的时候,就叫做复用。

例如串口1

6. <wbr>STM32基础知识入门

复用端口初始化有几个步骤:

1)  GPIO 端口时钟使能。要使用到端口复用,当然要使能端口的时钟了。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);

2)  复用的外设时钟使能。比如你要将端口 PA9,PA10 复用为串口,所以要使能串口时钟。

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE);

3)  端口模式配置。

在 IO 复用位内置外设功能引脚的时候,必须设置 GPIO 端口的模式,至于在复用功能下 GPIO 的模式是怎么对应的,这个可以查看手册《STM32 中文参考手册 V10》P110 的表格“8.1.11 外设的 GPIO 配置”。

6. <wbr>STM32基础知识入门

六。STM32端口重映射

STM32为了布线的方便,把一些复用功能重新映射到其他一些引脚上。 STM32 中有很多内置外设的输入输出引脚都具有重映射(remap)的功能。但不是可以随便映射的,具体对应关系《STM32 中文参考手册 V10》的 P116 页“8.3 复用功能和调试配置”有讲解。

例如串口1

6. <wbr>STM32基础知识入门
使用重映射功能的详细步骤:

1)使能 GPIOB 时钟:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);

2)使能串口 1 时钟:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); 

3)使能 AFIO 时钟:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);

4)开启重映射:

GPIO_PinRemapConfig(GPIO_Remap_USART1, ENABLE);

部分重映射和完全重映射:

例如USART1 只有一种重映射,而对于 USART3,存在部分重映射和完全重映射。所谓部分重映射就是部分管脚和默认的是一样的,而部分管脚是重新映射到其他管脚。而完全重映射就是所有管脚都重新映射到其他管脚。

6. <wbr>STM32基础知识入门


关键字:STM32  基础知识 引用地址:6. STM32基础知识入门

上一篇:5. 战舰开发板开机检测
下一篇:7. 新建基于MDK的STM32工程模板

推荐阅读最新更新时间:2024-03-16 15:43

电源开关设计基础知识
    电源开关的使用较为复杂,甚至让大多数电子产品设计人员都感到困惑,特别是对那些非电源管理专家而言。在各种各样的应用中,例如:便携式电子产品、消费类电子产品、工业或电信系统等,广大设计人员正越来越多地使用电源开关。这些电源开关的使用方式多种多样,包括控制、排序、电路保护、配电甚至是系统电源开启管理等。当然,每一种用法都需要有不同特性的电源开关解决方案。     本文对不同应用中,使用电源开关时设计人员需要考虑的一些重要规范和概念进行了总结,并介绍了一些可能的解决方案,旨在帮助设计人员选择一种最佳的解决方案。     很明显,在选择电源开关以前您应该问您自己的第一个问题是:“我想要用这个开关来做什么?”这是一个简单的问题
[电源管理]
I2C协议的解析
I2C协议的产生 I2C通讯协议由Phiilps公司开发,由于引脚少,硬件实现简单,可拓展性强,不需要 USART,CAN等通讯协议的外部收发设备,被广泛使用在多个集成电路IC间的通讯。 I2C协议的物理层 1)支持设备的总线。“总线”指多个设备共用的信号线。在一个I2C通讯总线中,可链接多个I2C通讯设备 支持多个通讯主机及多个通讯从机 2)I2C总线只使用两条总线线路,一条双向串行数据线SDA,一条串行时钟线SXL。 数据线就是用来表示数据,时钟线用来数据收发同步 3)每个设备都有一个独立的地址,主机可以利用这个地址进行不同设备之间的访问 4)总线通过上拉电阻接到电源。当I2C设别空闲的时候输出高阻态,而当所有的设备都空闲
[单片机]
I2C协议的解析
如何快速成为点灯大师?
学习嵌入式,最经典的第一个实验就是点亮一颗 LED 灯。别小看这个实验,从我辅导的学员来看,不少初学者连这么简单的案例都做不出来。 想要成这一名优秀的点灯大师,第一步就是要学会 STM32 最基础的外设——GPIO。 1. 什么是GPIO? 1.1 定义 GPIO是通用输入输出(general-purpose input/output)端口的简称,简单来说就是STM32可控制的引脚STM32芯片的GPIO引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。 这是比较正式的说法,是不是听得一愣一愣的? 再简单一点,就是芯片里拉出一堆引脚,这些引脚在我们的控制下可以输出高电平/低电平,或者可以通过这些引脚向芯片
[单片机]
如何快速成为点灯大师?
STM32 HAL库学习系列第10篇---串口空闲中断接收不定长数据
串口重定向配置: 可以直接复制使用 /************************************************* * 函数功能: 重定向c库函数printf到DEBUG_USARTx * 输入参数: 无 * 返 回 值: 无 * 说 明:无 */ int fputc(int ch, FILE *f) { HAL_UART_Transmit(&huart1, (uint8_t *)&ch, 1, 0xffff); return ch; } /** * 函数功能: 重定向c库函数getchar,scanf到DEBUG_USARTx * 输入参数: 无 * 返 回 值: 无 *
[单片机]
基于ESP8266和STM32单片机的程序代码编写
ESP8266模块在STM32上做Server时,外部对其端口进行收发数据的程序,大部分代码都备注了说明。 因为是从client代码改来的,所以函数名不去改它了。 #include“sta_tcpclent_test.h” #include “SysTick.h” #include “usart.h” #include “esp8266_drive.h” #include #include volaTIle u8 TcpClosedFlag = 0;//定义失去连接标志 void ESP8266_STA_TCPClient_Test(void) { u8 res; u32 ul=0; char str[100]={0},*
[单片机]
基于ESP8266和<font color='red'>STM32</font>单片机的程序代码编写
stm32电机驱动与测速
  通过实验发现,定时器的一个通道控制一个pwm信号。   PWM驱动电机不需要中断。   ① timer.h:   #ifndef __TIMER_H   #define __TIMER_H   #include “sys.h”   void TIM3_PWM_Init(u16 arr,u16 psc);   #endif   ② timer.c:   #include “timer.h”   #include “led.h”   void TIM3_PWM_Init(u16 arr,u16 psc)   {   GPIO_InitTypeDef GPIO_InitStructure;   TIM_TimeBaseInitT
[单片机]
STM32学习日志--使用DMA功能自动更新PWM的输出
/******************************************************************************* 编译环境: EWARM V5.30 硬件环境: DZY2.PCB STM32 FW: V3.0.0 作者 : szlihongtao ****************************************************************************** REV : V1.00 DATE : 2011-04-18 NOTE : ********************************************
[单片机]
STM32_SPI读写Flash
今天讲解“STM32F103 SPI读写Flash”,其实这第一阶段主要是讲解STM32的SPI功能,所有今天的重点是SPI,关于FLASH我应该要在后面再次讲述。 今天提供并讲解的软件工程,基于软件工程“A0.0.0(STM32F10x_TIM延时)”修改而来。若不知道如何而来,请关注微信公众号“EmbeddDeveloper”获取更多信息。 本着免费分享的原则,将讲解的工程源代码分享给大家,还望看到的朋友关注和推广一下微信公众号,增加一下人气。 每天提供下载的“软件工程”都是在硬件板子上进行多次测试、并保证没问题才上传至360云盘。 今天的软件工程下载地址(360云盘): https://yunpan.cn/cPzhMX
[单片机]
STM32_SPI读写Flash
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved