Пт фев 07, 2014 13:40:45
Ср фев 26, 2014 15:12:32
#include <avr/io.h> \\attiny13A
#include <avr/interrupt.h>
unsigned char k;
//из даташита скопировано !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
void WDT_off(void)
{
cli();
/* Clear WDRF in MCUSR */
MCUSR &= ~(1<<WDRF);
/* Write logical one to WDCE and WDE */
/* Keep old prescaler setting to prevent unintentional time-out */
WDTCR |= (1<<WDCE) | (1<<WDE);
/* Turn off WDT */
WDTCR = 0x00;
sei();
}
ISR(ADC_vect)
{
k++;
if (k>20)
{
asm ("wdr"); !!!!!!!!!!!!!!!!!!!!!!!!!
....что-то тут еще делается...
.................
k=0;
}
}
int main(void)
{
DDRB = 0b00000011;
PORTB = 0b00000000;
ADMUX = 0b00100010;
ADCSRA =0b11111111;
WDT_off(); вроде как инициализация? !!!!!!!!!!!!!!!!
sei(); // Глобально разрешаем прерывания
while(1){}
}
Ср фев 26, 2014 18:45:04
вроде как инициализация?
Ср фев 26, 2014 19:47:58
Ср фев 26, 2014 22:36:42
зависает очень часто, скорее всего из-за помех от релюшек
оба регистра надо выставлять или только последний?
тогда почему работает? ... фьюз то я активировал как сказано в даташите.
Чт фев 27, 2014 08:30:46
Чт фев 27, 2014 10:13:30
YS писал(а):А к слову, зачем он Вам вообще нужен? Обычно в 90% случаев в нем нет особой необходимости.
Чт фев 27, 2014 10:29:54
Чт фев 27, 2014 12:00:54
Я бы сказал что он обязательно нужен в устройствах, работающих непрерывно.
Чт фев 27, 2014 12:09:31
YS писал(а):В любом случае, простое включение watchdog'а и его тупое обнуление в цикле не принесет пользы.
Чт фев 27, 2014 20:43:32
Почему же...
Чт фев 27, 2014 21:07:18
YS писал(а):а WDT циклически обнуляется в прерывании
Чт фев 27, 2014 21:24:02
Чт фев 27, 2014 23:03:41
Вс июл 27, 2014 18:01:19
YS писал(а):что просто включение таймера - не панацея.
Ср ноя 26, 2014 11:04:25
#include <avr/io.h>
#include <avr/interrupt.h>
ISR (SIG_WATCHDOG_TIMEOUT)
{
PORTB ^= 0x01;
}
int main(void)
{
DDRB = 0x01;
WDTCR |= (1<<WDCE)|(1 << WDE);
WDTCR |= (1 << WDIE)|(1 << WDP0);
sei();
while(1)
{
asm volatile("nop"::);
}
}
Ср ноя 26, 2014 11:07:51
Ср ноя 26, 2014 11:13:01
Ср ноя 26, 2014 11:15:20
Ср ноя 26, 2014 11:32:56