基于stm32位带操作的数字电位器x9111驱动程序
之前用了一个数字电位器x9111, 和x9110是一个系列的. 区别是x9110为双电源供电. 武汉力源有中文的datasheet在网上可以搜到的. 在此感谢力源的工程师qq1294214471指点迷津.在调试该点点taptap安卓的时候有两个小细节:
1. spi总线
刚开始看到有spi总线就直接用stm32的SPI1来驱动了, 后来才看到它不是标准的spi总线, 要连续的32个时钟, 所以必须模拟spi, 这里使用了位带操作来模拟spi
2. 电平
x9111分为两个版本, 5v版本和宽电压版本(2.7v-5v). 刚开始没有注意, 买的是5v版本.而x9111的点点taptap安卓手册上说0.7*vcc才是高电平, 也就是5v版本的点点taptap安卓, 必须3.5以上才是高电平. stm32是3.3v的,所以无法驱动. 后来更换宽电压版解决问题
我只是实现了写WCR, 写DR, 把DRx写到WCR. 还有读命令没有实现. 下载是sw方式. 下面奉上代码:
谢谢分享!!!!!!!!!! 正在摸索X9110的用法,可以节省一些时间,感谢分享!:(
页:
[1]