Я пытаюсь отправить шестнадцатеричные данные по 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
Любопытный. Первый код использовал массив 'char' из 30, теперь код использует' int'. Зачем использовать тип 'int' с' "% x" '? Что говорит ваша документация о том, какой тип следует использовать с «% x»? – chux
nah .. его просто осталось от предыдущего кода, но основное внимание здесь уделяется отправке более двух пар hexdata. и% x - единственный тип данных, который я нашел в Интернете, который мог бы делать то, что я хочу – user6318361