lujian19871214 发表于 2015-4-17 09:37:53

ATMEGA162诡异的串口寄存器,居然没法写进去,崩溃~~~

使用ATMEGA162的USART1,初始化的代码如下所示:

程序运行到断点的时刻,寄存器的值如下所示:

汇编代码如下所示:

运行下一条语句之后:

此时的寄存器值如下所示:

可以看到UCSR1C = ((1<<URSEL1)|(3<<UCSZ10));这条语句根本就没有作用,UCSR1C根本就没有改变,仿真时手动修改这个值却可以正常工作。天啊,这是什么情况,汇编代码也没有问题啊。难道硬件有问题,还是说芯片本身的bug????这个寄存器没法改动,那还怎么用啊~~~~~~~~
熔丝位设置如下:


晶振7.3728MHz,坐等高手解答!!!!!!!!!!!!!!!!!!!!

lujian19871214 发表于 2015-4-17 19:12:33

没有人知道吗???自己顶一下~~~~

pangbin4 发表于 2015-4-17 19:46:17

这个型号的芯片我没有使用过,你可以下程序到硬件上看能否正常呢!

takashiki 发表于 2015-4-17 20:45:33

AVR的UCSRC和UBRRH共用地址,读写都是非常变态的,难道你都不看数据手册的?
动不动就硬件有问题,芯片有BUG,唉

哈士奇的语言 发表于 2015-9-7 08:43:54

楼上说得对。{:lol:}

god-father 发表于 2015-9-7 10:32:14

162两个串口都用过,没问题的

lzchuo 发表于 2015-9-7 14:09:15

依然是设置问题,找个DEMO测试下,对比一下
页: [1]
查看完整版本: ATMEGA162诡异的串口寄存器,居然没法写进去,崩溃~~~