Myp писал(а):кстати краткий курс накрылся
не работает...
и вот как в таких условиях можно чтото сделать...
надо помнить о запасных вариантах -
и еще штук 20 ...
![]() |
roboforum.ruТехнический форум по робототехнике. |
|
Myp писал(а):кстати краткий курс накрылся
не работает...
и вот как в таких условиях можно чтото сделать...
Myp писал(а):void Priem(void)
{
int i = -1;
while ((i+1) <= 3)
{
buffer[i] = getchar();
}
}
ну нет выхода из этой процедуры, счётчик не тикает висим на getchar
avr123.nm.ru писал(а):
какаято ИЗВРАЩЕННАЯ лабуда !
прочитайте наконец pid.by.ru/05.htm "Си для МК"
и начните писать НОРМАЛЬНО !
Что вы везде INT лепите ???
{
char ctr = 0;
while (ctr < 3)
{
buffer[ctr] = getchar();
ctr++;
}
}
void priem(void)
{
char ctr = 0;
while (ctr < 3)
{
buffer[ctr] = getchar();
ctr++;
}
}while (1)
{
// Place your code here
priem();
putchar('1');
};какаято ИЗВРАЩЕННАЯ лабуда !
avr123.nm.ru писал(а):Ты напиши варианты допустимых команд - я уж страницу наверно назад спрашивал - тогда понятно будет.
Так вот сразу анализируйте принятый символ и если он допустим помещайте его в массив.
// USART Receiver interrupt service routine
interrupt [USART_RXC] void usart_rx_isr(void)
{
char status,data,;
status=UCSRA;
data=UDR;
if ((status & (FRAMING_ERROR | PARITY_ERROR | DATA_OVERRUN))==0)
{
rx_buffer[rx_wr_index]=data;
if (++rx_wr_index == RX_BUFFER_SIZE) rx_wr_index=0;
if (++rx_counter == RX_BUFFER_SIZE)
{
rx_counter=0;
rx_buffer_overflow=1;
};
buffer[i] = getchar();
i++;if (i)
{
if (((simvol >= '0')&(simvol <= '9')))
{
buffer[i] = simvol;
i++;
}
} Вернуться в Новичкам или основы основ роботостроения.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0