Jump to content

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
Posted (edited)

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

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

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

 

 

Edited by dim3740

Share this post


Link to post
Share on other sites

Тестирование литиевых батареек Fanso в нормальных условиях

Компания Компэл, эксклюзивный дистрибьютор компании Fanso, предлагает широкий перечень ЛХИТ, позволяющий подобрать элемент питания, в наибольшей степени соответствующий конкретным требованиям. Для тестирования параметров, указанных в Datasheet, специалисты Компэл организовали в апреле 2019 г. полугодовой тест на постоянный разряд в нормальных условиях четырех наиболее популярных моделей литий-тионилхлоридных и литий-диоксидмарганцевых батареек Fanso.

Посмотреть результаты первого среза

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

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

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

Share this post


Link to post
Share on other sites
Posted (edited)

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

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

 

Edited by dim3740

Share this post


Link to post
Share on other sites

Новое бюджетное семейство микроконтроллеров STM32G0 и планы его развития

Семейство STM32G0 сочетает в себе лучшие качества представителей семейств STM32F0 и STM32L0 - относительно высокую производительность и низкое энергопотребление. Модели STM32G0 имеют упрощенную схему питания, улучшенную периферию, систему тактирования и быстрые порты в/в, доп.средства защиты ПО, повышенную устойчивость к статическим разрядам, широкий ассортимент корпусов, обновленные пакеты библиотек для STM32CubeMX. STMicroelectronics планирует развивать новое семейство.

Подробнее...

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...

×
×
  • Create New...