无法在UART上收到

10个帖子/ 0新
最后一篇
sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
无法在UART上收到

你好,

我们已根据模板项目创建了一个自定义项目。我们需要实现的一些事情是自定义配置文件(我们已成功创建了基于示例128的启动开头)和UART通信,该通信将用于与另一个微处理器接口。

使用默认值初始化UART1 - 115.2K,奇偶校验,1个停止位,8个数据位
Tx分配给p0.4
rx分配给p0.5

我正在使用一个Systick模块来递增特征值,将其更新为测试特性通知,并通过UART输出此值。UART TX立即工作,没有任何问题 - UART_WRITE(BUF,SIZE,NULL)调用是main的呼叫。下一步是实现通过UART读取命令的基本轮询机制。作为函数参考,我们一直在使用UM-B-004外设驱动程序v1.4。函数UART_READ(BUF,SIZE,NULL)调用是由MAIN搭配的MAIN搭配。到目前为止,我们还没有成功接收任何字符到提供的缓冲区。

已执行以下操作:
- 测试两种不同的松下Pan1740评估套件
- 确保FTDI芯片/电缆通过环回测试正常工作
- 尝试运行运行外设示例项目:能够将菜单输出到控制台,但没有接收字符(位于LSR中准备好的循环等待数据)
- 尝试运行生产测试(主机应用程序始终返回RX超时状态)

希望得到进一步的指导。谢谢你!

je_dialog.
离线
最后一次露面:3个月1周前
职员
加入:2013-12-05 14:02
你好,这里是为客人准备的

在那里,对于自定义档案,我将向您发送教程(草案)。我们很快就会发表它,但我相信这将是一个很大的帮助。

对于Pan1740 - 我将循环Panasonic Suport团队(wireless@eu.panasonic.com.)L.

BR JE_DIALOG.

sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
谢谢回复。我们有

谢谢回复。我们已经能够基于Sample128的自定义档案,以正常工作,但您提供的教程似乎对进一步自定义有用。

截至目前,我们的主要问题是让UART阅读工作。

Ingo
离线
最后一次露面:7个月4周前
大师 松下
加入:2014-01-16 11:19
嗨,有一个DSP示例

嗨,有一个具有UART工作的DSP示例,并且在应用程序注意中描述了一点。https://pideu.panasonic.de/files/documents/wm%20documents/pan1740/pan174 ...
最好的问候,Ingo

sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
由于某种原因,我不能得到

出于某种原因,我无法让DSP示例正确执行。我相信它与睡眠模式和调试有关,因为它在Arch_System模块中的Sleep_Mode检查期间永久地坐在循环中。

除了附加的uarttoble、blletouart环缓冲区功能之外,我们的UART的配置似乎与DSPS示例类似。主要的区别是应用程序级UART模块的初始化使用回调函数调用uart_read。根据UM-B-004,我应该能够在没有回调的情况下调用uart_read。我尝试了同样的事情与接收回调和调用uart_read init,但我仍然没有运气。有一些东西我在这里关于UART处理程序-我不应该接收中断由UART处理程序在第一个字节存储到recv FIFO (UART_IIR_FCR_REG初始化为7)?显然,如果没有UART Handler触发,我也不会看到回调。

除了我可以检查的外围示例和生产工具之外还有另一个例子吗?或任何其他额外洞察力。我很欣赏帮助。

Ingo
离线
最后一次露面:7个月4周前
大师 松下
加入:2014-01-16 11:19
嗨,章节“14.3二

嗨,在“14.3两个PAN1740 USB棒”章节中,config.h文件中描述了你需要做的改变。

sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
我实际上已经尝试过这个

我实际上尝试了这后,我的上一个答复,但不幸的是,再次没有任何运气-我得到一个硬故障和暂停在硬故障调试软件断点。调用堆栈表明故障发生在uart_sps_timeout_data_avail ISR (rf init期间发生的中断)期间。进一步的调试定位当接收缓冲区值被设置为读取数据时发生的错误。

Joacimwe.
离线
最后一次露面:10个月前1年
大师
加入:2014-01-14 06:45
我没有测试过uart_

我没有测试过uart_家族,但uart2_在这里工作得很好。为了让uart2在devkit上工作,我做了以下事情:

将#undef cfg_printf更改为da14580_config中的#define cfg_printf.h。
在peripe_setup .c中,在GPIO_reservations和set_pad_functions中修改uart (GPIO_PORT_0, GPIO_PIN_4, GPIO_PIN_5, gpio_pin_tx)使用的gpio端口和引脚。

然后在该应用程序中,现在可以使用UART2_WRITE(或者ARCH_PRINTF如果包含APP_CONSOLE.H),包括UART.H.
呼叫UART2_READ(BUF,LENGLE,READ_CALLBACK),其中BUF是缓冲区,长度是在系统调用READ_CALLBACK之前读取的字节数。至少对于UART2_READ,您无法传递NULL回调,因为assert_err(0)被调用。在read_callback中,您现在可以处理读字节。

sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
我把申请改成了

我将应用程序更改为使用UART2外设,并且仍未收到中断(UART2_Handler)。

作为完整性检查,我使用SDK v3.0.8.0版本的新副本创建了一个新文件夹,并打开了模板项目。然后,我对da14580_config.h和外围_setup.c执行了相同的修改,添加了带有UART接收回调的uart2_read调用,在传输到DA14580时,我仍然没有看到UART2_Handler中断。值得注意的是,我确实看到UART2 RX中断在启动时发生,idd为RECEIVED_AVAILABLE。uart2_rec_data_avail_isr调用uart2_data_rdy_getf返回一次TRUE,因此,如果指定读大小为1字节,第一个uart2_read调用将执行回调。

sancsoft
离线
最后一次露面:2个月1周前
加入:2015-04-05 02:18
更新:我们决定映射

更新:我们决定将Rx映射到0.2作为另一个调试工作,并且在接收字节时触发UART中断。

虽然这是一个好消息,但我们的布局设计具有RX映射到0.5。主要怀疑是某些东西保持0.5个低或高,破坏了使用该引脚的任何外围功能。相同的行为在我们的两个Pan1740 USB设备上都表现出来。