Подключить много кнопок на мало выводов.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

ejsanyo писал(а): Вс июл 05, 2026 01:33:40 выкрутасы на +1 контроллере, а потом ещё их подружить между собой.
А че их "дружить"? Тот же самый слейв I2C, как и в PCF. Или слейв SPI, у топикстартера он уже есть в контроллере. Написать простецкую прошивку - ну че там сложного то? Тем более, что топикстартер сказал, что это не его задача.
Придумывать какие-то свои хитрозамудренные интерфейсы не нужно - "всё уже украдено придумано до вас". SPI - простой, понятный и надежный интерфейс.
Реклама
Потрогал лапой паяльник
Сообщения: 395
Зарегистрирован: Чт май 07, 2026 00:30:38

Сообщение Zapolyarny »

ejsanyo писал(а): Вс июл 05, 2026 02:49:49 И +1 прошивка, не забывайте.
Это модульная архитектура, она больше удобна, чем нет. Кроме того, в этой прошивке можно реализовать много чего ещё. Например, дополнительный контроль состояния основного мк и выдача сигнала аварии.
ejsanyo писал(а): Вс июл 05, 2026 02:49:49 Одну линию хотите? А вы помните, что автор хочет будить свой "ОМК" прерываниями? После чего уже опрашивать кнопки. Просто пнуть в одну сторону и прерывание и данные, безо всякой обратной связи? Как-то слишком смело.
Помню. И это реализуется настолько просто и банально, что даже объяснять не нужно. Этот "смелый" режим используется производителями готовых контроллеров, выше приводил ссылки.
ejsanyo писал(а): Вс июл 05, 2026 02:49:49 Кроме того, придётся ставить кварцы и там и там, чтобы не было разбега скоростей передачи. Или молиться на точность RC-генератора в контроллере-слэйве? (AT90, как мы помним, в любом случае работает только с кварцем)
А контакты не нужно синхронизировать? :) Даже USB может работать без кварцевого резонатора и привлечения высших сил, такие решения есть у WCH.
ejsanyo писал(а): Вс июл 05, 2026 02:49:49 Полностью синхронный I2C в этом плане заморочек не имеет.
Разве I2C может работать на абсолютно любой скорости? Производитель контроллера а-ля PCF8574 может не согласиться с таким. И есть USART, который всё равно проще, сравним с SPI, предложенным Rapra
ejsanyo писал(а): Вс июл 05, 2026 02:49:49 мой встроенный визионер подсказывает, что у него там аппаратный UART может быть уже чем-то занят. А делать второй программный - это ой как сложнее чем I2C!
Да. Или I2C. Или SPI. Задача не решаема, мы просто болтаем о вариантах, а применительно к проблеме ТС нет смысла: он скрывает информацию. Программный синхронный UART проще любого I2С, хоть программного, хоть аппаратного.
ejsanyo писал(а): Вс июл 05, 2026 02:49:49 по энергопотреблению. А вы точно уверены, что ваш контроллер-слэйв будет в этом плане хорош? Особенно в руках такого себе погромиста? PCF, с другой стороны, пока к ней нет обращения, жрёт практически ничего. Да и в динамике потребление мизерное.
Во-первых, этим специалистом и то и другое может быть сделано тяп-ляп. Во-вторых, свобода в выборе микроконтроллера позволяет варианты с таким ультранизким потреблением, что PCF8574 почувствует себя обжорой. В-третьих, можно сделать потребление в простое 0: питание будет обеспечиваться теми самыми же контактами, которых надо и опрашивать. В том числе и у PCF8574.
Реклама
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Написано много, к сожалению, ответить каждому не смогу, но вижу повторяются одни и те-же советы по кругу, как будто никто не читает предыдущие сообщения. Отвечу в третий уже раз.

1) Применить любые микросхемы расширения интерфейса с протоколом I2С не выйдет. Программист не справится, а я ввиду слабого знания этого интерфейса ему не смогу написать нормально ТЗ. Это поднималось в самом начале темы.

2) Второй ОМК тоже не желательно. Причин очень много. Основная - объяснить эту необходимость начальству. Плюсом крайне узкий диапазон "разрешенных" ОМК и средств отладки.

