в

Z

zhi_yi

Guest
привет, пожалуйста, помогите мне, как интерфейс для серийного прервать в ATMEGA8535, я трудность в том, как установить baudrate асинхронных tranmission режиме.Я прочитал ее с Datasheet что UBRR (12 бит), содержат в UBRRH (4 бита) и UBRRL (8 бит).и я использую МТП AVR заявления застройщика построить программу, и он сказал, что UBRR должно быть "25", если я хочу, чтобы baudrate быть 9600, что означает "25" означает?Как назначить его в UBRRH и UBRRL?и я хочу использовать в серийном режиме,
то существуют ли какие-либо программы примеры?Большое спасибо за ваше время.

 
Это может быть полезным для вас.ссылка USART и
стр. 170 этого документы
Извините, но вам необходимо войти в аккаунт это вложение

 
Благодаря ckshivaram,

Кстати, я
читал спецификации, которые были отправлены.можете ли вы мне, пожалуйста, руководства, шаг за шагом то, что я должен делать, если я хочу сделать программу, которая будет получать данные из компьютера, а затем AVR бы отправить его обратно к компьютеру (ECHO полученных данных)?Я проверил, что Есть nothings неправильным с моей аппаратных связи.и я пытался сделать, используя программу МТП AVR,
вот код:

Цитата:/ / ICC-AVR применения строитель: 5/23/2008 11:06:09 AM

/ / Цель: M8535

/ / Crystal: 4.0000Mhz# включить <iom8535v.h>

# включить <macros.h>port_init недействительным (недействительными)

(

PORTA = 0x00;

DDRA = 0x00;

PORTB = 0x00;

DDRB = 0x00;

PORTC = 0x00;

DDRC = 0x00;

PORTD = 0x00;

DDRD = 0x00;

)/ / Инициализация UART0

/ / Требуемый скорость: 9600

/ / Актуальные скорость: 9615 (0,2%)

uart0_init недействительным (недействительными)

(

UCSRB = 0x00; / / отключить при настройке скорости

UCSRA = 0x00;

UCSRC = BIT (URSEL) | 0x06;

UBRRL = 0x19; / / установить скорость вот

UBRRH = 0x00; / / установить скорость привет

UCSRB = 0x18;

)/ / вызов эта процедура инициализации все периферийные

init_devices недействительным (недействительными)

(

/ / остановить странствующий прерывания до тех пор, пока создали

CLI (); / / Отключить все прерывания

port_init ();

uart0_init ();MCUCR = 0x00;

GICR = 0x00;

TIMSK = 0x00; / / таймер прерывает источники

SEI (); / / повторно активировать прерываниями

/ / все периферийные сейчас инициализированные

)/ * Чтение и запись функции * /

Неподписанный символ ReceiveByte (вакуума)

(

в то время как (! (UCSRA И (1 <<RXC))); / * ожидание входящих данных * /

вернуться UDR; / * Возврат данных * /

)недействительным TransmitByte (неподписанные символ данных)

(

в то время как (! (UCSRA И (1 <<Удре))); / * Ждать пуста передать буфер * /

UDR = данные; / * Начало передачи * /

)недействительным Main ()

(

init_devices ();

в то время как (1)

(

TransmitByte (ReceiveByte ()); / * Эхо полученных символов * /

)

)

 
Привет; вероятных причин не получить вывод заключается в том, что вы не клиринговой флага Удре и RXCafter операции.если он является одним Затем она не будет получать данные еще раз.так каждый раз вы вышли из петли сделать этот флаг = 0; думаю, что это сделано со стороны контроллера только.

Мало занят в офисе,
так будет выглядеть в этом случае я скучать от моей работы.Даст вам решение в ближайшее время.

Кстати кристалл, который вы используете.Использование 11.0592Mhz он будет решать эту проблему.
Проверьте, если настройки в HyperTerminal, где вы видите выход настроена правильно, с аппаратным поток настроен как "нет".

Попробуйте это и дайте мне знать.

 
Эй, как долго, как я знаю, кристально частоты могут создать ошибки передачи данных,
я не помню об этом, но попробуйте прочитать описание вы найдете в таблице ошибка существует.

одна информация для вас, если вы подключите USART с компьютера, используя ОС Linux (я не знаю об ОС Windows) через RS-232 можно установить baudrate UC наши собственные, а на стороне компьютера должно быть 19200 бит
/ с (есть нет хорошего объяснения, почему должно быть так).

OK удачи, не забудьте сохранить прочитать описание и оплатить Внимание на UBRR ошибка.
<img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" /><img src="http://www.edaboard.com/images/smiles/icon_biggrin.gif" alt="Очень веселый" border="0" />
 

Welcome to EDABoard.com

Sponsor

Back
Top