|
Как из Байта получить восемь значений 0 и 1, CodeVision AVR |
|
|
|
 |
Ответов
|
Dec 25 2008, 22:56
|

Местный
  
Группа: Свой
Сообщений: 211
Регистрация: 6-08-07
Из: Приднестровье, Тирасполь
Пользователь №: 29 581

|
Цитата(DenisIV @ Dec 26 2008, 00:27)  Попробуйте разделить все три процедуры на строчки и поймёте где трабл. Разделил. Ругается на оба знака присваивания: Цитата ../main.c:139: error: expected expression before '=' token ../main.c:144: error: expected expression before '=' token Цитата(DenisIV @ Dec 26 2008, 00:27)  Кстати, посмотрите, byte может у вас определено ранее #defin'ом как unsigned char? Может просто имя переменной поменять? Не-а, не в этом дело... Цитата(DenisIV @ Dec 26 2008, 00:27)  Ксати, глотнул пива, идея пришла: А не прокатит ли такая конструкция: Код ... (Я даже себе в библию программиста запишу lol.gif ) Такая нет. Зато прокатит эта, записывайте... Код void transmit_byte(unsigned char const *byte, unsigned char direct){ unsigned char mask; for (mask=(direct)? 1:0x80;mask;delay_us(x),mask=(direct)? mask<<1:mask>>1) PORTW=(*byte&mask)? PORTW|(1<<BIT):PORTW&~(1<<BIT); } Тока нас застрелить могут за такую конструкцию...  Цитата(Сергей Борщ @ Dec 26 2008, 01:40)  Вопроса не понял... Про С++ в смысле Цитата(Сергей Борщ @ Dec 26 2008, 01:40)  Код ... (byte & bitmask)? PORTD | (1<<BIT): PORTD & ~(1<<BIT); ... Правильно, так без знаков присваивания компилится (первый раз у Вас они были), только не работает, надо: Код PORTD=(byte & bitmask)? PORTD | (1<<BIT): PORTD & ~(1<<BIT);
--------------------
Любой, заслуживающий внимания, опыт приобретается себе в убыток...
|
|
|
|
|
Dec 25 2008, 23:42
|

Участник

Группа: Свой
Сообщений: 68
Регистрация: 11-12-08
Из: Республика Беларусь, г.Минск
Пользователь №: 42 380

|
Цитата(Goodefine @ Dec 26 2008, 01:56)  Такая нет. Зато прокатит эта, записывайте... Код void transmit_byte(unsigned char const *byte, unsigned char direct){ unsigned char mask; for (mask=(direct)? 1:0x80;mask;delay_us(x),mask=(direct)? mask<<1:mask>>1) PORTW=(*byte&mask)? PORTW|(1<<BIT):PORTW&~(1<<BIT); } Тока нас застрелить могут за такую конструкцию...  Могут... И будут правы: функция delay вызывается 7 раз из 8... (эт плохо...) А for заменяется while... Походу некоторые компилёры требуют конкретной операции внутри скобок for, а то (условие)?[тело true]:[тело false] - эт ж if(условие)[тело true]else[тело false] и их и тошнит... 2moderator:А может эти вышеперечисленные весчи собирать и в какую-ндь тему отдельно выделенную закидывать? ('Перед тем, как задать вопрос по С/C++, ознакомтесь...') А там и возможность замены ?/if, for/while, volatile, #pragma, и базовые вопросы/вырезки сообщений и т.д. Так сказать, перед тем, как наступить на грабли, прочитайте... Или в поиск... А если нет-то к нам... ?
|
|
|
|
Сообщений в этой теме
Vny4ek Как из Байта получить восемь значений 0 и 1 Dec 23 2008, 13:27 Палыч Используем цикл
Кодunsigned char Byte, i, Bit... Dec 23 2008, 13:31 SysRq А цель-то какая сего действа? Как "битовый ма... Dec 23 2008, 16:39 Goodefine Цитата(Vny4ek @ Dec 23 2008, 16:27) Есть ... Dec 23 2008, 17:40 Vny4ek цель такая: нужно сделать передачу информации, в в... Dec 24 2008, 06:21 Палыч Цитата(Vny4ek @ Dec 24 2008, 09:21) ...во... Dec 24 2008, 06:51 Goodefine Цитата(Vny4ek @ Dec 24 2008, 10:21) цель ... Dec 24 2008, 07:31 SysRq Цитата(Goodefine @ Dec 24 2008, 10:31) Ко... Dec 24 2008, 10:55 Goodefine Цитата(SysRq @ Dec 24 2008, 14:55) Правил... Dec 24 2008, 11:07 Палыч Цитата(Goodefine @ Dec 24 2008, 14:07) Ну... Dec 24 2008, 11:51 DenisIV Цитата(Goodefine @ Dec 24 2008, 14:07) Ну... Dec 24 2008, 12:19 Goodefine Цитата(Палыч @ Dec 24 2008, 15:51) ...Пер... Dec 24 2008, 12:01 SysRq Цитата(Goodefine @ Dec 24 2008, 15:01) С ... Dec 25 2008, 12:50  DenisIV Цитата(SysRq @ Dec 25 2008, 15:50) Вполне... Dec 25 2008, 13:15 Goodefine Цитата(DenisIV @ Dec 24 2008, 16:19) Обыч... Dec 24 2008, 13:22 xemul Странно, что еще до интегралов не добрались...
Код... Dec 25 2008, 14:13 DenisIV Цитата(xemul @ Dec 25 2008, 17:13) Странн... Dec 25 2008, 17:23  rezident Цитата(DenisIV @ Dec 25 2008, 22:23) иног... Dec 25 2008, 17:36 Goodefine Цитата(xemul @ Dec 25 2008, 17:13) Код...... Dec 25 2008, 18:19 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 20:19) Ко... Dec 25 2008, 20:13  _Pasha Цитата(Сергей Борщ @ Dec 26 2008, 00:13) ... Dec 26 2008, 12:45 Goodefine Цитата(Сергей Борщ @ Dec 25 2008, 23:13) ... Dec 25 2008, 20:27 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 22:27) у ... Dec 25 2008, 20:42 Goodefine Цитата(Сергей Борщ @ Dec 25 2008, 23:42) ... Dec 25 2008, 21:03 DenisIV Цитата(Goodefine @ Dec 26 2008, 00:03) Ды... Dec 25 2008, 21:27  Сергей Борщ Цитата(DenisIV @ Dec 25 2008, 23:27) Сюда... Dec 25 2008, 22:46 Сергей Борщ Цитата(Goodefine @ Dec 25 2008, 23:03) У ... Dec 25 2008, 22:40 DenisIV Ещё глотнул пива...
Ведь оператор for работает так... Dec 25 2008, 22:40  zltigo Цитата(DenisIV @ Dec 26 2008, 02:42) Похо... Dec 26 2008, 07:48   DenisIV Цитата(zltigo @ Dec 26 2008, 10:48) Реком... Dec 26 2008, 12:25    zltigo Цитата(DenisIV @ Dec 26 2008, 15:25) Я ра... Dec 26 2008, 13:06 Goodefine Цитата(DenisIV @ Dec 26 2008, 03:42) Могу... Dec 26 2008, 06:52 Goodefine Цитата(_Pasha @ Dec 26 2008, 16:45) была ... Dec 26 2008, 13:47 rezident Сообщение модератора.
Уважаемые, участники! За... Dec 26 2008, 14:05
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|