
![]() |
Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
|
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[216.73.216.30] |
![]() |
|
Страницы: (18) « Первая ... 11 12 [13] 14 15 ... 17 18 все ( Перейти к последнему сообщению ) |
Сообщ.
#181
,
|
|
|
Цитата unsigned char count=8; Цитата unsigned char Keys = (~PORTB) & (4|8); /* состояние кнопок на RB2-RB3. Ждёт нажатия */ определять такие ошибки пора бы уже и саму научиться:) |
Сообщ.
#182
,
|
|
|
potor, в тех местах так ошибки и остались
![]() ![]() Rebuilding target Debug... Untitled1.c C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (21) : Error[Pe268]: declaration may not appear after executable statement in block C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (43) : Error[Pe268]: declaration may not appear after executable statement in block C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (45) : Error[Pe112]: expected "while" C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (46) : Warning[Pe223]: function declared implicitly C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (49) : Error[Pe079]: expected a type specifier C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (50) : Error[Pe065]: expected a ";" C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (51) : Warning[Pe128]: loop is not reachable from preceding code C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (54) : Error[Pe079]: expected a type specifier C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (55) : Error[Pe065]: expected a ";" C:\Documents and Settings\Administrator\My Documents\IAR проект\Новая папка\Untitled1.c (57) : Warning[Pe001]: last line of file ends without a newline Total number of errors: 7 Total number of warnings: 3 |
Сообщ.
#183
,
|
|
|
Цитата Для do нет соответствующего while. Или Keys >>= 1; стоит не там, где нужно bizar, 26.03.04, 11:38 do { tick(); /* НЕБОЛЬШОЙ ПРОМЕЖУТОК ВРЕМЕНИ, "не будем опрашивать кнопки слишком часто" */ Keys = (~PORTB) & (4|8); /* состояние кнопок на RB2-RB3. Ждёт нажатия */ } Keys >>= 1; while(PORTB & Bit(0)); /* если установлен бит 0, значит нажата кнопка на RB2 */ |
Сообщ.
#184
,
|
|
|
ПОПРОБУЙ ТАК:
Цитата void TransmitByte(char Symbol) { unsigned int count = 8;// счетчик передаваемых бит данных PORTA &= 0xfe; //передаем стартовый бит do { TransmitBitDelay(); // задержка перед передачей следующего бита PORTA ^= (~Symbol) & 1; // выдаем очередной бит в COM Symbol >>= 1; //следующий бит count--; } while (count >0); TransmitBitDelay(); // задержка перед передачей следующего бита PORTA |= 1; //передаем стоповый бит } Цитата unsignet char Keys; main () { TRISB = 4|8; /* RB2 - RB3 настраиваем на вход */ PORTB = 0xfc; /* RB0 - RB1 настраиваем на вывод*/ while(1) { do { tick(); /* НЕБОЛЬШОЙ ПРОМЕЖУТОК ВРЕМЕНИ, "не будем опрашивать кнопки слишком часто" */ Keys = (~PORTB) & (4|8); /* состояние кнопок на RB2-RB3. Ждёт нажатия */ } Keys >>= 1; while(PORTB & Bit(0)); /* если установлен бит 0, значит нажата кнопка на RB2 */ while(1) { void TransmitByte(34) /* посылаем 34 */ } while(PORTB & Bit(1)); /* если установлен бит 1, значит нажата кнопка на RB3 */ while(1) { void TransmitByte(35) /* посылаем 35 */ } } } |
Сообщ.
#185
,
|
|
|
Думаю нужно начать всё сначало?
Прикреплённый файл ![]() |
Сообщ.
#186
,
|
|
|
в общем в моем IARe для AVR надо в режиме дебаггера сделать View/Disassembly, либо в Project/Options в закладке компилятора list ставишь галочку Assembler mnemonics, т е ты выслал не то, нужен ассемблерный код
|
Сообщ.
#187
,
|
|
|
potor, я этим покозал что ошибок море,
и не знаю как их исправить (уже всё перепробовал). |
Сообщ.
#188
,
|
|
|
бл...
unsigned char Keys ![]() Добавлено в : точку с запятой незабудь поставить:) |
Сообщ.
#189
,
|
|
|
на будующее, в микроконтроллерных компиляторах, ввиду их недоделанности, следует обращать внимание на первую ошибку, остальные генерятся как правило от балды:)
|
Сообщ.
#190
,
|
|
|
Ещё остались ошибки.
Прикреплённый файл ![]() |
Сообщ.
#191
,
|
|
|
![]() ![]() main () { TRISB = 4|8; /* RB2 - RB3 настраиваем на вход */ PORTB = 0xfc; /* RB0 - RB1 настраиваем на вывод*/ while(1) { do { tick(); /* НЕБОЛЬШОЙ ПРОМЕЖУТОК ВРЕМЕНИ, "не будем опрашивать кнопки слишком часто" */ Keys = (~PORTB) & (4|8); /* состояние кнопок на RB2-RB3. Ждёт нажатия */ } while( Keys == 0 ); if(Keys & Bit(2)) /* если установлен бит 0, значит нажата кнопка на RB2 */ TransmitByte(34); /* посылаем 34 */ if(Keys & Bit(3)) /* если установлен бит 1, значит нажата кнопка на RB3 */ TransmitByte(35); /* посылаем 35 */ } } этот код тебе писал ранее trainer:) |
Сообщ.
#192
,
|
|
|
В нём ошибка:
![]() ![]() if(Keys & Bit(2)) Сдесь выдаёт ошибку. |
Сообщ.
#193
,
|
|
|
после #include <io16f84.h>
вставь строчку #define Bit(x) 1<<(x) дело в том что команды Bit нет, это макрос который мы определяем сами |
Сообщ.
#194
,
|
|
|
Ok всё скомпелил без ошибок
теперь зашить и проверить. |
Сообщ.
#195
,
|
|
|
неееет, зашить и проверить неполучится, сначала надо подобрать числа, т е десятки там не пройдут:)
|