经过前面几个实验,已经在LOOK上创建了任务,创建了TFT类,想要创建一个串口类,实现最简单的串口发送功能。
首先告诉大家,我遇到了问题。串口数据发不出来。后来,在群里得Lee老师的指导,成功建立了简单串口类,特总结下,以飨童鞋。
我先是从菜农大叔的LOOK_RTC例程中找到了UART类的代码,拿来主义,照搬过来,也不管都是些什么,反正大概是那么回事。编译,除错,编译通过,下载,串口助手没有收到数据。
debug调试,发现串口的状态标志一直是“满”,UART0s.FSR.Bits.TX_FULL这个一直为满,说明数据没有发出去,任务被阻塞。在uart0_t::isr()设个断点,可以看到不会进入该函数。
调试过程就不说了,待会附上群讨论的记录。
写下总结:
1.要确认开启了UART发送(接收)中断。
2.要确认配置了合适的UART时钟源。
3.要设置UART的时钟使能,在init_config.h中“UART0_EN.UART0时钟使能”复选框选上。
4.UART的波特率设置要正确。
5.IO口的引脚复用也要在init_config.h中配置。
上面这几个都对了,UART类才能真正工作。
聊天记录折腾了老半天,导出来mht文件太大,50+M,所以传不了,不知道怎么导出指定日期的记录。有会的朋友指导下,或者帮忙导出10.23的聊天记录。 |