Linux下的OLED驱动(附源码)
今天搞了一天,终于把这个0.96寸的OLED屏,在我的i.MX6ULL板子上点亮。
有几点注意:
1.OLED的资料就是中景园的,里面有四个文件,oled.c,oled.h,oledfont.h和bmp.h,仔细观察留给用户调用的API函数可以发现,最底层都调用了一个往OLED控制器写一个字节的函数OLED_WR_Byte。所以我在驱动的oled_write函数中主要就是适配了这个往OLED写一个字节的函数OLED_WR_Byte。适配成功后,应用程序中写的显示字符串,显示数字,显示汉字等函数最终都会调用它,这就够了。
2.源码压缩包解压打开里面有两个文件夹,一个是驱动程序源码,一个是测试的应用程序源码,在Ubuntu下分别make可以得到驱动程序oled_device.ko和应用程序oled_app。另外驱动文件夹里有驱动对应OLED设备树文件oled_dts.txt
3.i.MX6ULL驱动的OLED实际刷新速度比较慢,甚至比STM32F103单片机驱动的还要慢。因为是模拟SPI驱动,如果换成硬件SPI驱动应该会快很多。
4.应用程序主函数中显示汉字,字符串等操作就像在单片机上一样直接调用对应的API函数即可,最后贴两张图
加载驱动
实际效果
源代码:包括驱动,应用程序和设备树
链接: https://pan.baidu.com/s/1ZjWifojjjRsJiCnq2ZDmtQ 提取码: iy2q