3) "Кнопки" это не кнопки, а некие контактные группы. Одновременно могут быть замкнуты от одной до 12 "кнопок".


Нужно решения "из говна и палок" простое и дешевое. Пока склоняюсь к матрице 4х3 "кнопок" с диодом последовательно с каждой "кнопкой". Опрос "бегущей 1" с выводов данных индикатора. Резисторы больших номиналов. с объединительных шин на "землю", с нис съем данных на 3 входа. Плюсом диодно-резистивный элемент 3ИЛИ на вывод прерывания. Одного опасаюсь, что прямого падения на двух, последовательно соединённых, диодах шоттки будет слишком много, для того, что бы дотянуть "лог. 1" на выводе прерывания, с учётом питания в 3 вольта.
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Эт что ж там за погромист, что с I2C не справится? :) И с SPI тоже не справится? И микроконтроллер тоже нельзя? Разрешено только говно и палки? Оу щит, что у вас там за гестапо то?
Реклама
Эиком - электронные компоненты и радиодетали
Поставщик валерьянки для Кота
Сообщения: 1921
Зарегистрирован: Сб май 05, 2012 20:24:52
Откуда: KN34PC, Болгария

Сообщение veso74 »

Призрачный Суслик писал(а): Вт июл 07, 2026 12:56:07 ... Программист не справится ... не смогу написать нормально ТЗ ... объяснить эту необходимость начальству ... Нужно решения "из говна и палок" простое и дешевое
Призрачный Суслик, неплохо было бы изложить эти истины в качестве параметров и требований в самом начале.
(Уверен, после этого не было бы ни одного ответа/предложения -> желание помочь мгновенно испарится).

Все простое: объясните начальству: "Невозможно сделать". И все.
Личное мнение. :tea:
Контактная информация:
Реклама
akl
Друг Кота
Сообщения: 4459
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

AT90S2313 не имеет встроенного SPI для обмена данными и выход из SLEEP POWER DOWN возможен только по низкому уровню на лапах INT0 или INT1.
Реклама
Модератор
Аватара пользователя
Сообщения: 19066
Зарегистрирован: Сб авг 14, 2010 15:05:51
Откуда: г. Озерск, Челябинская обл.

Сообщение Starichok51 »

Призрачный Суслик писал(а): Вт июл 07, 2026 12:56:07Нужно решения "из говна и палок" простое и дешевое. Пока склоняюсь к матрице 4х3 "кнопок" с диодом последовательно с каждой "кнопкой". Опрос "бегущей 1" с выводов данных индикатора. Резисторы больших номиналов. с объединительных шин на "землю", с нис съем данных на 3 входа. Плюсом диодно-резистивный элемент 3ИЛИ на вывод прерывания. Одного опасаюсь, что прямого падения на двух, последовательно соединённых, диодах шоттки будет слишком много, для того, что бы дотянуть "лог. 1" на выводе прерывания, с учётом питания в 3 вольта.
схему изобрази, как это ты представляешь. никто не согласится гадать по этому твоему словесному описанию.
а по твоей схеме могут появится улучшения схемы и другие идеи.
Мудрость приходит вместе с импотенцией...
Когда на русском форуме переходят на Вы, в реальной жизни начинают бить морду.
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Rapra писал(а): Вт июл 07, 2026 13:51:11 Эт что ж там за погромист, что с I2C не справится? :)
Студент.
Rapra писал(а): Вт июл 07, 2026 13:51:11 И с SPI тоже не справится?
Читайте тему, там написано про SPI.
Rapra писал(а): Вт июл 07, 2026 13:51:11 Разрешено только говно и палки? Оу щит, что у вас там за гестапо то?
Извините, тут не "гугол" и не "спейсикс". Начальству надо отчитываться перед вышестоящим, что "решили проблему за 5 копеек с помощью говна и палок". Как будто не в России живёте.
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Starichok51 писал(а): Вт июл 07, 2026 16:04:48 схему изобрази, как это ты представляешь. никто не согласится гадать по этому твоему словесному описанию.
а по твоей схеме могут появится улучшения схемы и другие идеи.
Изобразить я её изобразил, но никакой файл отправить сюда не могу пока.

