Jiangxiaopi 发表于 2025-3-7 20:32

MM32spin27P程序下载口与晶振口作为GPIO

晶振口作为外设一定要使用内部晶振,在板子设计的时候可以进行一个开关的设计。

第二点就是需要进行复用功能配置

    GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_2);//开启复用功能
    GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_2);//开启复用功能
下面直接上干货:

void KEY2_Init(void)
{

    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOA, ENABLE);

    GPIO_InitStructure.GPIO_Pin= GPIO_Pin_13|GPIO_Pin_14;                                    // K1
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //设置成上拉输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);                                 //初始化GPIOA5

    GPIO_SetBits(GPIOA, GPIO_Pin_13|GPIO_Pin_14);//默认为高点平
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource13,GPIO_AF_3);//开启复用功能
    GPIO_PinAFConfig(GPIOA,GPIO_PinSource14,GPIO_AF_3);//开启复用功能

}
void GPIO3_Init(void)
{
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_AHBPeriphClockCmd(RCC_AHBPeriph_GPIOD, ENABLE);
    RCC_APB2PeriphResetCmd(RCC_APB2Periph_SYSCFG,ENABLE);
    RCC->APB1RSTR|=1<<28;
    delay_ms(5);
    RCC->RESERVED0|=1<<16;
    delay_ms(5);
    RCC->RESERVED0&=0<<16;
    delay_ms(5);
    GPIO_InitStructure.GPIO_Pin= GPIO_Pin_0|GPIO_Pin_1;                                    // K1
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;                     //设置成上拉输入
    GPIO_Init(GPIOD, &GPIO_InitStructure);                                 //初始化GPIOA5

    //GPIO_SetBits(GPIOD, GPIO_Pin_0|GPIO_Pin_1);//默认为高点平
    GPIO_ResetBits(GPIOD,GPIO_Pin_0|GPIO_Pin_1);
    GPIO_PinAFConfig(GPIOD,GPIO_PinSource0,GPIO_AF_2);//开启复用功能
    GPIO_PinAFConfig(GPIOD,GPIO_PinSource1,GPIO_AF_2);//开启复用功能

}

以上就是对gpio的设置
————————————————

                            版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/badaoshaonian/article/details/100985477

weifeng90 发表于 2025-3-7 23:09

使用内部晶振可以不用外部晶振,IO就可以进行复用。

hehhehee 发表于 2025-3-31 12:57

在默认情况下,GPIO引脚是浮空状态。

jf101 发表于 2025-3-31 23:05

MM32spin27P程序下载口

dongnanxibei 发表于 2025-4-23 20:43

很多复用引脚是可以作为普通IO使用的

chenqianqian 发表于 2025-4-23 21:06

内部RC振荡器的精度和稳定性要差一些。

申小林一号 发表于 2025-4-24 18:35

学习一下

b5z1giu 发表于 2025-5-10 16:33

把晶振的端口复用成IO了?

q1ngt12 发表于 2025-5-10 17:40

其实没啥问题的,复用正常操作,这个比较简单的

kaif2n9j 发表于 2025-5-10 18:51

一般来说,配置内部晶振的话,还用串口好像就不太行吧,精度不够啊

su1yirg 发表于 2025-5-10 20:04

内部晶振一般来说,要不是高精度操作,最好是不用

t1ngus4 发表于 2025-5-10 21:10

这个咋说呢,外部晶振还是比较好的,不用内部晶振比较合适

tax2r6c 发表于 2025-5-10 22:23

其实复用就直接用就行了,没必要设计开关吧

ex7s4 发表于 2025-5-11 07:41

这种都不如复用其他IO了,比较方便

cen9ce 发表于 2025-5-11 09:27

话说下载口设计个复用的话,注意要延时几秒,不然程序不好烧录的

g0d5xs 发表于 2025-5-11 11:39

你的IO用的这么多啊,还需要复用这几个关键的外设呢

lix1yr 发表于 2025-5-11 13:50

我觉得用内部晶振就是容易精度不准,不太好弄
页: [1]
查看完整版本: MM32spin27P程序下载口与晶振口作为GPIO