I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 3310

Вопросы и замечания по статьям и схемам, представленным на нашем сайте

При поддержке РадиоКОТструктор.ру


Ответить
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 3310

Сообщение Кислый »

Статья

Автор написал о нелюбви к ардуине, кочующих исходниках, и хочется своего.. Мне интересно сколько времени было затрачено на все про все ?
Я тоже большой "не любитель" дуины, но когда мне нужно было решить аналогичную задачу, я не стал выделываться, и не дольше, чем через минуту у меня были все адреса на шине, и в добавок я нашел перепут.

Собственно автор не собирался собирать законченное устройство, но при этом не воспользовался дуиной, как платформой для быстрого прототипирования.. взаимоиссключающие понятия. Предлагаю для подобных статей делать пометку "велосипед" или "потому что я это могу". У меня всё, вопросы к автору статьи можно задавать здесь.


скретч для дуины
Спойлер

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

#include <Wire.h>
 
 
void setup()
{
  Wire.begin();
 
  Serial.begin(38400);
  while (!Serial);             // Leonardo: wait for serial monitor
  Serial.println("\nI2C Scanner");
}
 
 
void loop()
{
  byte error, address;
  int nDevices;
 
  Serial.println("Scanning...");
 
  nDevices = 0;
  for(address = 1; address < 127; address++ )
  {
    // The i2c_scanner uses the return value of
    // the Write.endTransmisstion to see if
    // a device did acknowledge to the address.
    Wire.beginTransmission(address);
    error = Wire.endTransmission();
 
    if (error == 0)
    {
      Serial.print("I2C device found at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.print(address,HEX);
      Serial.println("  !");
 
      nDevices++;
    }
    else if (error==4)
    {
      Serial.print("Unknow error at address 0x");
      if (address<16)
        Serial.print("0");
      Serial.println(address,HEX);
    }   
  }
  if (nDevices == 0)
    Serial.println("No I2C devices found\n");
  else
    Serial.println("done\n");
 
  delay(5000);           // wait 5 seconds for next scan
}
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Novice user »

да эта ваша дуина только на мигание светодиодом требует не менее 2 кб памяти,пробовал
а так проект интересный-пробовал делать по своей схеме-не получилось,надо будет-соберу по вашей(если память такую найду),хорошая статья
Аватара пользователя
Кислый
Поставщик валерьянки для Кота
Сообщения: 2095
Зарегистрирован: Чт апр 08, 2010 18:50:01
Откуда: Краснодар
Контактная информация:

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Кислый »

а никто дуину не расхваливает. просто я раскритиковал подход и внес предложение.
PS // прошивка дуины даже с пустым main будет огромной из-за линкования уже готовой статической библиотеки (всё что можно разом даже если оно там сто лет не всралось)
RETI ;рети-рети интеррапт, через шины данных тракт, через память, через порт, возвращайся в главный код
@hobbyelectronics
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Novice user »

А у меня такой вопрос-можно ли данным прибором посмотреть что идет по шине I2C?
рация баофенг,нужно посмотреть команды обмена процессора и RDA5802
Аватара пользователя
a_winner
Грызет канифоль
Сообщения: 275
Зарегистрирован: Чт сен 24, 2015 17:46:26
Откуда: Обираловка, МО
Контактная информация:

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение a_winner »

Чтобы подслушать обмен по шине нужно другое устройство - снифер i2c - по этим двум словам можно нагуглить.

Кстати, на меге8 я тоже делал сканер с выводом в UART - вот исходники - https://github.com/winnerru/i2cscanner - вдруг какому нелюбителю ардуины ещё понадобятся тоже.
Errare humanum est
Novice user
Мудрый кот
Сообщения: 1704
Зарегистрирован: Вт янв 05, 2016 10:14:25
Откуда: поселок Мелеуз

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Novice user »

a_winner Вот спасибо!буду рыть,направление теперь знаю,и плата с атмега16,индикатором 1602,ch341(уарт-усб переходник) лежит рядом...
Аватара пользователя
a_winner
Грызет канифоль
Сообщения: 275
Зарегистрирован: Чт сен 24, 2015 17:46:26
Откуда: Обираловка, МО
Контактная информация:

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение a_winner »

По моей ссылке - исходники сканера, а не снифера, если что.

Снифер легко сделать на прерываниях, интерфейс простой до безобразия (и после безобразия тоже). Вопрос в том, что нужно принятые данные куда-то буферезировать, чтобы потом вывести в медленный UART.
Errare humanum est
Dmitry49
Первый раз сказал Мяу!
Сообщения: 27
Зарегистрирован: Сб апр 20, 2013 11:22:36

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Dmitry49 »

Уважаемый автор сей конструкции Nemo78.
Не подскажите ли где в Вашей прошивке расположены константы для дисплея, отвечающие за контрастноть?
Аватара пользователя
Nemo78
Открыл глаза
Сообщения: 69
Зарегистрирован: Пт авг 29, 2008 21:56:27

Re: I2C Сканер адресов на ATMEGA8 и модуле дисплея Nokia 331

Сообщение Nemo78 »

Уважаемый автор сей конструкции Nemo78.
Не подскажите ли где в Вашей прошивке расположены константы для дисплея, отвечающие за контрастноть?


Очень не своевременно, но все же отвечу.

Если смотреть текстовым редактором то 54-я строка

Здесь установка контрастности 0xB6
:100400001A95E1F7B1E23B2EB1E02B2EEADEB6EB16

Здесь установка контрастности 0xB8
:100400001A95E1F7B1E23B2EB1E02B2EEADEB8EB14
Ответить

Вернуться в «Статьи»