0

我正在使用 ATMEGA8 芯片,它是更大电路板的一部分。我正在尝试设置正确的波特率,但它似乎不起作用。

ATMEGA8 使用 3.6864Mhz 的外部晶体振荡器。按照数据表中的建议,我使用以下几行来 sed 波特率:

#define F_CPU 3686400// Clock Speed
#define BAUD 19200
#define MYUBRR F_CPU/16/BAUD-1

使用这种配置,我用示波器测量了时间,得到了 1000bps 的比特率。有什么建议吗?

提前致谢

4

1 回答 1

1

我能让你的数字有意义的唯一方法是:

  • 您测量的是帧速率,而不是比特率(典型帧中的 10 位)
  • U2X 已设置
  • 该芯片设置为使用内部振荡器,出厂默认为 1 MHz 时钟

这将给出波特 = f / (8*(UBBR+1)) = 10^6 / (8*(11+1)) = 10417 波特,非常接近每秒 1000 帧。

或者,可能是您没有正确使用示波器进行测量。尝试用 ftdi 电缆或类似的电缆将芯片连接起来,看看是否有孔通过。

我希望这可以帮助解决问题。

于 2014-07-17T22:10:37.433 回答