在上一篇《 (十六)树莓派3B+ wiringPi库的使用–硬件SPI驱动NOKIA5110液晶》中介绍了使用树莓派的硬件SPI
驱动NOKIA5110
液晶屏幕。其实还可以软件驱动,这里我保存使用的引脚和程序功能和上一篇一致,就只需要修改两个函数。
第一个数初始化管脚:
// 初始化GPIO 端口
void gpioInit(){
pinMode(LCD_DC,OUTPUT);
pinMode(LCD_DIN,OUTPUT);
pinMode(LCD_CLK,OUTPUT);
pinMode(LCD_RST,OUTPUT);
pinMode(LCD_CE,OUTPUT);
}
第二个是SPI数据传输:
// 往LCD写入数据
// wbyte: 需要写入的数据
// dat_cmd: 1-数据 0-命令
void lcd_writeByte(u8 wbyte, u8 dat_cmd){
u8 i;
digitalWrite(LCD_CE,LOW);
if (dat_cmd == 1) { // 写数据
digitalWrite(LCD_DC,HIGH);
}
else { // 写命令
digitalWrite(LCD_DC,LOW);
}
// 开始写入数据
for(i = 0; i < 8; i++)
{
if (wbyte & 0x80) {
digitalWrite(LCD_DIN,HIGH);
}
else {
digitalWrite(LCD_DIN,LOW);
}
digitalWrite(LCD_CLK, LOW);
wbyte = wbyte << 1;
digitalWrite(LCD_CLK, HIGH);
}
digitalWrite (LCD_CE, HIGH);
}
其他和上一篇《 (十六)树莓派3B+ wiringPi库的使用–硬件SPI驱动NOKIA5110液晶》中介绍的一致,效果也一致,这里不再描述了。