реклама на сайте
подробности

 
 
> Tiny26L, Чудеса при программировании
smk
сообщение Sep 9 2008, 08:09
Сообщение #1


Гуру
******

Группа: Свой
Сообщений: 2 246
Регистрация: 17-03-05
Из: Украина, Киев
Пользователь №: 3 446



Уже вторая тинька не отзывается. Суть в чем. Написал программу, запрограммировал и контроллер перестал отзываться. Подключение кварца ничего не дало. Что это может быть?
Вот исходный текст (hex прикрепляю):

#include <avr/io.h>
#include <avr/interrupt.h>
#include <util/delay.h>
#include <stdint.h>
#include <avr/wdt.h>


#define F_CPU 1000000UL // 1 MHz
#define time_limit 1 //(=5+Nsec*3,81)определитель задержки перед выключением
#define temp_min 16 //определитель температуры
#define temp_max 290
#define flay_off PORTB &= ~(1<<4); //выключить преобразователи (установить в 0 PORTB.4)
#define flay_on PORTB |= (1<<4); //включить преобразователи (установить в 1 PORTB.4)


volatile unsigned int N_T0_OVF;
volatile unsigned int temp_sensor;

FUSES =
{
.low = LFUSE_DEFAULT,
.high = HFUSE_DEFAULT,
};

LOCKBITS = (LB_MODE_3);

ISR(INT0_vect)
{
if(PINB & 0b01000000)
{flay_on;
TCCR0 = 0x00;
N_T0_OVF=0;}
else {TCNT0=0; TCCR0 = 0b00000101;}
}


ISR(TIMER0_OVF_vect)
{
N_T0_OVF++;
if(N_T0_OVF==time_limit)
{N_T0_OVF=0;
TCCR0=0x00;
flay_off;}
}


void read_adc_temp (void)
{
ADCSR|=0b01000000; //запустить преобразование
while ((ADCSR & 0b00010000)==0); //дождаться завершения преобразования
{asm("nop");}
ADCSR|=0b00010000; //сбросить флаг прерывания АЦП
temp_sensor=ADCW;
}


int main (void)

{
wdt_enable(WDTO_2S);
DDRB=0b01000111;
PORTB=0b00000000;
DDRA=0b00000001;
PORTA=0b00000000;
MCUCR=0b00000001;
TIMSK = 0b00000010;
GIMSK=0b01000000;
ACSR=0b10000000;
ADMUX=0b10000000;
ADCSR=0b10000011;

/*
read_adc_temp();
adc_next:
read_adc_temp();
if((temp_sensor<temp_min)||(temp_sensor>temp_max)) {goto adc_next;}
*/
asm("sei");

if(PINB & 0b01000000) {_delay_ms(20);}
if(PINB & 0b01000100) {flay_on;}

while(1)
{
/*
if((temp_sensor<temp_min)||(temp_sensor>temp_max))
{flay_off; asm("cli");}
else
{goto adc_next;}
*/
asm("nop");
wdt_reset();
}

return 0;

}

Сообщение отредактировал smk - Sep 9 2008, 08:11
Прикрепленные файлы
Прикрепленный файл  ______IBP_MTV_T26.zip ( 523 байт ) Кол-во скачиваний: 30
 


--------------------
Живи днем так, чтобы ночью ты спал спокойно.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- smk   Tiny26L   Sep 9 2008, 08:09
- - Палыч   Цитата(smk @ Sep 9 2008, 11:09) ...и конт...   Sep 9 2008, 08:15
- - Corvus   С 99% вероятностью - неправильно выставлены фьюзы,...   Sep 9 2008, 08:19
- - smk   ЦитатаПрограмматором не читается, не пишется? Да. ...   Sep 9 2008, 08:21
- - Lem   подключите внешнее тактирование и запрограммируйте...   Sep 9 2008, 08:24
- - Палыч   Не знаю: что такое DEFAULT... Как реанимировать - ...   Sep 9 2008, 08:25
- - smk   Цитатаподключите внешнее тактирование и запрограмм...   Sep 9 2008, 08:27
|- - Палыч   Цитата(smk @ Sep 9 2008, 11:27) Это значи...   Sep 9 2008, 08:29
- - smk   ЦитатаТогда, зачем их программировать - они и так ...   Sep 9 2008, 09:07
|- - aesok   Цитата(smk @ Sep 9 2008, 13:07) Было: #de...   Sep 9 2008, 09:23
- - smk   ЦитатаЗдесь можно сказать: http://savannah.nongnu....   Sep 9 2008, 09:47
- - Lem   при любом положении фузов при подаче внешнего такт...   Sep 9 2008, 12:06
- - smk   ЦитатаЗдесь можно сказать: http://savannah.nongnu....   Sep 9 2008, 12:20
- - Itch   Цитатапри любом положении фузов при подаче внешнег...   Sep 9 2008, 12:34
- - Stepan_L   я + к совету LEM   Sep 17 2008, 06:47


Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 18:30
Рейтинг@Mail.ru


Страница сгенерированна за 0.01439 секунд с 7
ELECTRONIX ©2004-2016