运行的是mistral的UART_0程序,基础之上我修改了一下,增加了UART0的引脚复用设置,和UART0的时钟设置截图如下,程序正常运行,但是串口没有数据打印
Chris Meng:
Chi Xiaoyan,
是否有尝试过DM8148_EVM.gel里面的ALL_ADPLL_CLOCKS_ENABLE_API(),UARTClkEnable()脚本?
xiaoyan Chi:
回复 Chris Meng:
运行UARTClkEnable()没问题,运行ALL_ADPLL_CLOCKS_ENABLE_API()时会卡在USB_PLL,我把gel里的USB_PLL移出来,
运行发现卡在while (( (RD_MEM_32(Base_Address+STATUS)) & 0x00000600) != 0x00000600);
相应的寄存器USBPLL_STATUS Register读到的值是0xE0000121
xiaoyan Chi:
回复 Chris Meng:
检测的两个位都是0,意思是时钟没开启?
那要怎么开启呢?
Chris Meng:
回复 xiaoyan Chi:
Chi Xiaoyan,
你是在你自己的板子上测试的,对么?
你使用的仿真器是什么型号?仿真器的速度可以降低么?
去掉USB PLL这部分代码后,UART可以正常运行么?
xiaoyan Chi:
回复 Chris Meng:
XDS510PLUS,我把速度降到2M,去掉USB_PLL,ALL_ADPLL运行通过,UART仍然不能运行
xiaoyan Chi:
回复 Chris Meng:
板子是公司做的
Chris Meng:
回复 xiaoyan Chi:
Chi Xiaoyan,
会否是外围电路有问题?能否测量一下uart0的TX引脚是否有输出?
如果没有信号输出,能否换成其他UART口测试一下?
xiaoyan Chi:
回复 Chris Meng:
UART0引脚是直接引到外部应该没有问题,TX始终高电平没信号。我移到UART2之后就可以发送数据,正常运行。什么原因呢?
xiaoyan Chi:
回复 Chris Meng:
程序一样的,引脚定义我也改了,用UART2就可以正常运行,UART0外设不工作,还有什么需要设置的吗?难道跟UART0是做boot启动的原因?很费解
Chris Meng:
回复 xiaoyan Chi:
Chi Xiaoyan,
能不能在其他板子上也同样测试一下,看看是否是单板的问题?
能否检查一下原理图/pcb,看信号线接的是否正确?