Тема: PCF8576 + Arduino
Показать сообщение отдельно
Старый 25.05.2013, 18:03   #7
s.m.
Гуру
 
Регистрация: 20.07.2009
Город: Минск
Регион: Беларусь
Сообщений: 1,543
s.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to beholds.m. is a splendid one to behold
По умолчанию

заработал первый скетч.
отснифал им HEX-коды, перевел в бинарный вид, запихнул в скетч - не палит.
По-прежнему показывает чушь.
Или он криво снимает или я опять туплю.

надпись CODE выдает последовательность

E0CBF000000A96311460A1000
E0CBF02000156CE062C1460000

перевожу в бинарный вид

11100000 11001011 11110000 00000000 00000000 00001010 10010110 00110001
11100000 11001011 11110000 00100000 00000000 00010101 01101100 11100000

первый байт всегда адрес слэйва, второй выбор режима, третий - управление миганием сегментов (всегда выключено), а дальше по идее идут сами байты данных.
Так как здесь используется drive mode 1:3 и bias соответственно одна треть, то по датaшиту должна быть соответствующая адресация данных.
Опять что-то не так, но что именно, не пойму.

Сейчас такой скетч, он должен показывать надпись CODE

PHP код:
#define I2C_ADDR B0111000

#include <Wire.h>

void setup()
{
  
  
  
Wire.begin();
 
 
/* init
E0CBF000000000000000 
E0CBF020000000000000 
E0CBF000000000000000 
E0CBF020000000000000  
 
11100000 11001011 11110000 00000000 00000000 00000000 00000000 00000000 
11100000 11001011 11110000 00100000 00000000 00000000 00000000 00000000
11100000 11001011 11110000 00000000 00000000 00000000 00000000 00000000
11100000 11001011 11110000 00100000 00000000 00000000 00000000 00000000
*/

 
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
  
Wire.endTransmission();
  
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00100000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
  
Wire.endTransmission();
  
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
  
Wire.endTransmission();
  
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00100000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
  
Wire.endTransmission();
 
/* CODE
E0CBF000000A96311460A1000 
E0CBF02000156CE062C1460000 
E0CBF00000188404118000 
E0CBF020004118840410000 

11100000 11001011 11110000 00000000 00000000 00001010 10010110 00110001
11100000 11001011 11110000 00100000 00000000 00010101 01101100 11100000
*/
 
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00000000);
  
Wire.send(B00000000);
  
Wire.send(B00001010);
  
Wire.send(B10010110);
  
Wire.send(B00110001);
  
  
Wire.endTransmission();  
  
  
Wire.beginTransmission(I2C_ADDR);
 
  
Wire.send(B11001011); // MODE SElECT
  
Wire.send(B11110000); // BLINK OFF

  
Wire.send(B00100000);
  
Wire.send(B00000000);
  
Wire.send(B00010101);
  
Wire.send(B01101100);
  
Wire.send(B11100000);
  
  
Wire.endTransmission(); 
  
}


void loop()



Показывает вот что
Миниатюры
Нажмите на изображение для увеличения
Название: IMG_20130525_161337.jpg
Просмотров: 1192
Размер:	103.5 Кб
ID:	31380  
__________________
Мой проект: Citroen Xsara Android CarPC
s.m. вне форума   Ответить с цитированием