ATMega2560 в Proteus не работает Virtual Terminal

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
Родился
Сообщения: 1
Зарегистрирован: Вт мар 13, 2012 21:33:30

Сообщение squli »

добрый вечер, пытаюсь заставить работать в протеусе virtual terminal с ATMega2560

схема-настройки: //не добавляются к сообщению картинки (
http://smotr.im/3ZoV
http://smotr.im/3ZoW
, проблема в том, что выводятся только нули, чтобы не слал, вероятно что-то со скоростью? но как исправить/проверить не понимаю. Спасибо.
на atmege8 или 16 все работает, но нужно именно на этой, поскольку уартов четыре.

код:

Код: Выделить всё

#include <avr/io.h>

#define FOSC 14745600// Clock Speed
#define BAUD 9600
#define MYUBRR (FOSC/16/BAUD-1)

void USART_Init( unsigned int ubrr);
void USART_Transmit( unsigned char data );

int main( void )
{
USART_Init ( MYUBRR );
while(1) 
USART_Transmit ( 0x15 );
} // main

void USART_Init( unsigned int ubrr){
/* Set baud rate */
UBRR0H = 0; //(unsigned char)(ubrr>>8);
UBRR0L = (unsigned char)ubrr;
/* Enable receiver and transmitter */
UCSR0B = (1<<RXEN0)|(1<<TXEN0);
/* Set frame format: 8data, 2stop bit */
UCSR0C = (1<<USBS0)|(3<<UCSZ00);
} // USART_Init

void USART_Transmit( unsigned char data )
{
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)) );/* Put data into buffer, sends the data */
UDR0 = data;
}
avrstudio 4, proteus 7.7 sp2
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2981
Зарегистрирован: Ср сен 28, 2011 22:18:14
Откуда: Москва

Сообщение les1982 »

Для протеуса есть отдельная тема там и задавайте вопросы , а может и ответ найдете
Люди могут жить без мозгов.
Реклама
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город

Сообщение Мастер Ломастер »

используйте макросы из модуля util/setbaud.h - и будет вам счастье со скоростью!

только учтите, что ПРОТЕУС не выполняет при сбросе установку регистров USART в состояние, описанное в даташите, поэтому это необходимо делать принудительно в программе (в реальном МК все работает и без этого, в протеусе - нет).
битва с дураками проиграна, победители торжествуют. слава победителям!
Контактная информация:
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»