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

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

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

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

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

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

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

 
Опции темы
Непрочитано 12.05.2007, 12:53  
luck26
Частый гость
 
Регистрация: 14.07.2006
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
luck26 на пути к лучшему
По умолчанию mega8535+ds1621+CVAVR чё-то не хочет

Здравствуйте Люди! Делаю одному товарищу курсач. Термостат на ds1621 и mega8535. Заодно попутно разбираюсь с I2C. Пользуюсь генератором начального кода в CVAVR. Так вот в программе которую создал Code Wizard есть команда инициализации термостата.
ds1621_init(0,20,55,0);
Похоже что программа виснет на этой команде. Смотрел осциллом линии SDA и SDL там чивото передается. Сразу после этой команды в программе я написал вывод контрольной строчки на LCD. Так вот эту строчку можно дождаться спустя 30 минут после включения в сеть. Объясните в чем может быть причина?
HELP!!!
Реклама:
luck26 вне форума  
Непрочитано 12.05.2007, 13:04  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию Re: mega8535+ds1621+CVAVR чё-то не хочет

Сообщение от luck26
. Смотрел осциллом линии SDA и SDL там чивото передается.
как это чавото? посиди почитай как работает i2c шина,даж есть книжка по ней,если есть желание дам сылку.
CERGEI1982 вне форума  
Непрочитано 12.05.2007, 13:06  
urry
Почётный гражданин KAZUS.RU
 
Аватар для urry
 
Регистрация: 06.02.2007
Сообщений: 1,340
Сказал спасибо: 3
Сказали Спасибо 106 раз(а) в 66 сообщении(ях)
urry на пути к лучшему
По умолчанию

Проект в студию, плиз
urry вне форума  
Непрочитано 12.05.2007, 17:57  
luck26
Частый гость
 
Регистрация: 14.07.2006
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
luck26 на пути к лучшему
По умолчанию

Если можно дайте ссылку на книжку по I2C. Проект в студию будет во Вторник.
luck26 вне форума  
Непрочитано 12.05.2007, 18:27  
CERGEI1982
Почётный гражданин KAZUS.RU
 
Аватар для CERGEI1982
 
Регистрация: 03.01.2007
Адрес: Россия,Иркутская обл.
Сообщений: 2,579
Сказал спасибо: 351
Сказали Спасибо 315 раз(а) в 193 сообщении(ях)
CERGEI1982 на пути к лучшему
По умолчанию

Сообщение от luck26
Если можно дайте ссылку на книжку по I2C. Проект в студию будет во Вторник.
вот здесь есть http://lord-n.narod.ru/walla.html
в самом низу посмотри
CERGEI1982 вне форума  
Непрочитано 13.05.2007, 10:22  
luck26
Частый гость
 
Регистрация: 14.07.2006
Сообщений: 11
Сказал спасибо: 0
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
luck26 на пути к лучшему
По умолчанию

Вот такая получилась програмка )
Код:
/**************************************************  ***
This program was produced by the
CodeWizardAVR V1.24.6 Standard
Automatic Program Generator
© Copyright 1998-2005 Pavel Haiduc, HP InfoTech s.r.l.
http://www.hpinfotech.com
e-mail:office@hpinfotech.com

Project : 
Version : 
Date    : 13.05.2007
Author  : 123                             
Company : 123                             
Comments: 


Chip type           : ATmega8535L
Program type        : Application
Clock frequency     : 8,000000 MHz
Memory model        : Small
External SRAM size  : 0
Data Stack size     : 128
**************************************************  ***/

#include ‹mega8535.h›
#include ‹delay.h›
// I2C Bus functions
#asm
   .equ __i2c_port=0x18 ;PORTB
   .equ __sda_bit=0
   .equ __scl_bit=1
#endasm
#include ‹i2c.h›
#include ‹math.h›
// DS1621 Thermometer/Thermostat functions
#include ‹ds1621.h›
#include ‹stdio.h›
// Alphanumeric LCD Module functions
#asm
   .equ __lcd_port=0x1B ;PORTA
#endasm
#include ‹lcd.h›

// External Interrupt 0 service routine
interrupt [EXT_INT0] void ext_int0_isr(void)
{
// Place your code here

}

// External Interrupt 1 service routine
interrupt [EXT_INT1] void ext_int1_isr(void)
{
// Place your code here

}

// Declare your global variables here
int t0;
char display_buffer[33];
void main(void)
{
// Declare your local variables 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: On
// INT0 Mode: Low level
// INT1: On
// INT1 Mode: Low level
// INT2: Off
GICR|=0xC0;
MCUCR=0x00;
MCUCSR=0x00;
GIFR=0xC0;

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

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

// LCD module initialization
lcd_init(16);
lcd_clear();
lcd_putsf("lcd_init");
delay_ms(200);
// I2C Bus initialization
i2c_init();
lcd_clear();
lcd_putsf("i2c_init");
delay_ms(200);
// DS1621 Thermometer/Thermostat initialization
// tlow: 18°C
// thigh: 50°C
// Tout polarity: 0
ds1621_init(0,18,50,0);
lcd_clear();
lcd_putsf("ds1621_init");//Появления этой надписи на экране LCD дождаться 
delay_ms(200);//Почти невозможно


// Global enable interrupts
#asm("sei")

while (1)
      {
      // Place your code here
      t0=ds1621_temperature_10(0);

	sprintf(display_buffer,"t0=%-i.%-u%cC",t0/10,abs(t0%10),0xdf);
        /* display the temperatures */
	lcd_clear();
	lcd_puts(display_buffer);
	

      };
}
luck26 вне форума  
Непрочитано 13.05.2007, 16:17  
dimonbest
Гражданин KAZUS.RU
 
Аватар для dimonbest
 
Регистрация: 30.04.2006
Сообщений: 984
Сказал спасибо: 5
Сказали Спасибо 18 раз(а) в 14 сообщении(ях)
dimonbest на пути к лучшему
По умолчанию

А чего сам проект не выложил + в proteus??? Так же намного удобней отлаживать...
dimonbest вне форума  
 

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

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

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

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

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
замена DS1621 на DS1631 demchic Микроконтроллеры, АЦП, память и т.д 10 03.07.2009 00:22
Работа с DS1621 CERGEI1982 Микроконтроллеры, АЦП, память и т.д 16 09.07.2007 06:24
Сгорают порты MEGA8535 delay Микроконтроллеры, АЦП, память и т.д 12 23.01.2006 22:13
mega8535... vmlab dret Микроконтроллеры, АЦП, память и т.д 1 28.03.2005 21:29
I2C ЖКИ + mega8535 graham Микроконтроллеры, АЦП, память и т.д 12 16.02.2005 21:33


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


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