0
Или контроллер должен будет подавать команду на отключение аккумулятора и уходить в сон.
  • avatar
  • mzw
  • 30 августа 2017, 14:05
0
А на С оно бы влезло прямо в комментарий:
#include <avr/io.h>
#include <avr/interrupt.h>
#include <stdint.h>

#define OUT_PIN PB3
#define THRESHOLD 139

 __attribute__((__naked__)) ISR(TIM0_OVF_vect)
{
    static uint8_t ctr = 0;
    ctr--;
    if(ctr == 0)
    {
        ADCSRA |= _BV(ADSC);
        while(ADCSRA & _BV(ADSC));
        if(ADCH >= THRESHOLD)
            PORTB &= ~_BV(OUT_PIN);
    }
    else if(ctr == 4)
        PORTB |= _BV(OUT_PIN);
}

void main(void)
{
    DDRB = _BV(OUT_PIN);
    PORTB = 0;
    TIMSK0 = _BV(TOIE0);
    TCCR0A = 0;
    TCCR0B = _BV(CS00) | _BV(CS01);
    ADCSRA = _BV(ADEN) | _BV(ADPS2);
    ADCSRB = 0;
    ADMUX = _BV(MUX0) | _BV(ADLAR);
    ADCSRA |= _BV(ADSC);
    while(ADCSRA & _BV(ADSC)); 
    sei();
}

В том числе вместе с кексом:
:1000000009C016C015C015C013C012C011C010C061
:100010000FC00EC011241FBECFE9CDBF20E0A0E667
:10002000B0E001C01D92A136B207E1F714D025C09F
:10003000E7CF80916000815080936000843011F49C
:10004000C39A09C0811107C0369A3699FECF85B18F
:100050008B3808F0C39888E087BB18BA82E089BF64
:100060001FBC83E083BF84E886B913B881E287B9F7
:0E007000369A3699FECF78940895F894FFCF13
:00000001FF
  • avatar
  • Vga
  • 20 августа 2017, 07:59
0
yadi.sk/d/6i5h_F2S3M9oaQ
yadi.sk/d/x30TGzGD3M9obm
Прикрепить файлы не получилось — пришлось опять залить на Яндекс.Диск
  • avatar
  • mzw
  • 19 августа 2017, 20:05