Реклама на сайте English version  DatasheetsDatasheets

KAZUS.RU - Электронный портал. Принципиальные схемы, Datasheets, Форум по электронике

Новости электроники Новости Литература, электронные книги Литература Документация, даташиты Документация Поиск даташитов (datasheets)Поиск PDF
  От производителей
Новости поставщиков
В мире электроники

  Сборник статей
Электронные книги
FAQ по электронике

  Datasheets
Поиск SMD
Он-лайн справочник

Принципиальные схемы Схемы Каталоги программ, сайтов Каталоги Общение, форум Общение Ваш аккаунтАккаунт
  Каталог схем
Избранные схемы
FAQ по электронике
  Программы
Каталог сайтов
Производители электроники
  Форумы по электронике
Помощь проекту

Микроконтроллеры, АЦП, память и т.д Темы касающиеся микроконтроллеров разных производителей, памяти, АЦП/ЦАП, периферийных модулей...

 
Опции темы
Непрочитано 24.07.2007, 11:22  
vendim
Частый гость
 
Регистрация: 09.04.2007
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vendim на пути к лучшему
По умолчанию Помогите разобраться с USART в CodeVisionAVR

Есть ATMega32. В CodeVisionAVR USART сконфигурирован. В хелпе сказано что с ним надо работать стандартными средствами putchar, getchar, и т.д. Посылаю байт в него, ничего не происходит. И в AVR IDE Simulator - то же самое - сигнал на ногах не появляется. Что я делаю не так. Подскажите, пожалуйста, как работать с USART. Вот что у меня:

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 38400
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

putchar(65);
Реклама:
vendim вне форума  
Непрочитано 24.07.2007, 11:45  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию

Вот мастером создал в CodeVision проект.
В основном цикле поставил putchar(65).
Все работает.
Проект в Протеус и CodeVision прикреплен (35килобайт)

-- Прилагается рисунок: --


Прикрепленный файл: 6984267.rar
lsa вне форума  
Непрочитано 24.07.2007, 12:09  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Что можно посоветовать - один - единственный !!! раз отказаться от всех визардов, мастеров и сформировать ручками - через обращение к регистрам - передачу - прием ( для общего развития). Тогда подобные вопросы просто исчезнут в будущем. И это касается не только уарта, и всего остального тоже...
urry вне форума  
Непрочитано 24.07.2007, 12:46  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию Re: Помогите разобраться с USART в CodeVisionAVR

Сообщение от vendim
Что я делаю не так.
наверно библиотеку "стдио.h" забыли вписать.

avr123.nm.ru/z5.htm
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 24.07.2007, 12:50  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от urry
отказаться от всех визардов, мастеров и сформировать ручками
И ЧЕМ результат будет отличаться ОТ ЕГО ?

Код:
// USART initialization 
// Communication Parameters: 8 Data, 1 Stop, No Parity 
// USART Receiver: On 
// USART Transmitter: On 
// USART Mode: Asynchronous 
// USART Baud rate: 38400 
UCSRA=0x00; 
UCSRB=0x18; 
UCSRC=0x86; 
UBRRH=0x00; 
UBRRL=0x19;

Сообщение от urry
... через обращение к регистрам
А у него не через обращение к регистрам сделано ?
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
Непрочитано 24.07.2007, 13:01  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Только делал не он. Разницу чувствуете ???
urry вне форума  
Непрочитано 24.07.2007, 13:37  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию

А чего гадать то?
Может тот обрывок кода и есть ВСЯ программа?
Конечно она не будет работать.
Вот внизу исходник сгенерирован мастером.
Нужно сравнивать что не так, что лишнее, чего не хватает...
Код:
/**************************************************  ***
Chip type           : ATmega32
Program type        : Application
Clock frequency     : 8,000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 512
**************************************************  ***/
#include ‹mega32.h›
#include ‹stdio.h›

void main(void)
{
// Input/Output Ports initialization
PORTA=0x00;
DDRA=0x00;

// Port B initialization
PORTB=0x00;
DDRB=0x00;

// Port C initialization
PORTC=0x00;
DDRC=0x00;

// Port D initialization
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x0C;

// Analog Comparator initialization
ACSR=0x80;
SFIOR=0x00;

while (1)
      {
      putchar(65);
      };
}
lsa вне форума  
Непрочитано 24.07.2007, 14:10  
vendim
Частый гость
 
Регистрация: 09.04.2007
Сообщений: 21
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
vendim на пути к лучшему
По умолчанию

Помимо USART ещё подключен LCD. Но не думаю что это причина неработоспособности. Вот полный текст. Там ничего принципиально отличающегося от приведённого в ответах:


Код:
/**************************************************  ***
This program was produced by the
CodeWizardAVR V1.25.3 Professional
Automatic Program Generator
© Copyright 1998-2007 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com

Project : 
Version : 
Date    : 
Author  :                  
Company :            
Comments: 


Chip type           : ATmega32
Program type        : Application
Clock frequency     : 16.000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 512
**************************************************  ***/

#include ‹mega32.h›

// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x15 ;PORTC
#endasm
#include ‹lcd.h›
#include ‹stdio.h›
#include ‹delay.h›

// Declare your global variables here

/* [0] "A" */  flash unsigned char MenuMes0[]={65,0};

