现在正在例程的基础上测试手头的一个OLED驱动,驱动程序修改自官方提供的程序,采用SPI模式,但是不是使用的系统SPI接口,而是软件模拟的方式。
现在的问题是,SDIN引脚的电平可以正常驱动产生低电平,但是高电平的电压只有0.6V左右,非常不正常。
请教的问题是,QN9021的驱动能力是怎么样,可能造成无法驱动的问题嘛。
谢谢。
登录后可评论,请 登录或 注册
果然和我推测的一样!你所调用的函数都是都是对寄存器直接赋值的,所以后一次操作会影响前一次的操作!就比如你的函数(我随便扒拉两个的)
请你把gpio_set_direction函数换成gpio_set_direction_field函数!把gpio_write_pin函数换成gpio_write_pin_field函数,并且syscon_SetPMCR0WithMask函数对IO口的属性的重新设置是很有必要的!具体的问题就是这样了,你的整个工程可能还有其他问题!但是,操作寄存器来说,必须要改成安慰操作的函数!其他的你自己再检查!至于为毛我知道这个函数可以,那么就请看API的原型即可!
果然和我推测的一样!你所调用的函数都是都是对寄存器直接赋值的,所以后一次操作会影响前一次的操作!就比如你的函数(我随便扒拉两个的)
请你把gpio_set_direction函数换成gpio_set_direction_field函数!把gpio_write_pin函数换成gpio_write_pin_field函数,并且syscon_SetPMCR0WithMask函数对IO口的属性的重新设置是很有必要的!具体的问题就是这样了,你的整个工程可能还有其他问题!但是,操作寄存器来说,必须要改成安慰操作的函数!其他的你自己再检查!至于为毛我知道这个函数可以,那么就请看API的原型即可!