标题: [已解决]求解一个单片机串口输出问题 [打印本页]

作者: herui2128    时间: 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);
}


作者: qsssuv    时间: 2023-4-10 11:09
溢出了,1239*1024里面随便哪一个加上UL后缀
作者: wulin    时间: 2023-4-10 11:13
数据溢出了
作者: herui2128    时间: 2023-4-10 15:23
qsssuv 发表于 2023-4-10 11:09
溢出了,1239*1024里面随便哪一个加上UL后缀

谢谢指导。
作者: herui2128    时间: 2023-4-10 15:24
wulin 发表于 2023-4-10 11:13
数据溢出了

明白了,谢谢指导。




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1