Цитата(mr_smit @ Dec 22 2011, 00:03)

Просто вроде как sizeof должна возвращать длину массива. Но тут да, точно, указатель, а не массив (я начинаю понимать

) Может тогда убрать указатель из аргумента функции?
Просто хочу писАть:
SendCommand(startCommunication); без указания длинны
Код
void SendCommand (unsigned char command) {
unsigned int length,length1 = 0;
length = length1 = sizeof(command);
while (length--) {
while(!(UCSRA & (1<<UDRE))); // ждем окончания передачи байта
UDR = command[length1 - length];
}
}
Но чет ругается компилятор
Что ж ему не ругаться: command - это байт , а вы к нему обращаетесь как элементу массива (хамите).
Понятно Вам что нужно:
функция аналогичная например такому(C#. правда а не Си)
Код
void F1(byte []byte_array) {
for (int i=0; i<byte_array.Length; i++) {
byte_array[i]=i;// нужные действия
}
}
Но в C# каждый массив всегда содержит свою длину, а в Си - нет.
Может и есть что-то такое в Си, а может и нет(утверждать не буду, не помню).