В любом случае уже макет делают. Получится или не получится, не знаю.
В кратце так:
1) с линий РB0-РВ3 подключены аноды диодов по три штуки к трём кнопкам с каждой линии. Туда же подключены выводы индикатора D4-D7. Катоды диодов, соответственно к кнопкам.
2) с каждых четырёх кнопок, по одной с каждой линии порта В идёт сборная шина к выводам PD0,PD1,PD4, которые являются входами. С каждого входа к "земле" резистор в 100 кОм , для обеспечения открывания диодов. Надеюсь, что 100 кОм не непомерная нагрузка для выходов индикатора.
3) С каждой сборной шина идёт по диоду к входу INT1. Анодом к шине, катодом к входу INT1. С входа на землю 330 ком для обеспечения открывания диодов. Может даже 470 кОм.

После всего, перед переходом в режим SLEEP выставляем на выходах РB0-РВ3 "лог 1" и переходим в режим SLEEP/
Если нажата хоть одна "кнопка" то через диод на одну из сборных шин пойдёт высокий потенциал, а с неё через второй диод на вход запроса прерывания. Надеюсь уровня хватит, или придётся ставить транзистор. По фронту напряжение должно генерироваться прерывание, отключаться режим SLEEP и на выходах РB0-РВ3 выставляется "лог. 0", контролируем отсутствие "1" на входах PD0,PD1,PD4. Если это так, то начинаем опрос, выдавая на РB0-РВ3 по очереди "лог. 1" и контролируя состояние PD0,PD1,PD4.
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Призрачный Суслик писал(а): Вт июл 07, 2026 16:20:06 Как будто не в России живёте.
Как раз в России и живу. И обычно отвечаю, что из говна и палок и получается говно и палки. Главное, аргументировано ответить, и желательно показать это говно. Нормальный начальник понимает, что репутация компании стоит дороже, чем экономия нескольких рублей.
У вас, как вижу, экономят даже на сотрудниках, поручая разработку слабо разбирающемуся студенту. Пичалька конечно, это неправильно.

Так что, из говна и палок получится именно говно и палки. Нормальное решение стоит недорого, просто надо аргументировано убедить начальство.

Хотя вобсчем то, лет 20 назад, когда микроконтроллеры были маленькими, мы как-то умудрялись впихивать в них и клавиатуру, и дисплей-двустрочник 1602.
Но сейчас, в 2026 году, можно взять именно подходящий микроконтроллер с нужным числом ног. При этом, его цена будет даже ниже, чем имеющегося микроконтроллера. Нужно просто хоть немного следить за актуальным ассортиментом компонентов, а не сидеть на том, что давно устарело.
Призрачный Суслик писал(а): Вт июл 07, 2026 16:39:36 Получится или не получится, не знаю.
ух ё, как же всё неправильно у вас делается. Хотябы вначале для теста в Протеусе прогнали бы, там видно было бы хоть что-то. Протеус же позволяет симулировать цифровые и смешанные схемы, проверять работу программы в первом приближении.
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Rapra писал(а): Вт июл 07, 2026 18:22:45 Как раз в России и живу. И обычно отвечаю, что из говна и палок и получается говно и палки.
Не всегда - уже много лет делаем из говна и палок. Просто решил спросить, вдруг, кто то "красивую" идею подкинет. Тут дали ссылочку на одну книгу, но скачать с нынешним интернетом нереально.
Rapra писал(а): Вт июл 07, 2026 18:22:45 Главное, аргументировано ответить, и желательно показать это говно. Нормальный начальник понимает, что репутация компании стоит дороже, чем экономия нескольких рублей.
Я не умею. Уж извините. За многие годы усвоил, что перечить начальству не стоит, коль не умеешь "отмазываться", изволь трудится.
Rapra писал(а): Вт июл 07, 2026 18:22:45 Но сейчас, в 2026 году, можно взять именно подходящий микроконтроллер с нужным числом ног. При этом, его цена будет даже ниже, чем имеющегося микроконтроллера. Нужно просто хоть немного следить за актуальным ассортиментом компонентов, а не сидеть на том, что давно устарело.
Это готовые изделия, которые надо переделать в другие изделия. Есть и другие ограничения, обсуждение которых выходит за рамки темы.
Призрачный Суслик писал(а): Вт июл 07, 2026 16:39:36 Хотябы вначале для теста в Протеусе прогнали бы, там видно было бы хоть что-то
В "Протеусе" проверил, вроде работает. Но с сильно ограниченной программой в силу уровня программиста. Но там дребезга нет. Установки порогов переключения входов нет.
Последний раз редактировалось Призрачный Суслик Вт июл 07, 2026 19:06:46, всего редактировалось 1 раз.
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

