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.

[参考译文] CC1101:波特率计算问题

Guru**** 2553260 points
Other Parts Discussed in Thread: CC1101

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/sub-1-ghz-group/sub-1-ghz/f/sub-1-ghz-forum/821175/cc1101-baud-rate-calculation-problem

器件型号:CC1101

您好!

我正在开发一个 python 库以连接 CC1101。

在 CC1101技术规格表(p 35)中计算波特率后、我得到了以下函数。

# python

导入 NumPy

DEF 波特率(osc、rate):
  drate_e = int (NumPy.log2 (rate * NumPy.power (2、20)/ osc))
  drate_m = int ((rate * NumPy.power (2、28)/ osc * NumPy.power (2、drate_e)))- 256

  返回(drate_e、drate_m)

 

我的 DRATE_E 计算似乎很完美。 我获得的值与 Smart RF Studio 7中的测试值相匹配、但我的 DRATE_M 值却是很差的...

我至少看过十几次公式。 有人以前遇到过这个问题吗?

规格表中的公式是否不准确? 或者(很可能)我是否有一个我缺失的明显错误?

谢谢!

>> BAUD_RATE (26000000、2400)

(6、1585536)#应为(6、131)

>> BAUD_RATE (26000000、4800)

(7、6343040)

>>>  

 

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您似乎错过了几个括号:

    drate_m = int ((rate * NumPy.power (2、28)/(osc * NumPy.power (2、drate_e))))- 256

    因为您必须除以 osc*2^datarate_e 的乘积 我^您使用 s k Ω data_e 进行乘积...

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    噢、我的天哪。 谢谢!

    不能相信我错过了多次检查的错误。

    解决了这个问题!