STMCU小助手
发布时间:2022-6-26 12:35
|
复用 STM32有很多的内置外设,这些外设的外部引脚都是与GPIO复用的。也就是说,一个GPIO如果可以复用为内置外设的功能引脚,那么当这个GPIO作为内置外设使用的时候,就叫做复用。 哪些端口可以复用为什么,这个查表就可以了
2,如何进行端口复用?
3 p5 |( ]- {5 C( G+ \5 k" T# o 比如AF1要复用到TIM1;9 ?* y% C) ^8 h' i. Z2 A+ s/ x( b4 N" y 通过设置AFRL寄存器和AFRH寄存器 就可以AF1----->TIM1;' H5 n$ @* d. N 一组IO口有16个 GPIOAF0~15 AFRL负责低八位IO AFRH负责高八位IO
举例( N. N, o4 X0 z
" F9 Y4 d0 ~! C& f+ ?: l 除了ADC或者DAC配置为模拟之外,其他外设都要配置为复用 / w& Z3 c$ }1 } p. Z
$ e4 z: E9 F! @8 i2 W8 z4 T# c
//完整版 RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA, ENABLE); RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1, ENABLE); GPIO_InitTypeDef GPIO_InitStructure; ( U& I1 d4 ?1 [ GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9|GPIO_Pin_10; GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF;//复用 GPIO_InitStructure.GPIO_OType = GPIO_OType_PP; GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_UP;//上拉 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化GPIOA.9,10 GPIO_PinAFConfig(GPIOA,GPIO_PinSource9,GPIO_AF_USART1); GPIO_PinAFConfig(GPIOA,GPIO_PinSource10,GPIO_AF_USART1);
: U" C8 _( q8 r8 n4 |. \( C2 w GPIOA5 复用为ADC1通道5 IO口
3 _' L! e' B+ V$ ^# K) s& {2 s w) Z2 l. L; ?( d
//先初始化ADC1通道5 IO口 GPIO_InitTypeDef GPIO_InitStructure; GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;//PA5 通道5 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AN;//模拟输入 GPIO_InitStructure.GPIO_PuPd = GPIO_PuPd_NOPULL ;//不带上下拉 GPIO_Init(GPIOA, &GPIO_InitStructure);//初始化 * A! k" u9 |4 m- x# u/ v6 s; ? Z& D8 ~ |
【STM32H735G-DK 测评】STM32H735G-DK External Loder 编译和测试
Keil-MDK 在线调试设置断点的高级用法
请教下STM32N6570 怎么把分辨率改成320x240并可以全屏显示
【福利三:逢7发帖赢大礼】想要充分利用STM32H743VI片内的RAM空间(但并不顺利)
基于stm32平台上的IC-MU磁绝对值编码器SPI通讯和码盘数据处理
使用STM32 MCU和MPU连接PDM数字麦克风
分享STM32资料-采用 STM32U031R8 MCU 的 STM32 Nucleo-64 开发板,官方资料,数据手册等资料
HRTIM 指南
使用 STM32 的 DWT 单元监控内存
DAC,COMP,HRTIM Fault 功能的使用
微信公众号
手机版