中微8位单片机SC8F072 学习笔记2405231

SC8F072
  • PORTA: 是一个8位的I/O端口,包含引脚RA0到RA7。
  • PORTB: 也是一个8位的I/O端口,包含引脚RB0到RB7。
  • STM32F103C8T6
  • GPIOA: 包含引脚PA0到PA15。
  • GPIOB: 包含引脚PB0到PB15。
  • GPIOC: 包含引脚PC0到PC15。
  • WPUA和WPUB
  • WPUA:启用或禁用PORTA引脚的上拉电阻。
  • WPUB:启用或禁用PORTB引脚的上拉电阻。
  • 在STM32F103C8T6中,通过GPIO的配置结构体设置上拉电阻:

    GPIO_InitTypeDef GPIO_InitStructure;

    // 配置为输入并启用上拉电阻
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;  // 输入模式带上拉
    GPIO_Init(GPIOA, &GPIO_InitStructure);
     

    TRISA和TRISB
  • TRISA:配置PORTA引脚的输入输出方向(0为输出,1为输入)。
  • TRISB:配置PORTB引脚的输入输出方向(0为输出,1为输入)。
  • 在STM32F103C8T6中,通过GPIO的配置结构体设置引脚方向:

    // 配置为输出
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;  // 推挽输出
    GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    // 配置为输入
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  // 浮空输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);
     

    ANSEL和ANSELH
  • ANSEL:配置引脚为模拟或数字功能(0为数字,1为模拟)。
  • ANSELH:配置高位引脚为模拟或数字功能(0为数字,1为模拟)。
  • 在STM32F103C8T6中,通过设置相应引脚的模式来配置为模拟或数字功能:

    // 配置为模拟输入
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;  // 模拟输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);

    // 配置为数字功能(默认情况下所有GPIO引脚都是数字功能)
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;  // 数字输入
    GPIO_Init(GPIOA, &GPIO_InitStructure);
     

    作者:问了就是很菜

    物联沃分享整理
    物联沃-IOTWORD物联网 » 中微8位单片机SC8F072 学习笔记2405231

    发表回复