yzhkpli 发表于 2025-1-20 17:02:28

debug时候执行到scanf结果串口无法输入

keilc251,at89c52



#include "stdio.h"
#include "reg51.h"

main(void)
{
    int a=10;
    float b=133452.1243;
    char s1={"STC Hello"};
    //char c1='a';
    int i,j,l;
    float k;
    char c1;
    SCON = 0x52;
    TMOD = 0x20;
    TCON = 0x69;
    TH1 = 0xF3;
//    printf("%d\n",a);
//    printf("%f\n",b);
//    printf("%7.2f\n",b);
//    printf("%c\n",b);
//    printf("%s\n",s1);
//    //printf("%c\n",c1);
//    printf("%d,%f\n",a,b);
//    printf("a=%d, b=%d\n",a,b);
    scanf("%d,%d,%c",&i,&j,&c1);
    scanf("%f",&k);
    getchar();
    scanf("%c",&c1);
    printf("\ni=%d,j=%d\n",i,j);
    printf("k=%f\n",k);
    printf("c=%c\n",c1);
    return l;
}


debug,打开了顶部菜单,serial window---uart1.
单步执行到粗体字那行,
3,45都能输入,结果后面的c1的字符输入不进去,那个S不知道啥时候咋回事输入的。到了下面的k变量,getchar(),再次输入c1,都无法输入。

求问是咋回事。{:yiwen:}
页: [1]
查看完整版本: debug时候执行到scanf结果串口无法输入