最近换了一个类型的单片机,把其他类型的串口程序仿制过来(修正不同的当地)之后,串口居然仍是不会运转。调试发现初始化串口寄存器时寄存器的值并没有产生改动。如图所示:
从图中能够看出,程序31行现已将UTXEN赋值为1,可是从下面的变量窗口中看到的UTXEN却是0.
原因:细心查找datasheet中的描绘,发现其间是这样说的:
也就是说需求先使能串口,再是串口发送才能够。依照修正之后公然能够了。看来仍是需求仔细的依照datasheet来编写程序啊。
别的:曾经发现的寄存器不能写入的状况是因为中心有中止打断了,为什么中止打断了就不能写入原因还不清楚。