计量芯片HT7036读取数据

本文讲述了作者初次使用一款无技术支持的芯片,通过阅读数据手册、调试SPI通信、解决复位和晶振问题,最终理解并实现电压校准的过程,强调了理解和查阅数据手册的重要性。
摘要由CSDN通过智能技术生成

项目场景:

我也是第一次使用这个芯片,厂家也没有提供技术支持。从网上查找资料以及旁边大神的指点。花了一个多月终于是读出电压,并且加校准。

问题描述

刚开始接触到这个芯片的时候。你先把这个芯片的数据手册大概过一遍。我旁边这个大神也是这样教我的。养成习惯。你就会知道这个芯片大概是怎么工作的。 我看第一遍的时候知道了。哦.0.这个芯片是通过spi方式和mcu通讯的。然后就跟着写spi的读写程序。跟着时序图,屁颠屁颠的把时序写好。

在这里插入图片描述

读不到数据原因分析:

写完读的函数我读一下默认地址。哎。怎么是0。在看一遍手册。噢噢噢噢。复位脚拉低了。

在这里插入图片描述
解决问题。读取默认地址成功。
在这里插入图片描述
成功读取到数据 7122A0。 这不是有手就行。

读取不到电压解决方案:

我迫不及待换个寄存器读个电压试试。 一度电压又是000.整个人都蒙了 这里卡的时间最长 一两个星期吧。我期初怀疑是不是时序不对。但是能读取到默认地址呀。哦哦哦,后面发现晶振没有装。装上还是没有反应。后面我请教旁边的大佬。他自己写了就可以读取到电压值。我就纳闷了。程序是抄他的。怎么他可以我的不行。后面我看他的多了这么一段初始化程序。

在这里插入图片描述
??? 哦哦哦 原来是没有看明白数据手册导致。人家都说了写入D3命令后,7036芯片才开始正式工作。我终于也是读取到数据了

问题又来了 我明明是220的电压 怎么读出来是一长串数据呀。再看手册。
在这里插入图片描述
原来还要除以2的13次方。读出来怎么是168。也不对呀。原来读取到的电压校准。也就是校表。
我以为这个简单呀 只要对于寄存器写入参数不就OK了。
在这里插入图片描述
当我再0x18的这个位置写入000 和别的数据的时候 怎么不会变呀数据。还是168. 再看数据手册。原来要发命令c9,数据0005A,才能使能校表写操作。

在这里插入图片描述
在这里插入图片描述
写数据函数
在这里插入图片描述

在这里插入图片描述电压校准过程。0x17是a相电压的校准的地址。18是B相 19是c相电压。
我这里以建准b相为例。开始先让0x18的地址写入000的数据 然后用串口打印出来看看数据是多少。
在这里插入图片描述
那我在0x18的地址写入0x9890应该能读取到220 了吧。然而并没有。读取到10 纳尼。 再看手册。原来我还没有adc增益设置。
在这里插入图片描述
带我设置个2倍增益看看。再在0x18的位置写0000读取数据。成功的读取到数据193
在这里插入图片描述
在这里插入图片描述
一段操作

在这里插入图片描述
终于看到了心目中的电压 完结 撒花
在这里插入图片描述
真的是大佬说的话 自己要走的路,一步也不会少。只有自己渡劫成功。才会成长!

  • 10
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值