
在串口终端显示温度在早些天已经展示过了,证明温度传感器18B20工作基本正常。
这次继续用LCD显示,这是上次还未完成的事情,温度程序基于原子,好像上次就说明过了,它的LCD驱动用另一种方式,直接写寄存器,着对我们这次DIY的电路,麻烦可不是一点点,特别对我这样的菜鸟来说。
LCD的4个线重新定义:CS,RS,WR,RD(在LCD.H里)
最头疼的是宏定义的修改,原来的是这样的:
//PB0~15,作为数据线
#define DATAOUT(x) GPIOB->ODR=x; //数据输出
#define DATAIN GPIOB->IDR; //数据输入
是针对PB0~15作为数据线的。
俺们的数据线,可就复杂喽,下面是根据电路图得到的 数据线与 PE,PD的关系:
D15,14,13, 12,11,10,9,8,7,6,5,4, 3,2, 1,0
PD10, 9,8; PE15,14,13,12,11,10,9,8,7 ; PD1,0; PD15,14
(这是从破烂的稿纸上摘下来,记在这里的)
看了一段宏定义写法,端详了好几天,很受启发,自己学着写写改改好多次,最终LCD亮了,大概才写对了吧。
我的宏定义是这样的:
——回复可见内容——