|
USART запрос/ответ, как принять массив через функцию getchar() ? |
|
|
|
 |
Ответов
|
Dec 21 2011, 22:03
|

Участник

Группа: Участник
Сообщений: 62
Регистрация: 22-07-09
Пользователь №: 51 457

|
Просто вроде как 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]; } } Но чет ругается компилятор
|
|
|
|
|
Dec 21 2011, 23:11
|
Гуру
     
Группа: Свой
Сообщений: 2 128
Регистрация: 21-05-06
Пользователь №: 17 322

|
Цитата(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# каждый массив всегда содержит свою длину, а в Си - нет. Может и есть что-то такое в Си, а может и нет(утверждать не буду, не помню).
|
|
|
|
Сообщений в этой теме
mr_smit USART запрос/ответ Dec 17 2011, 17:20 AHTOXA Да, заведите второй буфер, для пакета. Заведите сч... Dec 17 2011, 19:08 ILYAUL 80 F1 10 26 , а вот 0x26 это счётчик передаваемых ... Dec 17 2011, 20:33 mr_smit Цитата(ILYAUL @ Dec 17 2011, 23:33) 80 F1... Dec 17 2011, 21:24  AHTOXA Кольцевой буфер оставьте, он вам никак не мешает. ... Dec 18 2011, 05:13 mr_smit Просто я не понимаю каким образом мне вызывать get... Dec 18 2011, 06:24 mr_smit В общем убрал кольцевой буффер и сделал вот так:
К... Dec 18 2011, 09:07 mr_smit И еще:
Кодunsigned char startCommunication[... Dec 18 2011, 12:14 AHTOXA Цитата(mr_smit @ Dec 18 2011, 15:07) Выда... Dec 18 2011, 14:06 mr_smit AHTOXA, спасибо!!!!!
Кодvoid S... Dec 18 2011, 18:20 AHTOXA Цитата(mr_smit @ Dec 19 2011, 00:20) А во... Dec 18 2011, 21:06 _Артём_ Цитата(mr_smit @ Dec 18 2011, 20:20) А мо... Dec 18 2011, 21:26 sigmaN ЦитатаКодwhile (*command) {} там наверно д... Dec 18 2011, 20:39 mr_smit Ну примерно понял. Спасибо. И ещё. Как лучше орган... Dec 19 2011, 07:48 sigmaN ЦитатаЗавести переменную битовую как флаг разрешен... Dec 19 2011, 08:16 mr_smit Цитата(sigmaN @ Dec 19 2011, 11:16) Вот т... Dec 19 2011, 08:48 mr_smit У меня тут вопрос появился. Нигде не смог найти т... Dec 20 2011, 11:07 toweroff как обычно, наверное... знаковый байт, старший бит... Dec 20 2011, 12:17 mr_smit Ладно, мне надо вычесть 40. Т.е. 40 dec в hex буде... Dec 20 2011, 17:35 Палыч Цитата(mr_smit @ Dec 20 2011, 21:35) Ладн... Dec 20 2011, 17:56 toweroff Цитата(mr_smit @ Dec 20 2011, 21:35) Кодi... Dec 20 2011, 18:48 mr_smit Цитата(toweroff @ Dec 20 2011, 21:48) а н... Dec 20 2011, 19:27 toweroff Цитата(mr_smit @ Dec 20 2011, 23:27) Реши... Dec 20 2011, 19:44 mr_smit Цитата(toweroff @ Dec 20 2011, 15:17) ...... Dec 20 2011, 19:51 XVR Жуть, столько телодвижений вместо того, что бы про... Dec 21 2011, 11:18 toweroff Цитата(XVR @ Dec 21 2011, 15:18) signed c... Dec 21 2011, 11:57 mr_smit Цитата(XVR @ Dec 21 2011, 14:18) Жуть, ст... Dec 21 2011, 18:10 toweroff Цитата(mr_smit @ Dec 21 2011, 22:10) А в ... Dec 21 2011, 18:14 _Артём_ Цитата(mr_smit @ Dec 21 2011, 20:10) Спас... Dec 21 2011, 21:09 mr_smit Всем спасибо! Dec 22 2011, 19:31
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|