本申请涉及图像显示,特别地涉及一种基于串口通信的oled显示方法。
背景技术:
1、oled(organic light-emitting diode)中文名为有机发光二极管,又称为有机电激光显示。oled显示屏具有能耗低、反应速度快、视角广、对比度高、轻薄柔韧等特点,因此oled显示屏在显示屏领域得到了广泛的应用;串口通信是指外设和计算机间,通过数据信号线、地线、控制线等,按位进行传输数据的一种通讯方式,这种通信方式使用的线路较少,通信成本较低;目前市面上oled显示方法较为复杂,软件维护成本较大。
技术实现思路
1、针对上述问题,本申请提供一种基于串口通信的oled显示方法,能够通过命令行输入参数任意输出对应信息,采用的代码简单可读性高,易于后期技术人员对该方法使用软件的维护。
2、一种基于串口通信的oled显示方法,步骤如下:
3、s1、获取ip地址并发送至mcu:
4、定义一个名为ip_temp的三维数组,用于显示主板三个网口的对应ip,使用getifaddrs函数获取ip地址并存入数组中,通过与mcu的通信协议,使用0xfa标志传输ip地址信息;未运行ip显示程序时,oled屏显示三个255;运行ip显示程序后可以同时显示1至3个ip地址;
5、s2、获取本地时间并发送至mcu:
6、使用tm结构体定义一个用于获取时间的结构指针p,使用localtime函数获取本地时间并存入指针中,使用0xf3和0xf4两个标志来向mcu发送年月日和时分秒信息;
7、s3、获取内存使用率并发送至mcu:
8、定义buff数组,打开文件/proc/meminfo获取内存信息并存入buff数组中,使用0xf6标志向mcu发送内存信息;
9、s4、获取cpu使用率并至mcu:
10、定义buff数组,打开文件/proc/stat获取cpu信息并存入buff数组中,使用0xf7标志向mcu发送cpu信息;
11、s5、获取硬盘分区容量信息并发送至mcu:
12、硬盘分区容量信息包括硬盘分区容量和分区剩余容量,使用0xf8和0xf9标志向mcu发送硬盘分区容量信息;
13、s6、加载io卡驱动并选择io卡的输出端口:
14、加载io卡驱动后,运行io卡输出程序,将会显示0至15的输出端口,选择其中一个输出端口并选择电平高低,1为高,即点亮,0为低,即熄灭;
15、s7、运行io卡输入程序并根据io卡的输入信息将oled屏int端口状态的对应位点亮:
16、运行io卡输入程序,同时在机器外围的io卡输入端口接通电源,终端会将16个输入位的对应位置1输入io卡,同时io卡输入程序会通过0xf0标志向mcu发送io卡输入信息,oled屏会将int端口状态的对应位点亮。
17、进一步地,步骤s6中,io卡输出程序在终端与用户互动的同时,会通过0xfb标志向mcu发送输出信息,用以在oled屏显示out端口状态。
18、进一步地,mcu通信时信息发送格式由一个字节的标志位0xaa,一个字节的命令位,一个字节的信息标志位,每种信息对应数据位以及最后的校验位组成。
19、进一步地,硬盘分区容量信息的获取方法为:
20、使用statfs结构体定义一个获取硬盘分区容量信息的diskinfo结构体,使用statfs函数获取硬盘对应挂载路径的硬盘分区容量信息,硬盘分区容量为blocksize1*diskinfo.f_blocks,分区剩余容量为
21、blocksize1*diskinfo.f_bfree。
22、进一步地,还包括有对信息是否发送正确的判断,具体判断方法为:
23、信息发送给mcu后,会接收到来自mcu的校验信息,标志位为0x55,命令位跟随主机信息,主要对于数据位进行判断,如果一字节的数据位为0x00,则发送正确;如果一字节的数据位为0x11,则发送错误,最后一位为校验位。
24、进一步地,本方法采用龙芯3a5000处理器。
25、进一步地,上述方法内的程序基于linux操作系统实现。
26、本申请具有以下优点:
27、本发明所采用的oled显示方法操作简单,能够通过命令行输入参数任意输出对应信息,采用的代码简单可读性高,易于后期技术人员对该方法使用软件的维护,软件维护成本较低,易于推广。
1.一种基于串口通信的oled显示方法,其特征在于,步骤如下:
2.如权利要求1所述的一种基于串口通信的oled显示方法,其特征在于,步骤s6中,io卡输出程序在终端与用户互动的同时,会通过0xfb标志向
3.如权利要求2所述的一种基于串口通信的oled显示方法,其特征在于,
4.如权利要求3所述的一种基于串口通信的oled显示方法,其特征在于,硬盘分区容量信息的获取方法为:
5.如权利要求4所述的一种基于串口通信的oled显示方法,其特征在于,还包括有对信息是否发送正确的判断,具体判断方法为:
6.如权利要求5所述的一种基于串口通信的oled显示方法,其特征在于,本方法采用龙芯3a5000处理器。
7.如权利要求6所述的一种基于串口通信的oled显示方法,其特征在于,上述方法内的程序基于linux操作系统实现。