• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

STM32串口无法输出无符号char

kbqSign 2019-03-26 浏览量:1537
为什么我的软件无法输出无符号char
1 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • unsigned char与char的输出是一样的,只是个符号的不同,你的无法输出是哪里,是单片机上么,在单片机上两种类型的变量的输出是一样的,应该是串口配置的问题

    如果是上位机上,要看一下你的串口助手的配置显示方式了

    • 发布于 2019-03-26
    • 举报
    • 评论 0
    • 1
    • 0

其他答案 数量:7
  • 是可以输出有符号的,这种要检查你的串口助手是不是不能显示有符号的字符串类型
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 2
    • 0

  • 这个肯定是代码问题,不会是说硬件又问题,建议代码贴出来大家看看
    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 1
    • 0

  • 可以用强制转换成char变量,操作方法就是在变量在变量前用(char)就可以了,这样就可以输出字符类型了

    比如

    uchar a=0x31;//数字1

    Printf(%c(char)a);

    在a前面添加char就可以了

    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 我理解不是串口无法输出unsigned char ,而是无法在上位机显示而已,串口传输数据可不管是不是有符号,发送什么传输什么,只不过在pc机上接收到数据后如果需要显示的话,unsigned char值大于127的无法显示,因为不是可显示字符可以使用16进制方式进行显示,这样就可以显示所有字符了,比如在串口助手中进行如下设置:

    0001.png

    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • 先使用16进制的方式,看看是不是可以收到数据,要是可以收到,应该是你的串口助手的显示方式没有设置对

    要是收不到,对方一下串口的波特率,检验位,停止位这些参数看是不是一样的

    • 发布于2019-03-26
    • 举报
    • 评论 0
    • 0
    • 0

  • STM32上面串口其实没有什么char这种说法的,统一是二进制高低电平,因此你这里说的无法输出unsigned char的原因,应该是上位机软件不支持显示,试一下用HEX模式显示
    • 发布于2019-03-27
    • 举报
    • 评论 0
    • 0
    • 0

  • 在串口上是不分有符号与无符号的,只有在串口助手接收时才区分显示方式的,所以,应该是你的上位机软件的显示方式选择的不对吧
    • 发布于2019-03-30
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

STM32串口无法输出无符号char