复用:将GPIO作为内置的外设使用。
初始化复用端口:
1.GPIO时钟使能,和复用的外设时钟使能
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART|RCC_APB2Periph_GPIOA, ENABLE);
2.端口模式配置
复用的内置外设功能引脚,要根据STM32手册里的所要求的配置来对应GPIO的模式
拿串口举例来说:
我们设置TX设置推挽,RX就要设置浮空或上拉
//USART1_TX PA.9 复用推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9; //PA.9
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP; //复用推挽输出
GPIO_Init(GPIOA, &GPIO_InitStructure);
//USART1_RX PA.10 浮空输入
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10;//PA10
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;//浮空输入
GPIO_Init(GPIOA, &GPIO_InitStructure);
关键字:端口复用 端口模式 配置
引用地址:
端口复用的理解
推荐阅读最新更新时间:2024-11-12 19:29
特斯拉全自动驾驶配置又要涨价?消费者还能买得起吗?
近日,我们从外媒获悉,特斯拉计划将在8月16日(美国时间)再次增加其全自动驾驶(Full Self-Driving)配置的价格。在今年年初的时候,特斯拉将旗下自动驾驶配置一分为二,一个是基础版自动辅助驾驶,售价为27000元;另外一项就是全自动驾驶能力,目前售价为56000元。 基础版自动驾驶的功能有点类似于高阶的车道保持,官方对其定义为车辆能够根据其他车辆与行人在行驶车道内自动辅助实施转向、加速和制动。相比之下完全自动驾驶能力配置能够实现更为多样的功能,包括现已推出的自动泊车、自动辅助变道、自动辅助导航驾驶功能,以及即将推出的增强召唤功能、在城市街道辅助驾驶以及识别交通信号灯和停车标志并作出反应。 值得注意
[嵌入式]
YDSXX系列管脚配置与内部结构框图
YDSXX系列管脚配置与内部结构框图
[电源管理]
STM32F0xx的ADC配置
STM32F0xx系列单片机基于ST官方标准库V1.5.0的ADC功能的配置 ADC.c文件 #include ADC.h uint32_t ADC1ConvertedValue = 0, ADC1ConvertedVoltage = 0; void ADC_GPIO_Configuration(void) { GPIO_InitTypeDef GPIO_InitStructure; RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE); //端口配置 // GPIO_StructInit(&GPIO_InitStructure); GPIO_InitSt
[单片机]
三星或发入门级新机 这配置你怎么看?
近日,三星Note系列的新旗舰机型三星Note7已经发布就在全球范围内获得了极高的关注度,然而在新旗舰发布的同时,一款运行Tizen系统的入门级低端手机——三星Z2也悄然公布。 网曝三星Z2实拍图 图片来自于SamMobile
据悉,三星将于8月11日在印度举办一场新品发布会,除了引人关注的Note7、A9 Pro等产品外,Z2也将在此次发布会上亮相。配置上,三星Z2 采用32位四核处理器,1GB RAM+4GB ROM,采用四英寸的小屏幕,分辨率为960*540,电池容量约为2000mAh。从配置上看,该机的 各项参数都较为落后,但其搭载的系统并非常规的谷歌安卓系统而是Tizen 3.0,或许该机最大的卖点除了低价
[手机便携]
STM32单片机上电后时钟的默认配置过程
写作原由:今日接手用stm32f100xx芯片开发的项目,以前用的是stm8s 和stm32f103xx芯片;因为在别人的项目代码的基础上做2次开发,但是发现那个代码main函数中没有对系统时钟的设置的相关函数,一直纳闷,但也没有深究,直至昨日 调试时出现串口收发数据出错,源代码在原项目的板子上串口发送、接收数据正常,同样程序在项目板子上收发的数据不正确, 两块板子芯片一样,串口收发管脚一样,最后发现原来板子外部晶振是8MHZ ,新板子外部晶振是12MHZ; 而在STM32固件库中,默认的外部晶振是8MHZ,由于时钟源不正确,导致波特率不正确,当然收发的数据也不正确了…..我勒个去!都怪自己平时看问题“不求甚解”。 波特率与时
[单片机]
STM32F107外部晶振25MHz配置到72MHz运行
启动文件选用:STM32F10X_CL /******************************************************************************* * 函数名称: RCC_Configuration * 函数功能: 25MHZ 设置系统各部分时钟 * 参数变量: NONE * 全局变量: NONE * 调用函数: * 作 者: * 编写时间: * 修改时间: * 版 本: V1.0 * 状 态:调试完成 *******************************************************************************/
[单片机]
STM32串口DMA发送中断配置
本文以STM32F1xx的串口1为例,简单呈现下使用DMA中断连续发送的代码 串口DMA配置通常可以分为2个部分: 1.串口配置 2.DMA配置 串口配置 void UART1_Init(u32 bound){ GPIO_InitTypeDef GPIO_InitStructure; USART_InitTypeDef USART_InitStructure; NVIC_InitTypeDef NVIC_InitStructure; RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1|RCC_APB2Periph_GPIOA|RCC_APB2Periph_AFIO, ENABLE);
[单片机]
低功耗模式下微控制器时钟配置应用
在微控制器的低功耗应用中,对时钟的设置是很重要的一个方面。不同类型的微控制器在低功耗模式下对时钟的配置也各有不同。飞思卡尔公司推出的增强型8位微控制器HCS08系列具有很强的低功耗性能。其中,HCS08系列里的MC9S08QG8在同类产品的基础上对低功耗应用下的时钟又有了进一步的改进。 1 MC9S08QG8及其内部时钟模块介绍 微控制器MC9S08QG8是飞思卡尔公司新推出的一款8位增强型微控制器。它是小封装、低功耗的产品,但这并不意味着它是 低端 的产品;相反,它是一个高度集成的、功能丰富的、适用于各种应用的低价位单片机。MC9S08QG8采用高性能、低功耗的HCS08内核,具有很高的集成度,还包括更长的电池寿命(即使工
[单片机]