拿到板子有一段时间了,但是一直忙没有动手,最近摸索了一下,写了一个“标准”的nokia5110液晶的驱动库出来,练练手。
板载的F072是m0的内核,外设资源也很丰富,但之前F3/F4都有接触,所以对他其他方面没什么期待了,那为什么还要买它呢,我主要是看中了他的开放式可编程性能,mbed在线编程,标准Arduino Uno Revision 3的接口,也就是可以兼容Arduino Uno Revision 3的众多外设(可惜我没有);而且flash和ram
也相对较大,可玩性不错。
之前没玩过Arduino,但是它的大名早已有所耳闻,它的标准库操作和驱动类的实现很是强大,对编程的学习很有帮助。
手头上有一块之前剩下的5110的液晶,SPI驱动,小巧方便,打算先拿来试试。
库地址在http://developer.mbed.org/users/shower_xu/code/SX5110/
用起来很简单
- LcdPins myLcdPins = { SPI_MOSI, SPI_SCK, D9, D10, D8};
- Lcd5110 myLcd( myLcdPins ); // SPI is started here (8-bits, mode 1)
- myLcd.InitLcd(); // LCD is reset and DDRAM is cleared
复制代码 先设置驱动脚位,顺序是
struct LcdPins{ PinName mosi; PinName sclk; PinName dc; PinName sce; PinName rst;};
前两个是spi接口的IO,但是如果你硬件的IO口被占用需要用模拟的IO也可以,只需要把头文件里的#define HW_SPI注释掉即可。
接着调用InitLcd()方法来初始化lcd,就可以使用了。
库支持大部分函数,可以直接显示字符
- public:
- void InitLcd();
- void clear();
- void ShutdownLcd();
- void SendCmd(char cmd);
- void SendData(char data);
- void TestLcd(char test_pattern);
-
- public:
- void SetXY(char x, char y);
- void write_char(char c);
- void set_xy(unsigned char x,unsigned char y);
- void write_stringxy(unsigned char x,unsigned char y,char *p);
- void write_string(char *p);
- char* NumToStr(int num);
复制代码 下面是图片
|