В Протеусе надо проверять не дребезг контактов, а саму концепцию.
Пороги переключения, они заданы логическими уровнями, и в Протеусе так же отрабатывают, как и в железе.

Если я правильно "на слух" понял схему по описанию, то работать должно.
Последний раз редактировалось Rapra Вт июл 07, 2026 19:10:24, всего редактировалось 1 раз.
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Такое ощущение, что нет. Как такового "порогового" свойства входы не имеют. Если на вход подавать пилу, амплитудой в питание, то бывают непонятные реакции модели компонента. Или постоянно "лог. 1" или , чаще "лог. 0". Вплоть до того, что приходится по входу компаратор добавлять с цепями гистерезиса.

Как вариант, не умею пользоваться. Версия 8.х
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Если входное напряжение находится между порогами лог.уровней, то и в железе возможны ложные определения лог.уровня.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт апр 28, 2016 22:33:47
Откуда: ARPA Internet

Сообщение ejsanyo »

Призрачный Суслик писал(а): Вт июл 07, 2026 12:56:07 Программист не справится, а я ввиду слабого знания этого интерфейса ему не смогу написать нормально ТЗ. Это поднималось в самом начале темы.
О-ох, ну давайте поможем Даше прокачать скиллы в I2C! :facepalm: В чём там ваш коллега кодит? Под AVRGCC небось? Тогда вот:
Файл SoftI2C.h

Код: Выделить всё

#ifndef SOFTI2C_H

#define SOFTI2C_H

#include <avr/io.h>
#include <stdint.h>
#include <stdbool.h>
#include <util/delay.h> //это всё по жизни есть в AVRGCC

//дефайны для функций софтового I2C
//сюда забить конкретные пины вашего I2C
#define PI2C_SDA    PB1
#define PI2C_SCL    PB0
//сюда забить регистры порта, где эти пины висят
#define OUT_REG PORTB
#define IN_REG PINB
#define SW_REG DDRB

void setup(void);
bool PCF8574_read(uint8_t, uint8_t *);
bool PCF8574_write(uint8_t, uint8_t);

#endif
Файл SoftI2C.c

Код: Выделить всё

#include "SoftI2C.h"

//дрыгаем ногами переключая режим ног то на вход, то на выход
#define SDA_OFF (SW_REG |= (1 << PI2C_SDA))
#define SDA_ON (SW_REG &= ~(1 << PI2C_SDA))
#define SCL_OFF (SW_REG |= (1 << PI2C_SCL))
#define SCL_ON (SW_REG &= ~(1 << PI2C_SCL))

#define SDA_READ (IN_REG & (1 <<PI2C_SDA))
#define SCL_READ (IN_REG & (1 <<PI2C_SCL))

#define I2C_READ 0x01
#define I2C_WRITE 0x00

//устанавливает начальное состояние регистров ног для I2C
void setup()
{
    SDA_ON;
    SCL_ON;
    OUT_REG &= ~((1 << PI2C_SCL) | (1 << PI2C_SDA)); //в вых. регистре заранее забиваем нужные биты нулями
}

//Формирует состояние шины "старт"
void start()
{
    SDA_ON;
    _delay_us(50);
    SCL_ON;
    _delay_us(50);
    SDA_OFF;
    _delay_us(50);
    SCL_OFF;
    _delay_us(50);
}


