我想通過UART發送十六進制數據到我的AVR。問題是,我不能發送兩對以上的十六進制。我需要發送兩個以上,如9-10。通過UART發送十六進制
例如:
我只能派出0x2f
和0x3f
。 如果我發送更多,它總是減號。我需要發送0xff234f3a3f
。
我的代碼:
sendString("wish me luck\n");
while(1)
{
char str[35];
int i;
printf("enter the code :\n");
scanf("%x", &i);
printf("%#x (%d)\n",i,i);
}
我做了什麼錯?
對不起,我張貼了錯誤的one.but即使有這樣的代碼,它仍然只能派兩對十六進制的。沒有更多,該怎麼辦? – user6318361
好奇。第一個代碼使用了一個30的char數組,現在代碼使用'int'。爲什麼在''%x''中使用'int'類型?你的文檔說什麼類型應該與'「%x」'一起使用? – chux
nah ..它只是從前面的代碼中剩下的,但是這裏主要關注的是發送超過2對的hexdata。 %x是我在互聯網上發現的唯一數據類型,可以做我想要的 – user6318361