相信大家有过这样的想法:一个屏幕可不可以多个MCU或者多个设备一同共用?会不会有干扰?
接下来博主告诉你,这样的想法是完全成立的,且不会产生干扰问题。屏幕的种类是多元化的,我们就以最简单的OLED屏来进行讨论,至于其余屏幕的复用方法也是一样的
小编之前有过许多复用方法,毫无意外都失败了,最稳妥的方式就是用电子开关4066或者其他芯片,配合程序来进行控制;在这之前还得有一个最重要的点不能遗忘,那就是两个设备要共地,因为数据的传输无非就是高低电平,既然是电平传输那一定要让屏幕的GND与连个设备的GND相通,否者就无法达到复用的目的。如下图:
4066有着4通道开关,程序控制A\B\C\D四个控制端,A\B为一个设备的控制输出、C\D为一个设备的输出控制,地端为公共点;两个设备定义2个bit标志位,当设备进行切换后一定要清楚屏幕显示,要不然多数据的输入会影响屏幕的输出显示;
MCU控制代码如下:
while(oled_databit==0) //屏幕标志位为0时设备1使用屏幕
{
key_A=1;key_B=1;key_C=0;key_D=0; //打开设备1的数据通道
if(oled_databit==1) //标志位切换后退出while语句
OLED_Clear(); break; //并清除屏幕显示
}
while(oled_databit==1) //屏幕标志位为1时设备2使用屏幕
{
key_A=0;key_B=0;key_C=1;key_D=1; //打开设备2的数据通道
if(oled_databit==0) //标志位切换后退出while语句
OLED_Clear(); break; //并清除屏幕显示
}
以上为博主的成功验证事例,大家可以放心借鉴,如有错误望大家指正。