找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 649|回复: 4
收起左侧

[已解决]求解一个单片机串口输出问题

[复制链接]
ID:398219 发表于 2023-4-10 10:12 | 显示全部楼层 |阅读模式
下面这段程序,正常情况下计算值为1239*1024/249(AD值)=5095,但是单片机串口打印输出结果时显示94。调试过程中发现,10*1024可以正常显示10240,但是改成100*1024就输出异常,不知道怎么回事了。另外在局部变量定义中赋值j = 102400串口也能正常打印输出。估计问题点在j计算那里,求各位大神指导一下。谢谢。
void ShowResult()
{
    unsigned int i;
        unsigned long j;
        SendData(GetADCResult());       //显示ADC高8位结果
        i =  GetADCResult();
        i = i * 4 + ADC_LOW2;
        j = 1239*1024 / i;
        printf("%lu\r\n",j);
}

回复

使用道具 举报

ID:353115 发表于 2023-4-10 11:09 | 显示全部楼层
溢出了,1239*1024里面随便哪一个加上UL后缀

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:213173 发表于 2023-4-10 11:13 | 显示全部楼层
数据溢出了
回复

使用道具 举报

ID:398219 发表于 2023-4-10 15:23 | 显示全部楼层
qsssuv 发表于 2023-4-10 11:09
溢出了,1239*1024里面随便哪一个加上UL后缀

谢谢指导。
回复

使用道具 举报

ID:398219 发表于 2023-4-10 15:24 | 显示全部楼层

明白了,谢谢指导。
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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