我想通过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