Помогите подправить библиотеку TM1628.h
- Войдите на сайт для отправки комментариев
Пт, 07/02/2014 - 04:02
Пробую подключить лед драйвер SC6928(аналог TM1628) к ARDUINO. Возникла проблема с подключением библиотеки TM1628.h выдаёт ошибку при компиляции
"Начиная с версии Arduino 1.0, дескриптор 'BYTE' больше не поддерживается.
Пожалуйста, используйте Serial.write() вместо него."
Не могу разобраться как подправить библиотеку под новую версию ARDUINO, на данный момент использую ARDUINO 1.05.
Цитата из ReleseNote Arduino 1.0 : The behavior of Serial.print() on a byte has been changed to align it
with the other numeric data types. In particular, it will now print the digits of its argument as separate ASCII digits (e.g. '1', '2', '3') rather than a single byte. The BYTE keyword has been removed. To send a single byte of data, use Serial.write() (which is present in Arduino 0022 as well).
Код библиотеки
#ifndef TM1628_h #define TM1628_h #if defined(ARDUINO) && ARDUINO >= 100 #include "Arduino.h" #else #include "WProgram.h" #endif #include "TM16XXFonts.h" #include "Print.h" //flags for turn on/off #define ON true #define OFF false //flags for indicating LEDs #define LED_SE0 0x00 #define LED_SE1 0x01 #define LED_SE2 0x02 #define LED_SE3 0x03 #define LED_SE4 0x04 #define LED_SE5 0x05 #define LED_SE6 0x06 #define LED_SE7 0x07 #define LED_DVD 0x08 #define LED_VCD 0x09 #define LED_MP3 0x0A #define LED_PLY 0x0B #define LED_PAU 0x0C #define LED_PBC 0x0D #define LED_RET 0x0E #define LED_DTS 0x0F #define LED_DDD 0x10 #define LED_CL1 0x11 #define LED_CL2 0x12 class TM1628 : public Print { public: // init TM1628(byte _dio_pin, byte _clk_pin, byte _stb_pin); void begin(boolean active, byte intensity); void update(); void clear(); void setSeg(byte addr, byte num); void setChar(byte _curpos, byte chr); void setCursor(byte pos); void setTime(int hour, int min, int sec); void setLED(byte led); void setLEDon(byte led); void setLEDoff(byte led); void setDisc(boolean onoff); byte getButtons(); protected: byte receive(); void sendData(byte addr, byte data); void sendCommand(byte data); void send(byte data); byte _dio_pin; byte _clk_pin; byte _stb_pin; byte _curpos; // byte buffer[]; // byte seg_addr[]; }; #endif
Пример использования этой библиотеки https://code.google.com/p/tm1628/downloads/list
P.S. как тут файлы прикреплять?
Не совсем понятно, в чём проблема. Говорят же: используйте Serial.write(). Ну так и используйте его! :)
не нашол ничего криминального кроме того что там програмный SPI, который медленнне. Вообще не понятно причем здесь Serial ....
Проблема точно не в библиотеке.