Atmega8波特率设置

时间:2014-07-14 08:21:00

标签: avr atmega baud-rate

我正在使用ATMEGA8芯片,它是更大板的一部分。我正在尝试设置正确的波特率,但它似乎无法正常工作。

ATMEGA8使用3.6864Mhz的外部晶体振荡器。为了获得波特率,我使用以下几行,如数据表中所示:

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

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

提前致谢

1 个答案:

答案 0 :(得分:1)

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

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

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

Alernatively,可能是你没有正确测量范围。尝试用ftdi电缆或类似物连接芯片,看看是否有通孔。

我希望这有助于排除故障。