LCD3WIre + функция стирания конкретной строки

glassyeyes
Offline
Зарегистрирован: 19.01.2014

Доброго времени суток.

Использую LCD3Wire в своём проекте СМС сигнализации и потребовалось не очищать дисплей полность , конкретную строку.

Добавил функцию clearRow(int line_num).

Если кто-то заинтересуется .

Если будут поправки учту.

LCD3Wire.h



#ifndef LCD3Wire_h
#define LCD3Wire_h

#include "Print.h"
#include <inttypes.h>

class LCD3Wire : public Print {
public:
  LCD3Wire(int lcd_lines, int dat_pin, int str_pin, int clk_pin);
  void commandWrite(int value);
  void init();
  virtual size_t write(uint8_t);
  //non-core---------------
  void clear();
  void cursorTo(int line_num, int x);
  void clearRow(int line_num);		// Очистка строки
  void leftScroll(int chars, int delay_time);
  //end of non-core--------

private:
  void _pushByte(int value, bool command);
  void _pushNibble(int nibble, bool command);
  void _pushOut(int value);
};

#endif

В LCD3Wire.cpp 





// Стирание одной строки
void LCD3Wire::clearRow(int line_num)
{
  cursorTo(line_num,0);	
  print("                ");
  cursorTo(line_num,0);
}

 

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

а чем лучше чем  i2c расширители ? просто интересно

glassyeyes
Offline
Зарегистрирован: 19.01.2014

Входы экономятся не 6 , а 3

jeka_tm
jeka_tm аватар
Offline
Зарегистрирован: 19.05.2013

где 6? в i2c расширителях?

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

При использовании расширителя i2c дисплей подключается по двум проводам. Без оного по 7. Но при этом естественно требуется больше процессорного времени. Tрех проводное подключение вроде быстрее, там дисплей работает в восьмибитном режиме, поэтому для выполнения одного и того же действия процессору нужно передать в два раза меньше данных.

 

maksim
Offline
Зарегистрирован: 12.02.2012

При использовании аппаратного I2C процессорное время вообше не используется так как I2С аппаратный. В то время как если ваша библиотека не использует аппаратный SPI тратится то самое процессорное время.

brokly
brokly аватар
Offline
Зарегистрирован: 08.02.2014

Конечно, только я не видел ни одной i2c библиотеки для дисплеев без задержек, которые неизбежны при такой связке. И, знаете ли, они там ни разу не аппаратные. А "нашу" библиотеку, я, честно говоря не изучал :(