近几天一直在调试一个小屏幕,买屏幕时带了一些资料,包括STM32的屏幕显示的例程,但是Company芯片和stm32的芯片不一样,库函数也不一样,所以有些东西需要重新配置,自己新建了一个OLED_I2C.c文件,将其保存在driver文件夹下,将屏幕原来带的OLED_I2C.c粘贴过来,有些函数可能实现的功能是一样的,但是名字不一样,在OLED_I2C.c函数中,初始化I2C的函数名叫I2C_InitStructure( ),初始化过程中,可能有些调用的变量或者函数在公司本身的库中没有那个名字,这样你就要看看公司芯片初始化I2C时是怎么写的,看了看AT24C16的初始化I2C的过程,就把其初始化i2c的代码粘贴过来了。然后新建OLED_I2C.h,把相应的代码也粘贴过来,这样基本就配置好了,然后把主函数代码配置好,结果,程序烧录进去后,屏没反应,请教别人帮忙。原来是I2C初始化时第二个参数写的不对,公司芯片I2C初始化时函数格式i2c_init(&g_i2c0,0x3c,0x20),其中第二个参数表示从机的起始地址,但是公司芯片规定第二个参数是从机起始地址右移一位的数值,所以要查看屏幕的起始地址是多少,然后右移一位就是I2C初始化的第二个参数值。
20170728_调试屏知识总结
最新推荐文章于 2021-11-26 00:13:56 发布