折腾了3天,还是没弄好。这个程序的功能是通过串口发送字符到PC,超级终端显示接收到的字符。问题来了。我打开超级终端,设置端口,选择COM1,系统提示无法打开COM1,售后告诉我说是COM1被占用了。然而我在调试程序的时候,也发现了一些问题。如图:
USART1_DR是数据寄存器,但是在调试过程中我发现该值一直为0,这会不会是其中的一个原因?
还有就是我对于他们的代码的吐槽,对于串口波特率的设置,如图:
u16 USARTDIV_zhengshu和u16 USARTDIV_xiaoshu这两个变量,绕了一大圈,最后
USART1->BRR = USARTDIV_zhengshu;
USART1->CR1|=0X200C; //1位停止,无校验位.
但是看到这张图后我笑了。
最后,大家来瞅瞅看能不能解决这问题。
|