ATMEGA162诡异的串口寄存器,居然没法写进去,崩溃~~~
使用ATMEGA162的USART1,初始化的代码如下所示:程序运行到断点的时刻,寄存器的值如下所示:
汇编代码如下所示:
运行下一条语句之后:
此时的寄存器值如下所示:
可以看到UCSR1C = ((1<<URSEL1)|(3<<UCSZ10));这条语句根本就没有作用,UCSR1C根本就没有改变,仿真时手动修改这个值却可以正常工作。天啊,这是什么情况,汇编代码也没有问题啊。难道硬件有问题,还是说芯片本身的bug????这个寄存器没法改动,那还怎么用啊~~~~~~~~
熔丝位设置如下:
晶振7.3728MHz,坐等高手解答!!!!!!!!!!!!!!!!!!!! 没有人知道吗???自己顶一下~~~~ 这个型号的芯片我没有使用过,你可以下程序到硬件上看能否正常呢! AVR的UCSRC和UBRRH共用地址,读写都是非常变态的,难道你都不看数据手册的?
动不动就硬件有问题,芯片有BUG,唉 楼上说得对。{:lol:} 162两个串口都用过,没问题的 依然是设置问题,找个DEMO测试下,对比一下
页:
[1]