找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 878|回复: 2
收起左侧

STC单片机printf()输出的和UART输出的数据不一致

[复制链接]
ID:976190 发表于 2022-10-9 18:05 | 显示全部楼层 |阅读模式
这是通过UART向PC机输出数据,
void Data_send(u8 send_count)
        { u8 count;                                                                                                                                                                                                                                    
                for(count=0;count<send_count;count++){    //发送send_count个数据,接口来自Sgl_lim_count
                    SBUF=(AD7606_u16_votlage_data[count]>>8)&0XFF;
                                while(!TI); //等待发送完成
        TI=0; //清TI标志位
                                
                }
        }
在串口助手上显示的数据为0x30,0x07,0x07,0x07,0x07,0x07,


这是通过printf()输出向PC机输出数据
        void Data_send(u8 send_count)
        { u8 count;                                                                                                                                                                                                                                    
    ES=OFF;                                                                                                                                                                                                                                            //关闭串口中断
                for(count=0;count<send_count;count++){  //发送send_count个数据,接口来自Sgl_lim_count
                    printf("%x\n",(AD7606_u16_votlage_data[count]>>8)&0XFF); //按顺序从0发送16bit电压数据数组中的每一个数据        
                }
                ES=ON;               
                }
在串口助手上显示的数据为0x30,0x30,0x30,0x30,0x30,0x30,

AD7606_u16_votlage_data中的数据期间没有被篡改,求救大佬
回复

使用道具 举报

ID:554500 发表于 2022-10-9 23:27 | 显示全部楼层
把%x改成%u试试
回复

使用道具 举报

ID:976190 发表于 2022-10-10 10:25 | 显示全部楼层

多谢,问题已经解决
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表