[Nucleo学习]Nucleo-F072RB开发5110显示驱动库
拿到板子有一段时间了,但是一直忙没有动手,最近摸索了一下,写了一个“标准”的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);下面是图片
谢谢分享 谢谢,楼主还可以分享方案参赛,拿开发经费支持https://www.stmcu.org.cn/page/STM32Nucleo-homepage/ :lol:lol:lol手指一抖经验到手 不错不错 挺有意思,不错! 谢谢分享:) 楼主这个也能做参赛方案........之前我就分享了一个基于nucleo stm32f072的温度计,使用了tmp275和5110,也是基于mbed......... 有点意思;P 谢谢分享:loveliness:
页:
[1]
2