I2C 接続の LCD AQM1602XA-RN-GBW 用のライブラリ. Library for LCD 1602XA-RN-GBW connected using I2C interface.
Dependents: UIT2_MovingAv_Intr UIT2_VariableFIR UIT2_VowelSynthesizer UIT2_ALE_LeakyLMS ... more
AQM1602.hpp
- Committer:
- MikamiUitOpen
- Date:
- 2015-06-09
- Revision:
- 1:18cd1c4212c3
- Parent:
- 0:f177013dc4fc
- Child:
- 2:f496f85ce6f2
File content as of revision 1:18cd1c4212c3:
//------------------------------------------------------- // Class for LCD, AQM1602XA-RN-GBW (Header) // // // Default pin assignments // D14 SDA ---- to pin4 of LCD module // D15 SCL ---- to pin3 of LCD module // // Assignment of I2C ports // SDA SCL // I2C1 PB_7 or PB_9(D14) PB_6(D10) or PB_8(D15) // I2C2 PB_3(D3) PB_10(D6) // I2C3 PB_4(D5) or PC_9 PA_8(D7) // // 2014/06/09, Copyright (c) 2015 MIKAMI, Naoki //------------------------------------------------------- #ifndef AQM1602I2C_HPP #define AQM1602I2C_HPP #include "mbed.h" #include <string> namespace Mikami { class Aqm1602 { public: // Constructor Aqm1602(PinName sda = D14, // SDA PinName scl = D15, // SCL uint32_t clock = 100000, // clock: 100 kHz bool cursor = false, // cursor: off bool blink = false); // blink: off // All clear void Clear(); // Send command void WriteCmd(uint8_t cmd) { LcdTx(0x00, cmd); } // Write character (Not 0x80 but 0x40) void WriteChar(char data) { LcdTx(0x40, data); } // Specify display position, x: 0 - 7, y: 0, 1 void SetXY(uint8_t x = 0, uint8_t y = 0) { WriteCmd(x + y*0x40 | 0x80);} // Write string void WriteString(const char str[]); void WriteString(const string str) { WriteString(str.c_str()); } // Write string from specified position void WriteStringXY(const char str[], uint8_t x, uint8_t); void WriteStringXY(const string str, uint8_t x, uint8_t y) { WriteStringXY(str.c_str(), x, y); } // Clear of specified line void ClearLine(uint8_t line); void SetContrast(uint8_t c); private: // Slave address of AQM0802A // left-justified 7-bit address static const uint8_t LCD_ADDRESS_ = 0x7C; static const uint8_t N_CHR = 16; I2C i2c_; // Object of I2C void LcdTx(uint8_t cmdData, uint8_t data); // Forbid to use copy constructor Aqm1602(const Aqm1602&); // Forbid to use substitution operator Aqm1602& operator=(const Aqm1602&); }; } #endif // AQM0802I2C_HPP