Library for LCD ACM1602NI connected using I2C interface on Nucleo F401/411. Nucleo F401/411RE で使える I2C 接続の LCD ACM1602NI 用のライブラリ.
Dependents: ACM1602NI_NucleoF4_Demo ACM1602NI_NucleoF4_Demo
Diff: ACM1602NI.hpp
- Revision:
- 1:0a38ce51b9b8
- Parent:
- 0:ea06bd02d438
- Child:
- 2:56a2f5e674e4
--- a/ACM1602NI.hpp Thu Nov 06 23:48:52 2014 +0000 +++ b/ACM1602NI.hpp Tue Dec 09 13:24:27 2014 +0000 @@ -11,7 +11,7 @@ // I2C2 PB_3(D3) PB_10(D6) // I2C3 PB_4(D5) or PC_9 PA_8(D7) // -// 2014/10/14, Copyright (c) 2014 MIKAMI, Naoki +// 2014/12/09, Copyright (c) 2014 MIKAMI, Naoki //------------------------------------------------------- // I2C_TypeDef: See stm32f401xe.h on following URL // http://mbed.org/users/mbed_official/code/mbed/file/ @@ -22,6 +22,7 @@ #define ACM1602NI_HPP #include "mbed.h" +#include <string> namespace Mikami { @@ -38,20 +39,29 @@ bool GetOk() { return connected_; } // All clear bool Clear(); + // Send command bool WriteCmd(uint8_t cmd) { return LcdTx(0x00, cmd); } + // Write character void WriteChar(char data) { LcdTx(0x80, data); } // Specify display position, x: 0 - 15, 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 char str[], uint8_t x, uint8_t y); + 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) - { WriteStringXY(" ", 0, line); } + { WriteStringXY(" ", 0, line); } private: // Slave address of ACM1602NI (0x50)