SPI是串行外设接口(Serial Peripheral Interface)的缩写,SPI是一种高速、全双工、同步通信的通信总线,被广泛应用在ADC、LCD等与MCU的通信过程中,特点就是快。串行外围接口(SPI)总线是由摩托罗拉公司开发的,用于在主设备和从设备之间提供全双工同步串行通信。
提取汉字点阵
显示学号姓名:
void TEST_MainPage(void) { GUI_ShowCHinese(28,24,16,"孙玲波",1);//显示中文名 GUI_ShowString(4,48,"631907060617",16,1);//显示学号 delay_ms(1500); delay_ms(1500); }
设置文字滚动
OLED_WR_Byte(0x2E,OLED_CMD); //关闭滚动 OLED_WR_Byte(0x27,OLED_CMD); //水平向左或者右滚动 26/27 OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节 OLED_WR_Byte(0x00,OLED_CMD); //起始页 0 OLED_WR_Byte(0x07,OLED_CMD); //滚动时间间隔 OLED_WR_Byte(0x02,OLED_CMD); //终止页 2 OLED_WR_Byte(0x00,OLED_CMD); //虚拟字节 OLED_WR_Byte(0xFF,OLED_CMD); //虚拟字节
读取温湿度:
//读取温湿度 void getData(){ //AHT20_Read_CTdata(CT_data); //不经过CRC校验,直接读取AHT20的温度和湿度数据 推荐每隔大于1S读一次 AHT20_Read_CTdata(CT_data);; //crc校验后,读取AHT20的温度和湿度数据 c1 = CT_data[0]*1000/1024/1024; //计算得到湿度值c1(放大了10倍) t1 = CT_data[1]*2000/1024/1024-500;//计算得到温度值t1(放大了10倍) //转为字符串易于显示 temp[0]=t1/100+'0'; temp[1]=(t1/10)%10+'0'; temp[2]='.'; temp[3]=t1%10+'0'; temp[4]=''; hum[0]=c1/100+'0'; hum[1]=(c1/10)%10+'0'; hum[2]='.'; hum[3]=c1%10+'0'; hum[4]=32; hum[5]='%'; hum[6]=''; }
显示温湿度:
//显示温湿度 void showData(){ //显示温度 GUI_ShowCHinese(15,28,16,"温度",1); GUI_ShowString(47,28,":",16,1); GUI_ShowString(62,28,temp,16,1); GUI_ShowCHinese(96,28,16,"℃",1); //显示湿度 GUI_ShowCHinese(15,48,16,"湿度",1); GUI_ShowString(47,48,":",16,1); GUI_ShowString(62,48,hum,16,1); }三 烧录运行
烧录:
运行:
四 总结
本次实验学习I2C总线通信协议,并理解OLED屏显和汉字点阵编码原理,使用STM32F103的SPI接口实现OLED屏显示数据。
五 参考链接【STM32】0.96寸OLED屏显示数据
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)