Atmega128串口配置的坑

最近在做温度采集器的一个项目,有用到Atmega128的串口,看到了很多配置的程序,也看了很多博客,就是收不到数据,搞了快两天了,真是要疯掉了,痛定思痛,查了某一篇博客看到了熔丝位设置这个,在轩微的下载界面设置,由于Atmega128出厂是默认兼容103模式的,这样的话只能用串口0,串口1是没有办法用的,由于我们用到的是UART1,所以需要把这个勾选禁止,这个最关键勾选完之后,兴冲冲的去烧写测试,结果发现还是有问题,串口收到了一堆00,不论发什么串口收到的都是00。感觉看到的希望又破灭了,继续痛定思痛,觉得这个数据不对肯定就是波特率的问题,继续查看那个Atmega128的官方文档,波特率那块有个主频设置不同波特率的寄存器,所以又开始纠结时钟的问题,继续回到轩微的熔丝位设置有设置外部时钟还是内部时钟的地方,我用的11.0592MHz的晶振,所以需要选择8-12MHz的外部时钟,再去测试,终于让我流下了感动的泪水。由于没有看到类似的设置外部晶振的帖子或者博客,所以花费了很长时间,希望自己爬过的坑能不让其他人再次入坑。不写了,擦会儿眼泪。

你可能感兴趣的:(嵌入式,程序,单片机,硬件)