问答

汇集网友智慧,解决技术难题

21ic问答首页 - STM32+拨码开关 怎么把读取的电平值转换为十六进制

STM32 电平 拨码开关 代码 单片机 STM32单片机

STM32+拨码开关 怎么把读取的电平值转换为十六进制

blueinvestors2021-07-22
用STM32单片机的8个IO口连接了一个8位的拨码开关,每一个位都可以读取高低电平1或0,想把这8个电平值转换为一个16进制的数,因为要用它做识别码  但不知道转换代码怎么写。。。
回答 +关注 16
4552人浏览 4人回答问题 分享 举报
4 个回答
  • 正好8位,一次读取电平状态,无符号数不正好是2位十六进制数,还用转换?如果是因为不在一个口上,或者顺序问题,或者位置问题,那就定义顺序,放到一个8位无符号变量的对应位就行了,无非就 移位  与 赋值这些操作
  • 本帖最后由 tyw 于 2021-7-24 10:31 编辑

    C语言将二进制数N转换成16进制的程序

    1 输入的二进制数存成字符串;

    2 遍历每位字符,并将其转为整数;

    3 以16进制输出。


  • 15625004279 发表于 2021-7-23 10:35
    2进制转16进制(8位开关就是对应1个2进制的8个位 00000000,通过改变8位的0和1来实现啊,最大只能255,HEX ...

    设计原理就是这样
    就是程序里怎么把8个电平值转换为一个16进制的数
  • 2进制转16进制(8位开关就是对应1个2进制的8个位 00000000,通过改变8位的0和1来实现啊,最大只能255,HEX为FF)

您需要登录后才可以回复 登录 | 注册