[技术问答]

keil中sscanf异常

[复制链接]
1193|6
手机看帖
扫描二维码
随时随地手机跟帖
Cheribat|  楼主 | 2019-5-23 17:01 | 显示全部楼层 |阅读模式
  单片机使用N76E003,Keil4,产品一直异常,分析到最后,发现sscanf无法正常工作!!!
---

                  ret = sscanf(array, "%d,%d,%d,%d,%d,%d,%d\t%x", &CH4_ad, &CO_ad, &flag, \
                    &cali_ad, &cali_co1, &cali_co2, &temperature, &check_errs);

#if 1           
                uart0_send_string("Len OK\r\n");
               
                sprintf(rec_str, "%d,%d,%d,%d,%d,%d,%d% %x\r\n", CH4_ad, CO_ad, flag, \
                    cali_ad, cali_co1, cali_co2, temperature, check_errs);
                uart0_send_string(rec_str);
#endif   

输出信息:
544,882,6,643,538,435,32        45
Len OK
544,882,6,643,524,0,20%x

这是啥情况?!

使用特权

评论回复
天灵灵地灵灵| | 2019-5-23 20:12 | 显示全部楼层
没用过这个函数。

使用特权

评论回复
玛尼玛尼哄| | 2019-5-23 23:16 | 显示全部楼层
单片机里一般不用这种函数吧

使用特权

评论回复
dongliushui| | 2019-5-23 23:59 | 显示全部楼层
输出怎么了?

使用特权

评论回复
jasontu| | 2019-5-24 07:56 | 显示全部楼层
沒加,% %x =>後面成你要輸出%x

使用特权

评论回复
Cheribat|  楼主 | 2019-5-24 08:59 | 显示全部楼层
                uart0_send_string(array);
        
                ret = sscanf(array, "%d,%d,%d,%d,%d,%d,%d\t%x", &CH4_ad, &CO_ad, &flag, \
                    &cali_ad, &cali_co1, &cali_co2, &temperature, &check_errs);

#if 1           
                uart0_send_string("Len OK\r\n");
               
                sprintf(rec_str, "%d,%d,%d,%d,%d,%d,%d %x\r\n", CH4_ad, CO_ad, flag, \
                    cali_ad, cali_co1, cali_co2, temperature, check_errs);
                uart0_send_string(rec_str);
#endif

输出:
544,882,6,643,538,435,32        45
Len OK
544,882,6,643,524,0,20 8

使用特权

评论回复
Cheribat|  楼主 | 2019-5-24 09:21 | 显示全部楼层
jasontu 发表于 2019-5-24 07:56
沒加,% %x =>後面成你要輸出%x

嗯 多敲了一个百分号,但改过来还是不行,很奇怪

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

16

主题

489

帖子

2

粉丝