[an error occurred while processing this directive]
Ответ: передает не то, вот часть программы:
(«Телесистемы»: Конференция «Микроконтроллеры и их применение»)

миниатюрный аудио-видеорекордер mAVR

Отправлено DSM 26 января 2006 г. 10:43
В ответ на: А что не катит? Поконкректней пожалуйста отправлено argus98 26 января 2006 г. 09:46

/* Main - a simple test program*/
void main( void )
{
//unsigned char ch;
port_init();
InitUART( ); /* Set the baudrate to 9,600 bps using a 10 MHz crystal */
SEI();
for(;;) /* Forever */
{
//ClrBit(PORTE,2); //
//ch = ReceiveByte();
SetBit(PORTE,2); // передача
for(ch=0;ch<255;ch++){
//ch=0xFF-ch;
TransmitByte(ch); /* Echo the received character */
}
}
}

/* Initialize UART */
void InitUART(void)// unsigned char baudrate )
{
UBRR0L = 64; //set baud rate lo
UBRR0H = 0x00; //set baud rate hi
UCSR0A = 0x00;
UCSR0B = 0b00001000;
}

/* Read and write functions */
unsigned char ReceiveByte( void )
{
while ( !(UCSR0A & (1< ; /* Return the data */
return UDR0;
}

void TransmitByte( unsigned char data )
{
while ( !(UCSR0A & (1< ; /* Wait for empty transmit buffer */
UDR0 = data; /* Start transmittion */
}

void port_init(void)
{
PORTA = 0x00;
DDRA = 0x00;
PORTB = 0x00;
DDRB = 0x10;
PORTC = 0x00; //m103 output only
DDRC = 0x00;
PORTD = 0x00;
DDRD = 0x00;
PORTE = 0x00;
DDRE = 0x04;
PORTF = 0x00;
DDRF = 0x00;
PORTG = 0x00;
DDRG = 0x00;
}
по идее должен передавать последовательность 0..255, а на деле последовательность 255..0, и с прыжками через несколько (2,4,..)

Составить ответ  |||  Конференция  |||  Архив

Ответы


Отправка ответа

Имя (обязательно): 
Пароль: 
E-mail: 
NoIX ключ Запомнить

Тема (обязательно):
Сообщение:

Ссылка на URL: 
Название ссылки: 

URL изображения: 


Rambler's Top100 Рейтинг@Mail.ru
Перейти к списку ответов  |||  Конференция  |||  Архив  |||  Главная страница  |||  Содержание

E-mail: info@telesys.ru