STM32F103C8T6 获取指定的GPIO口电平,串口发送

目录

一、实验目标

二、实验物料

三、实验过程

四、实验结果

一、实验目标

        1.获取指定的GPIO输入口的电平状态(GPIOA0,A2,A3,A4,A5,A6,A7,A15)

        2.通过USART串口循环发送指定的GPIO的电平状态

二、实验物料

        1.STM32F103C8T6核心板

        2.野火仿真器

        3.USB转TTL模块

三、实验过程

        1.确定使用STM32F103C8T6中的外设 

                循环发送需要使用定时器TIM3

                串口通信需要使用USART1

        2.确定所需使用的引脚 

                GPIO输入 A0 A2 A3 A4 A5 A6 A7 A15       

                USART通信使用PA9(TX) PA10(RX) 

        3.初始化GPIO,USART1,TIM3

        4.将GPIO输入全部放入一个16位的变量中,使用USART1发送

if (time == 5000) /* 1000 * 1 ms = 1s 时间到 */
    {
      time = 0;
      GPIO_value = ((GPIOA->IDR & GPIO_IDR_IDR0) & 0x01) << 0 |
        (((GPIOA->IDR & GPIO_IDR_IDR2) >> 2) & 0x01) << 1 |
        (((GPIOA->IDR & GPIO_IDR_IDR3) >> 3) & 0x01) << 2 |
        (((GPIOA->IDR & GPIO_IDR_IDR4) >> 4) & 0x01) << 3 |
        (((GPIOA->IDR & GPIO_IDR_IDR5) >> 5) & 0x01) << 4 |
        (((GPIOA->IDR & GPIO_IDR_IDR6) >> 6) & 0x01) << 5 |
        (((GPIOA->IDR & GPIO_IDR_IDR7) >> 7) & 0x01) << 6 |
        (((GPIOA->IDR & GPIO_IDR_IDR15) >> 15) & 0x01) << 7;

      USART_SendData(DEBUG_USARTx, GPIO_value);
    }

        GPIO_value 的值转换为二进制对应从PA0-PA15(右至左),共8个电平状态

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
STM32F103C8T6是一款常用的ARM Cortex3内核的微控制器,它具有丰富的外设和GPIO功能。GPIO(General Purpose Input/Output)是通用输入/输出引脚,可以通过配置不同的模式来实现不同的功能。 在STM32F103C8T6中,每个GPIO引脚都可以配置为输入或输出,并且可以设置不同的模式和速度。以下是GPIO模式的介绍: 1. 输入模式(Input Mode):GPIO引脚可以作为输入接收外部信号。可以配置为浮空输入、上拉输入或下拉输入。浮空输入表示引脚没有连接到任何外部电源或地,上拉输入表示引脚通过一个上拉电阻连接到VDD电源,下拉输入表示引脚通过一个下拉电阻连接到地。 2. 输出模式(Output Mode):GPIO引脚可以作为输出发送信号。可以配置为推挽输出、开漏输出、复用推挽输出或复用开漏输出。推挽输出表示引脚可以提供高电平和低电平输出,开漏输出表示引脚只能提供低电平输出,高电平需要外部上拉电阻。复用推挽输出和复用开漏输出是在引脚复用功能下使用的。 3. 复用模式(Alternate Function Mode):GPIO引脚可以配置为特定功能的复用模式,例如串口通信、定时器输入/输出等。在复用模式下,引脚的功能由外设控制。 4. 模拟模式(Analog Mode):GPIO引脚可以配置为模拟输入或模拟输出模式,用于连接模拟电路。 在使用STM32F103C8T6GPIO模式时,需要通过寄存器配置来设置引脚的模式、速度和其他属性。具体的配置方法可以参考STM32F103C8T6的技术手册和相关资料。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值