大鼻子JOJO 2023-05-08 22:07 采纳率: 70.6%
浏览 213
已结题

stm32如何将16位二进制数转换为十进制数

stm32如何将16位二进制数转换为十进制数

         BUF=GPIOE->INDR;
         buf2[number]   = BUF&0XFF;
         buf2[number+1] =(BUF>>8)&0XFF;

通过以上代码读取到了GPIOE的输入数据,并分成高八位和低八位,如何再将其转换为十进制数?

  • 写回答

2条回答 默认 最新

  • Ltd Pikashu CSDN实力新星 2023-05-08 22:41
    关注

    可以使用C语言中的类型转换函数将16位二进制数转换为十进制数。具体实现代码如下:

    c
    uint16_t buf = gpioe->indr; // 读取16位二进制数
    uint8_t low_byte = buf & 0xFF; // 取低八位
    uint8_t high_byte = (buf >> 8) & 0xFF; // 取高八位

    // 将高八位和低八位组合成一个16位数
    uint16_t value = (high_byte << 8) | low_byte;

    // 将16位数转换为十进制数并打印输出
    printf("%d\n", value);
    其中,value即为转换后的十进制数。如果对你有帮助的话,请给我一个采纳,谢谢

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 5月23日
  • 已采纳回答 5月15日
  • 创建了问题 5月8日