//Формирует состояние шины "стоп"
void stop()
{
    SDA_OFF;
    _delay_us(50);
    SCL_ON;
    _delay_us(50);
    SDA_ON;
    _delay_us(50);
}

//прокачивает 8 бит. возвращает true = был ACK от слэйва, false = было молчание в ответ
bool Tx(uint8_t dat)
{
    for(uint8_t i = 0; i < 8; i++)
    {
        (dat & 0x80) ? SDA_ON : SDA_OFF;
        dat <<= 1;    
        _delay_us(50);
        SCL_ON;
        _delay_us(50);
        SCL_OFF;
        _delay_us(50);
    }

    SDA_ON;
    SCL_ON;
    _delay_us(50);
    bool ack = !SDA_READ;    // читаем ACK-бит
    SCL_OFF;
    return ack;
}

//принимает 8 бит от слейва. параметр - true = наш мастер отвечатет ACK, false = отвечает NACK
uint8_t Rx(bool ack)
{
    uint8_t dat = 0;
    SDA_ON;
    for(uint8_t i = 0; i < 8; i++)
    {
        dat <<= 1;
        do
        {
            SCL_ON;
        }
        while(SCL_READ == 0);  //ждём пока освободится линия SCL (поддержка "растяжки" SCL)
        _delay_us(50);
        if(SDA_READ) dat |= 1;
        _delay_us(50);
        SCL_OFF;
    }
    ack ? SDA_OFF : SDA_ON;
    SCL_ON;
    _delay_us(50);
    SCL_OFF;
    SDA_ON;
    return(dat);
}

//чтение регистра чипа по I2C
//возвращает true если успешно прочиталось. Данные будут лежать по ссылке dat
bool PCF8574_read(uint8_t addr, uint8_t *dat)
{
    start();
    if (Tx((addr << 1) | I2C_READ) == false)
        return false;
    *dat = Rx(false);
    stop();
    return true;
}

//запись в регистр чипа по I2C
//возвращает true если успешно записалось.
bool PCF8574_write(uint8_t addr, uint8_t dat)
{
    start();
    if (Tx((addr << 1) | I2C_WRITE) == false)
        return false;
    if (Tx(dat) == false)
        return false;
    stop();
    return true;
}
Скопипастить-то к себе он это хотя бы в состоянии? Вот ему кусок main-а для примера:

Код: Выделить всё

#include <avr/io.h>
#include <stdint.h>
#include <stdbool.h>
#include <util/delay.h> 
#include "SoftI2C.h"

//адресы чипов
#define ADDR1 0x20
#define ADDR2 0x21

int main(void)
{
    uint8_t data1, data2;

    setup();

    PCF8574_write(ADDR1, 0xFF); //сделали все входо-выходы единицами. Чисто на всякий случай
    PCF8574_write(ADDR2, 0xFF);
    
    while (true)
    {
        PCF8574_read(ADDR1, &data1); //читаем первый ряд "кнопок"
        PCF8574_read(ADDR2, &data2); //второй ряд "кнопок"
        _delay_ms(1000);
    }
}
Вот это всё скомпилялось у меня в 436 байт. Уверен, другие юзвери могут предложить код покрасивее и эффективнее. Но вот вопрос: у вас там хотя бы места во флэхе ещё остаётся, для всяких доработок? 2 кБ это не так уж много!
СпойлерВас ведь уже предупреждали, что если будете делать с гомен и палок, то получите в результате лишь гомна и палки, а не работающий прибор? Мой вам совет - либо делайте с адекватной для поставленной задачи надёжностью и гарантией, либо не делайте вообще. Иначе будет только хуже.
Хоронили кваку - порвали три Rocket Launcherа.©
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

"Пишет" на ассемблере естественно. Во первых изначальная программа на нём, во вторых, иначе не уместить код.

Но, как говориться, процесс запущен. Всем спасибо за бессодержательные советы по 5 штук подряд и отдельное тому, кто порекомендовал книгу и "ejsanyo" за код, который, возможно, пригодится в будущем.
Нашел транзистор. Понюхал.
Аватара пользователя
Сообщения: 165
Зарегистрирован: Чт апр 28, 2016 22:33:47
Откуда: ARPA Internet