void main(void)
{
// Declare your local variables here

// Reset Source checking
if (MCUCSR & 1)
   {
   // Power-on Reset
   MCUCSR=0;
   // Place your code here

   }
else if (MCUCSR & 2)
   {
   // External Reset
   MCUCSR=0;
   // Place your code here

   }
else if (MCUCSR & 4)
   {
   // Brown-Out Reset
   MCUCSR=0;
   // Place your code here

   }
else
   {
   // Watchdog Reset
   MCUCSR=0;
   // Place your code here

   };

// Input/Output Ports initialization
// Port A initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTA=0x00;
DDRA=0x00;

// Port B initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTB=0x00;
DDRB=0x00;

// Port C initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTC=0x00;
DDRC=0x00;

// Port D initialization
// Func7=In Func6=In Func5=In Func4=In Func3=In Func2=In Func1=In Func0=In 
// State7=T State6=T State5=T State4=T State3=T State2=T State1=T State0=T 
PORTD=0x00;
DDRD=0x00;

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: Timer 0 Stopped
// Mode: Normal top=FFh
// OC0 output: Disconnected
TCCR0=0x00;
TCNT0=0x00;
OCR0=0x00;

// Timer/Counter 1 initialization
// Clock source: System Clock
// Clock value: Timer 1 Stopped
// Mode: Normal top=FFFFh
// OC1A output: Discon.
// OC1B output: Discon.
// Noise Canceler: Off
// Input Capture on Falling Edge
// Timer 1 Overflow Interrupt: Off
// Input Capture Interrupt: Off
// Compare A Match Interrupt: Off
// Compare B Match Interrupt: Off
TCCR1A=0x00;
TCCR1B=0x00;
TCNT1H=0x00;
TCNT1L=0x00;
ICR1H=0x00;
ICR1L=0x00;
OCR1AH=0x00;
OCR1AL=0x00;
OCR1BH=0x00;
OCR1BL=0x00;

// Timer/Counter 2 initialization
// Clock source: System Clock
// Clock value: Timer 2 Stopped
// Mode: Normal top=FFh
// OC2 output: Disconnected
ASSR=0x00;
TCCR2=0x00;
TCNT2=0x00;
OCR2=0x00;

// External Interrupt(s) initialization
// INT0: Off
// INT1: Off
// INT2: Off
MCUCR=0x00;
MCUCSR=0x00;

// Timer(s)/Counter(s) Interrupt(s) initialization
TIMSK=0x00;

// USART initialization
// Communication Parameters: 8 Data, 1 Stop, No Parity
// USART Receiver: On
// USART Transmitter: On
// USART Mode: Asynchronous
// USART Baud rate: 38400
UCSRA=0x00;
UCSRB=0x18;
UCSRC=0x86;
UBRRH=0x00;
UBRRL=0x19;

// Analog Comparator initialization
// Analog Comparator: Off
// Analog Comparator Input Capture by Timer/Counter 1: Off
ACSR=0x80;
SFIOR=0x00;

putchar(65);

// LCD module initialization
lcd_init(20);

while (1)
{
  lcd_gotoxy(0,0);        
  lcd_putsf(MenuMes0);
};
}
vendim вне форума  
Непрочитано 24.07.2007, 14:22  
lsa
Почётный гражданин KAZUS.RU
 
Аватар для lsa
 
Регистрация: 22.06.2004
Адрес: Харьков
Сообщений: 1,488
Сказал спасибо: 3,207
Сказали Спасибо 3,010 раз(а) в 686 сообщении(ях)
lsa на пути к лучшему
По умолчанию

Вот и стало все на свои места:
putchar(65) выполняется один единственный раз на этапе инициализации.
Поэтому его заметить и нельзя.
lsa вне форума  
Непрочитано 24.07.2007, 14:29  
avr123-nm-ru
Почётный гражданин KAZUS.RU
 
Регистрация: 13.05.2006
Адрес: Москва
Сообщений: 3,559
Сказал спасибо: 76
Сказали Спасибо 326 раз(а) в 230 сообщении(ях)
avr123-nm-ru на пути к лучшему
По умолчанию

Сообщение от urry
Только делал не он. Разницу чувствуете ???
Он написал что он делал.
__________________
Обучалка AVR PIC ARM начинающим программирование курс самоучитель шаг за шагом с нуля, CVAVR, PROTEUS, MPLAB, WinAVR, IAR, KEIL электроника - http://proavr.narod.ru
avr123-nm-ru вне форума  
 

Закладки
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Помогите со сбросом USART КР580ВВ51А kramolnic Микроконтроллеры, АЦП, память и т.д 19 11.04.2009 13:48
Помогите принять строку по usart от АТ модема kasper37 Микроконтроллеры, АЦП, память и т.д 10 03.01.2009 16:21
Помогите разобраться Skt Микроконтроллеры, АЦП, память и т.д 7 26.08.2005 08:23
Народ, помогите, плиз! 2й USART в PIC mxsimus Микроконтроллеры, АЦП, память и т.д 3 24.12.2004 02:26
[Решено] Файл лицензии codevisionavr 10.17 или выше chip Делимся опытом 7 31.10.2004 16:41


Часовой пояс GMT +4, время: 09:36.


Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot