This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
我正在构建使用 Arduino Nano 与 bz34Z100-G1进行通信的测试装置。 我在网站上找到的示例 HDQ 库取得了不同的成功。 Matthieu Lalonde (网站不再工作)的 HDQ.cpp 似乎是我最成功的,但是,我遇到了一些奇怪的行为,比如我从未得到过一个州 OfCharge ()(好吧,也许不是“永远”,但每500秒只有一次)。
是否有任何人成功使用 Arduino HDQ 代码? 我已经将例程中的时序与数据表进行了比较、一切看起来都很正常。 我曾尝试过调整计时、以防出现一些裕度问题、但我似乎无法对其进行调整、使其始终为我提供我所期望的数据。 我得到的大多数值似乎都是合理的,但一些令人不满意的值似乎不起作用(例如 StateOfCharge ();电压始终是偶数; 当我用块命令读出序列号时、它总是关闭1、但是如果我使用0x28/0x29命令进行读取、它通常是正确的(有时它关闭1)。 有时我读取 PackConfiguration()并获取0x970、有时是0x971。 显然、有关时序的一些问题。
这里本质上是我正在使用的代码。 我似乎对写入或中断没有任何问题、因此我省略了该代码(尽管 可以从 https://github.com/mozzwald/HDQLib 免费获取该代码)
#define HDQ_DELAY_THW1 45 // 32 - 66uS
#define HDQ_DELAY_THW0 120 // 70 - 145 μ S
#define HDQ_DELAY_TDW1 48 // 0.5 - 50us
#define HDQ_DELAY_TDW0 110 // 86 - 145 μ S
#define HDQ_DELAY_TCYCD 205 // 190 min
#define HDQ_DELAY_TB 250 //最小值:190uS */
#define HDQ_DELAY_TBR 70 //最小值:40us */
#define HDQ_DELAY_TCYCH 250/*最小值:190uS 最大值:250US*/
#define HDQ_DELAY_TRSPS_MAX 320 //最大值:320uS */
#define HDQ_DELAY_BIT_TOTAL 200
#define HDQ_State_of 电荷 0x02
#define _HDQ_readPin ()(* inputReg & bitmask)>> pin //将我更改为内联!*/
currentPercent = HDQ.Read (HDQ_State_of 电荷);