广告合作
  • 今日头条

    今日头条

  • 百度一下

    百度一下,你就知道

  • 新浪网

    新浪网 - 提供新闻线索,重大新闻爆料

  • 搜狐

    搜狐

  • 豆瓣

    豆瓣

  • 百度贴吧

    百度贴吧——全球领先的中文社区

  • 首页 尚未审核订阅工具 订阅

    51单片机如何把整形数据转换成字符串

    来源:网络收集  点击:  时间:2024-02-15
    【导读】:
    有时候我们希望将数字以字符串的形式保存起来,方便调试查看,比如通过串口将数字以字符串的形式发送出来比二进制形式更容易理解。通常第一反应可能是字节写一个数字转字符串的子函数,对于有经验的小伙伴这个是so easy,但是再怎么说也得敲好几行代码吧?这里分享一个通过C语言标准库函数将数字转换为字符串的操作,希望对需要的朋友有帮助。工具/原料moreKeil4方法/步骤1/8分步阅读

    在C语言库函数中,有一个sprintf函数,可以将变量格式化输出到一个缓冲区域,格式化字符串格则与printf类似,这个函数在stdio.h有声明,因此需要包含该h文件,详细测试代码如下:

    #include stdio.h

    void main(void){int num = 12345; //定义一个整数char strTemp;//定义一个字符串缓存

    sprintf(strTemp, %d, num);//调用sprintf将num以十进制形式转换为字符串保存在strTemp数组中

    while(1){

    }}

    2/8

    确认代码录入OK后,点击编译按钮,编译成功!

    3/8

    点击菜单栏的“Debug”-“Start/Stop Debug Session”,或者按快捷组合键“Ctrl + F5”进入调试模式。

    4/8

    在调试模式的右下角有一组窗口,选择其中的“Locals”可以查看变量内容。

    5/8

    在未执行sprintf(strTemp, %d, num);前,strTemp数组各元素保存的值都是0

    6/8

    执行完sprintf(strTemp, %d, num);后,可以看到,原来都是0的strTemp数字保存了变量num的值12345,而且是字符形式,这表示我们的操作成功了!

    7/8

    上面的操作将num按十进制形式保存在strTemp中,同样,也可以用十六进制进行保存,比如可以这样写:

    sprintf(strHex, %0x, num);

    只需要更改格式化字符串的形式为%0x即可。

    代码录入后,重新调试,可以看到对于num=12345,在strHex中保存的是3039。

    8/8

    通过windows自带的计算器可以知道十进制数12345的十六进制就是3039,操作成功!

    注意事项

    注意sprintf使用%d形式存储的变量不能是char型,否则会导致存储错误!

    51单片机KEIL转换
    本文关键词:

    版权声明:

    1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。

    2、本站仅提供信息发布平台,不承担相关法律责任。

    3、若侵犯您的版权或隐私,请联系本站管理员删除。

    4、文章链接:http://www.ff371.cn/art_42170.html

    ©2019-2020 http://www.ff371.cn/ 国ICP备20009186号06-02 10:36:13  耗时:0.020