嗨。
我是DA14580硬件设计的新手。
我做了一个无线蓝牙设备,其中的DA模块工作在托管模式。为了检查DA模块的正常功能,我尝试用自己编写的UART测试程序通过UART (P0_4, P0_5)对它进行编程。这个程序是在主循环之前插入的一个while(1)循环,它通过UART连续发送一个ascii字母。通过RS232接口观察结果,它似乎在短时间内发送良好,然后他继续发送随意的字节。同一程序上的基本套件,工作正常。
问题可能是去耦容量离电源输入管脚或16MHz石英有50ppm容忍和18pF负载电容太远吗?如果没有,会有什么问题呢?
谢谢!
设备:

嗨drumste,
由于while(1)恰好在主循环之前,这意味着XTAL16是正确的,应该正确打印您的字符。我不认为去耦电容距离或16MHz晶体是造成你的问题。我能想到的唯一可能导致这个的原因,是一个糟糕的水晶,因为你可以看到正确的字符在开始,然后垃圾,你的水晶可能会漂移。尝试更改UART的波特率。
由于MT_dialog
我试图改变波特率,但行为是一样的:它正确地发送短时间,比它和垃圾字节,并在一段时间内停止发送。我也试图改变16MHz晶体与一个相同的,但行为总是一样的。我还尝试用振荡器测试UART波形,它似乎在短时间内工作正常,比波形变得更大,但具有相同的形式。最后它变得平坦。
我自己编写的测试程序是在主循环之前的一个while(1),它连续发送'B'字符(十进制66,二进制01000010)。
可以肯定的是,问题不会是石英的类型吧?
嗨drumste,
我认为类型与此无关,尽管您可以在门户网站上查看开发工具包在BOM文档中使用的类型。
由于MT_dialog