Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей... |
12.02.2009, 12:54
|
|
Частый гость
Регистрация: 12.11.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Как из VMLab`а послать байт в com-порт?
Привет! Хочу увидеть посылку контроллером байта в ком-порт ПК через нульмодемный кабель. Сам контроллер в ВМЛабе.У меня не выходит, может он только с внутренним терминалом работает?
Код:
|
#include ‹90s8515.h›
#include ‹stdio.h›
/* quartz crystal frequency [Hz] */
#define xtal 4000000L
/* Baud rate */
#define baud 9600
void main(void) {
char k;
/* initialize the UART's baud rate */
UBRR=xtal/16/baud-1;
/* initialize the UART control register
RX & TX enabled, no interrupts, 8 data bits */
UCR=0x18;
while (1) {
/* receive the character */
k=getchar();
/* and echo it back */
putchar(k);
};
} |
|
|
|
|
12.02.2009, 13:28
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Надо скопировать его в регистр данных UART предварительно включив и настроив передачу.
примеры в даташите мег на АСМ и на Си.
НА асм можно посмотреть в листинге компилятора Си - CVAVR - его же мастером удобно настроить UART и создать буфер для приема.
Подробно материал изложен у меня
http://avr123.nm.ru/z5.htm
и http://avr123.nm.ru/z4.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
12.02.2009, 14:10
|
|
Частый гость
Регистрация: 12.11.2008
Сообщений: 13
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Код:
|
void USART_Transmit( unsigned int data )
{
while ( !( UCSRA & (1‹‹UDRE))) );
UDR = data;
} |
Данные высвечиваются в окне терминала ВМЛаба. Как сделать так чтобы они высвечивались в терратерме на другом компе? Конкретно из ВМЛаба. Такое вообще возможно?
Цитата:
|
Поясню: Если мы делаем программу не для отладки на встроенном в CodeVisionAVR симуляторе терминала, а для реального МК или для внешнего симулятора - то в тексте программы не было определено:
#ifndef _DEBUG_TERMINAL_IO_
// Get a character from the USART Receiver buffer
// взять символ из созданного буфера USART
#define _ALTERNATE_GETCHAR_
|
Не понял. Когда прога отлажена и готова к прошивке, что нужно указать?
|
|
|
|
12.02.2009, 14:56
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от FxMODE
|
Как сделать так чтобы они высвечивались в терратерме на другом компе? Конкретно из ВМЛаба. Такое вообще возможно?
|
Возможно. Надо найти в интете соответствующую модельку для ВМЛАБ.
В PROTEUS попроще - там это уже есть.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
12.02.2009, 14:58
|
|
Почётный гражданин KAZUS.RU
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
|
Сообщение от FxMODE
|
Когда прога отлажена и готова к прошивке, что нужно указать?
|
Ни чего - если вы сами "дебаг-терм-ио" не включали в исходнике.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 16:41.
|
|