Jump to content
dim3740

2 Nano по I2C

Recommended Posts

на 2 МК 
void setup() {
pinMode(8, Output);
digitalWrite(8,1); 
pinMode(4, INPUT);  // кнопка 
Wire.begin(20);
Wire.onReceive(receiveEvent);
}

void loop {
}

void receiveEvent(int howMany)  
{
  if (digitalRead(4) == 0) // нажали кнопку на этом МК, а затем с МК1 - (мастера) послали по I2C
  {
    digitalWrite(8, 0);  //  этот порт соединен обратно на МК1
  }
  else
  {
    digitalWrite(8, 1);
  }

  int NomSong;  // этот код нужен чтоб просто опорожнить i2с
  while (Wire.available())
  {
    NomSong = Wire.read();  
  }
}    //  все


на 1 МК 

void setup() {
   Wire.begin();
   Wire.setClock(10000);
   pinMode(10, Input);  //   порт соединен с выходным портом 8 на МК2 
}

void loop(){
if (digitalRead(5) == 0)  // кнопка на МК1 для посыла по I2C
{ 
   Wire.beginTransmission(20); // transmit to device #20
   Wire.write(55);   // отправляем номер (byte) 
   Wire.endTransmission(true);    // stop transmitting
}

int S;
if (digitalRead(10)==0)  S=1;   // S никогда не становится в 1. На 10 порт идет "пакет" с Т порядка 10 мкс, и ни один не вызывает выполнения условия
  Serial.print("S =  "); 
  Serial.print(S);
  Serial.print("\n");
}

Упростил код скетча МК2 на плате. Выкинул все компоненты. Проблема осталась. Или в "железе", или м.б. куча библиотек влияют? И повторяю, на МК1 при компиляции "занято до 1750 байт из 2048"...может работать нестабильно.

Что такое howMany? Wire.endTransmission(true)?  I2C как-то линию не освобождает? false не спасает.

Share this post


Link to post
Share on other sites

Убери полностью все барахло из кода и оставь лишь обработку кнопок. И количество занятой памяти вообще не влияет на работу МК. Можно занять все 100% флеша и все будет работать.

Share this post


Link to post
Share on other sites

Смысл такой: МК1 посылает коды = данные по i2C на МК2. Тот расшифровывает их, и если ОК (совпало с неким) , то посылает подтверждение в виде 0 обратно уже по простому соединению портов. Поэтому WIRE  я НЕ могу убрать. Мб в нем все и дело, потому что я плохо понимаю его работу.

Кнопки конечно -только инициаторы выполнения алгоритма. В реалии их не будет.

Ясно, счас новый скетч сделаю без библ.

 

 

Edited by dim3740

Share this post


Link to post
Share on other sites

Время – деньги и наноамперы: применение часов реального времени Maxim Integrated

Зачем использовать внешнюю микросхему часов реального времени (RTC), а не внутренние RTC микроконтроллера? Хотя бы потому, что у RTC MAX31342 производства Maxim Integrated типовое потребление составляет 150 нА при 3 В и температуре 25°С, а у встроенных RTC одного из самых малопотребляющих микроконтроллеров при тех же условиях – примерно 370 нА.

Читать статью

17 минут назад, dim3740 сказал:

Поэтому WIRE  я НЕ могу убрать.

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

Share this post


Link to post
Share on other sites

Если заменить входной порт на другой - то пакета нет. Этот дергается библиотекой SD card.

Но свободный только TX. Как быть? а) лишиться удобной работы с монитором б) резисторы в цепи TX не помогут? в) где в библе искать define - не имея опыта это реально? Порт 10, все что с портом 10 в хелдере (каком?) заменил - не помогло. 

 

Edited by dim3740

Share this post


Link to post
Share on other sites
                     

Чип-резисторы Panasonic - технология мягких выводов и сертификация AEC-Q200

Технология мягких выводов чип-резисторов производства компании Panasonic. Обзор серий с оптимизированными параметрами: прецизионных тонкопленочных, токоизмерительных, антисерных, резисторов с повышенной стойкостью к статике и импульсным нагрузкам, резисторных сборок.

Читать статью

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Сообщения

    • Ты не поймёшь. У нас иммунитет против любого вируса. Даже с ВИЧем мой друг живёт уже 25 лет, и работает. И всё у него отлично. Наших не так просто заразить. Тем более- людей с высокими вибрациями Шумана. Все кто заболели- были с низкими вибрациями.
    • А кто нибудь тут измеряет свои усилители? Или больше на слух все полагаются?  Решил свои аппараты измерить . Прикупил даже E-MU 0204 для этого. Какая методика измерений ? Что то нормальной информации не особо. Видел где то, что снимают сигнал до катушки. Почему? Слушать то мы будем с катушкой.
    • Вспомнился таг же случай, во времена лихих 90 кредиты выдовали тоже с хитрыми условиями мелким шрифтом (типа не вернёшь деньги квартиру отдашь. У какой то хитрый чувак не стал отдавать и начал судиться, и договорились стороны на мировую пойти и чувак им по мировой какие условия тоже договор составил сунул на подпись , ну представитель банка подписал не глядя. Но там там тоже было кое чего мелким шрифтом, и совершенно кабальные условия для банка ! Суд чувак выиграл, всё вернул и с % большими.
    • Брайденстайну был задан вопрос о перспективах подключения России к проекту лунной программы Artemis ("Артемида"). "Когда мы отправимся на Луну, то будем заинтересованы в партнерах, которые будут с нами на Международной космической станции. Вопрос в том, будет ли Россия частью этого [проекта] и на каком уровне, - сказал он. - Я пока не знаю ответа". "Конечно, я хочу продолжения сотрудничества. Даже после того, как мы отправим астронавта на МКС на американской ракете, - продолжил глава NASA. - <...> Партнерство в плане "мы даем деньги, а они запускают наших астронавтов" - это не то, чего мы желаем. Партнерство должно быть на равных, чтобы летать на ракетах друг друга". https://www.aex.ru/news/2020/5/5/212235/ Что означает, что американцы более платить роскосмосу за полеты на МКС не будут. Ни цента. Жадность фраера сгубила.
    • Американский предприниматель и основатель SpaceX Илон Маск припомнил главе «Роскосмоса» Дмитрию Рогозину слова о батуте после запуска пилотируемого корабля Crew Dragon к Международной космической станции (МКС). Об этом он заявил во время пресс-конференции, транслировавшейся на сайте Национального управления по аэронавтике и исследованию космического пространства (НАСА). Глава ведомства Джеймс Брайденстайн, отвечая на вопрос о реакции России, заявил, что еще не разговаривал с Рогозиным, но видел его заявление с поздравлениями НАСА и SpaceX. «Он высказался в том плане, что это радостный день не только для нас, но и для них», — пересказал он. «Батут работает», — добавил после этого Маск и рассмеялся, после чего засмеялся и Брайденстайн. Основатель SpaceX пояснил, что это внутренняя шутка. https://lenta.ru/news/2020/05/31/musk_rogozin    
    • @BAFI нелинейный процесс можно описать графиком. Смотря что требуется, нагрузка от хх до Pном импульсами или по сложному закону. Как вариант подключить УНЧ и подать на него сигнал с нужной динамикой.
×
×
  • Create New...