Сообщение ejsanyo »

О боже, "давайте ещё сильнее усложним себе жизнь"! :facepalm: На самом деле современные и не очень сишные компиляторы уже давно стали очень эффективны, а AVR-овский асм не настолько многогранен и не напичкан хитрыми командами. Так что с ручной оптимизацией места особо не выиграете, а вот времени и сил потратите дофига. Тем не менее, на худой конец сами Atmel в своё время сделали библиотеку на асме для этого:
avr300.asm
(11.23 КБ) 11 скачиваний
. Вот её описание:
AVR_300.PDF
(137.43 КБ) 8 скачиваний
С ней правда, пишут, есть небольшой баг (сам не проверял), который, впрочем, при чтении лишь одного байта (как сейчас и требуется) мешать не должен. Предлагаемый патч я в исходник скопировал. Так понимаю, надо будет заменить все PORTD, PIND, DDRD если захотите пользовать порт B. SCLP, SDAP тоже назначить надо будет.
Там в файле есть секция main, в ней пример, как всем этим пользоваться: "**** Write data => Adr(00) = 0x55 ****" - например так пишем по адресу 0x00 код 0x55. "**** Read data => i2cdata = Adr(00) ****" - читаем по адресу 0x00. Байт читается в регистр, назначенный на i2cdata.
И ещё: будете читать/писать PCF8574, эту вещь:

Код: Выделить всё

ldi	i2cdata,$00		; Write word address (0x00)
	rcall	i2c_do_transfer		; Execute transfer
делать не нужно, это если вы пишете/читаете какой-нибудь чип eeprom, вроде 24LC01. У PCF8574 же адресов регистров или типа того нет, регистр всего один и читается/пишется напрямую. Только адрес чипа задать не забудьте:

Код: Выделить всё

.equ	A0	= 20
Хоронили кваку - порвали три Rocket Launcherа.©
Мучитель микросхем
Сообщения: 414
Зарегистрирован: Ср фев 04, 2026 21:29:19
Откуда: Из норки где-то в России

Сообщение Призрачный Суслик »

Спасибо. Сохранил на всякий случай.

Как уже говорил, я не программист. Но коли он прибежит ко мне, я ему эти файлы на изучение отдам. В любом случае пока пошла в дело схема на диодах, она дешевле.
Друг Кота
Аватара пользователя
Сообщения: 15657
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Чем дальше в дебри....
8)
Ежли уже захотелось в sleep поиграться, то хоть согласование с режимами выхода из него надо учитывать...
Да и в какой из двух (для AT90S2313) видов Idle Mode или Power-down Mode будет загоняться МК ?
Выход из сна правда в выбранном случае все равно длительным нулем на любом из внешних прерываний...
А сие как то ближе к сканированию клавиатуры "бегущим нулем", а не "бегущей единицей"...
Да и каким образом позиционные ключи индикатора смогут работать при останове МК?...
Вот кстати весьма полезная книжа с русским переводом на те старые МК:
СпойлерЕвстифеев А.В.
Е263 Микроконтроллеры AVR семейства Classic фирмы ATMEL —
33е изд., стер. — М.: Издательский дом «ДодэкаXXI», 2006. —
288 с.: ил. (Серия «Мировая электроника»)
ISBN 5594120012773
в сундуке явно была, но пока сундук кота ... :cry: УВЫ...
Родной даташит надеюсь на тот МК имеется...
:roll:
Как дополнительный источник литературы могу указать вот это
https://elektromehanika.org/
раздел
https://elektromehanika.org/load/serii_tekh_lit_ry/10
там начиная с конца где то может быть в подборках или в разделе справочной литературы.
Или тут чего накопать в соответствующих разделах:
https://publ.lib.ru/publib.html
8)
Вымогатель припоя
Сообщения: 619
Зарегистрирован: Пн фев 16, 2026 17:30:02

Сообщение Rapra »

Просто перед переходом в sleep выставить на всех выходах лог.1.
Ответить

Вернуться в «Разные вопросы по МК»