如何在运行时配置和使用UART1和UART2

56个职位/ 0个新
最后发表
kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
如何在运行时配置和使用UART1和UART2

我需要在运行时与DSPS外围模式应用程序一起使用UART1和UART2。

基本上在我们的设计中,我们将有2个设备连接到UART1和UART2串行总线。对于当前的DSPS源代码,如何使用UART1和UART2是在编译时通过CFG_PRINTF_UART2标志确定的。如果设置了CFG_PRINTF_UART2,则将使用UART2驱动程序。如果不是,将使用UART1将消息发送到控制台。

是否可以选择UART1或UART2并调用它们将消息传递到附加设备(通过GPIO引脚分配)?我不需要在任何给定的时间同时调用它们,只要它们可以按顺序被选择和调用。

谢谢,
——潘文凯

设备:
LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

谢谢你联系我们。我正在调查你的查询,并将更新你,因为我得到了一个解决方案。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
我插入了

我继续下去,并在da1458x_config_basic.h中插入了下面的#define,看看我是否可以运行DSPS,这样它就会把文本从电话发送到Tera Term控制台。
#定义CFG_PRINTF
#定义CFG_PRINTF_UART2

我还更改了下面uart_tx_callback()中的user_sps_scheduler.c文件中的行

uart_sps_write()到uart2_write(),因此它将调用UART2驱动程序来写入消息。

静态void uart_tx_callback(uint8_t res)

静态uint8_t size=0;
uint8_t * peripheral _tx_ptr = NULL;

//函数在未运行时从uart传输isr或应用程序调用
开关(res)

案例UART_STATUS_OK:
//获取数据和指针
Size = user_ext_pull (& ext_tx_ptr, Size);
打破;
案例UART_STATUS_INIT:
size = user_buffer_read_address(& ble_to_peri_buffer, & peri_tx_ptr, TX_CALLBACK_SIZE);
打破;
默认值:
ASSERT_ERROR (0);//错误:从未知源调用回调

//如果有数据可用,通过periph发送数据
If (size > 0)

Uart2_write (peripheral _tx_ptr, size, &uart_tx_callback);
//uart_sps_write(peripheral _tx_ptr, size, &uart_tx_callback);
返回;

//缓冲区中没有数据,因此回调完成
Callbackbusy = false;

没有什么是为了安慰而写的。但是FW没有显示任何错误。如果您不介意,可以试试上面的代码,看看是否可以看到相同的结果。

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

将数据写入UART的最新问题应该是由于引脚配置。为了看到配置,我需要看到实现。是否可以上传您的项目以供审查。

另外,dsp是基于SDK5.0.2还是SDK5.0.3?你能再证实一下这个吗?

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
当然。我使用的是SDK 5.04。

当然。我使用的是SDK 5.04。
谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

您能否验证此应用程序使用的是哪个DevKit ?

供您参考,您正在使用的dsp(如果我指的是正确的那个)是基于我们的SDK5.0.3版本的。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
基本的设备

基本的设备

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
潘文凯,

潘文凯,

如何将UART连接到控制台。是通过板载USB还是使用额外的硬件来实现?

问候,

Leepeng

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
我正在使用SPI引脚

我使用的SPI引脚配置是在基本套件上用P0_4打印的J4连接器右侧的第二个引脚配置,这样我就可以得到控制台打印(使用这个设置是因为我正在测试SPI Flash读/写和打印到控制台。我相信spi_flash正在使用UART2进行控制台打印。

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
潘文凯,

潘文凯,

因此,在代码中,我看到您启用了uart (UART1和UART2)。您是否试图通过USB连接使用两个uart进行写入?

你只能通过板载USB使用uart中的任何一个,为了同时使用它们,你需要另一个FTDI转换器,这样你就可以连接到USB。

你能否确认你的第二个问题只需要UART2还是UART1。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你也看到我是什么样子了

正如你所看到的,我想要做的。我尝试使用uart2_write()而不是uart_sps_write()将消息写入控制台,但它不起作用。我只是测试我是否可以看到uart2_write输出到控制台与我的设置。实际上,我需要UART1和UART2在我们的设计中工作。

以下三种情况中的一种随时都可能发生。

1.消息到UART1
2.消息到UART2
3.消息到两个uart(如果我不能在一个单独的写调用中发送到两者,那么我可以按顺序发送它们)

通过简单地将uart_sps_write()替换为uart2_write(),为什么不能工作(看不到文本消息的控制台打印),因为我已经为UART2配置了GPIO端口和引脚分配。现在,我只是简单地测试UART2。

当这一切都说完了,我将需要连接另一条FTDI电缆,以查看控制台输出到UART1和UART2。我确实有电缆,但无法按照其中一个博士的指示让它工作。如果你能告诉我怎么做,我将不胜感激。我迟早需要这样做来检查连接。

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我已经审查了项目,uart2正在工作。下面是使用uart2写入串行终端时必须进行的设置。

为了连接UART2,需要将Port0_4和Port0_5分配给uart端口,并将user_外围设置.h中的引脚分配给UART2,以便将引脚FTDI引脚连接到UART2。

注意:确保你为UART1禁用了这些相同的引脚,因为会有赋值冲突。

并且,在Basic DevKit上,在UART配置中配置单板。

使用uart2_write()函数向终端写入数据。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

如果你对我的项目进行了关于GPIO设置的更改,请发送给我你所做的让UART2工作的差异。我很难理解你在回复信息中的指示。

但是按照您的建议,只会启用UART2写入,而禁用UART1。我的目标是能够在任何给定的时间向UART1、UART2或两者发送消息。是否可以同时配置UART1和UART2,以便在运行时使用它们?这是我最初的问题。我需要能够做到:

1.消息到UART1从手机应用程序
2.消息到UART2从手机应用程序
3.从手机应用程序发送消息到两个UARTs(如果我不能在一个单独的写调用中发送到两者,那么我可以按顺序发送它们)

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我在你的查询中同时使用两个uart。我已经复习了你的UART2问题,看看为什么UART2不起作用。我上传项目和差异到这个线程供您参考。话虽如此,我正在探索同时使用的情况,并将向您更新。

注意:修改可以在语句之前用注释“CHANGES”标识。

问候,
信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

谢谢你帮我找到解决方案。你有关于这个话题的最新进展吗?
谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

是的,您可以同时使用两个uart。你所要做的就是定义CFG_PRINTF_UART2“就像你现在那样。引脚定义和预订都很好,因为你现在有。UART1(0 _4, 0 _5)而且UART2(1 _2, 1 _3)

然而,对于UART1你需要使用这个函数uart_write ()UART2使用函数uart2_write ()在文件中定义“uart.h”

您可以为UART1使用板载FTDI连接,为UART2使用外部FTDI。

如果您对此有任何问题,请让我知道。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
好了,好了。我会试试的

好了,好了。我明天会试一试,然后告诉你。你在我发给你的DSPS项目上试过吗?另外,如何将外部FTDI电缆连接到J4头?如果你能告诉我如何跳过J4头,为UART1和UART2编写控制台输出,那就太好了。

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
确定……

确定……

是的,我用你发给我们的项目做了测试。

所以,这是如何连接将看起来像J4:

Header_pin11……port0_pin4 (UTX)连接到FTDI T_RxD(根据原理图)

Header_pin13……port0_pin5 (URX)连接到FTDI T_TxD(根据原理图)

Header_pin5……port1_pin3(分配给UTX)连接到FTDI T_RXD(另一个BASIC工具包)

Header_pin6……port1_pin2(分配给URX)连接到FTDI T_TXD(另一个BASIC工具包)

注意:如果您没有其他BASIC套件,则需要使用任何兼容的FTDI转换器

我尝试在连接和断开连接事件时向uart和uart2写入一些数据。

问候,

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

所以我是否删除所有函数调用引用uart_sps.h调用在user_sps_scheduler.c uart.h ?uart_sp .c和uart.c之间有什么区别?为什么DSPS不简单地使用uart.c函数调用进行控制台读写,而是创建自己的uart_sps.c?

谢谢,
——潘文凯

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

我只是有时间开始寻找连接外部FTDI电缆的第二个UART输出。我有FTDI电缆,如UM-B—38文档章节8.1硬件设置基本套件所述。

我订购了这条电缆,每个附件的图片。然而,没有,我正在看它,我仍然想不出跳转J4头,以获得UART1和UART2控制台输出。我的问题是:

1.我的板目前根据J4标头旁边的原理图的UART模式进行跳转。这允许我在运行DSPS外围设备FW时使用UART1编写控制台输出。现在,我已经在(1_2,1_3)上添加了UART2 GPIO配置。我有外部FTDI电缆,我如何使用这条电缆输出UART2数据?

2.FTDI转换电缆有6根电线。根据你上面的指示,
Header_pin5……port1_pin3(分配给UTX)连接到FTDI T_RXD(另一个BASIC工具包)
Header_pin6……port1_pin2(分配给URX)连接到FTDI T_TXD(另一个BASIC工具包)

我只是连接2电线从6 FTDI电缆Rx(黄色电线)到引脚5,Tx(橙色电线)到引脚6的基本套件?为了清晰起见,我附上了电缆连接的图片。

谢谢,
——潘文凯

附件:
kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

你能回答我的问题吗?我被困在这里,直到我得到你的进一步帮助。
谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

关于你的第一个问题,DSPS是一种蓝牙版本的串行数据传输。因此,它包含了像uart_sps_write()这样的函数来接收数据并通过蓝牙发送它或通过蓝牙接口接收数据。如果你看一下实现,uart_write()和uart_sps_write()有类似的实现,只是前者写入外围UART,后者通过BLE发送数据。

您不需要用uart_write()替换uart_sps_write()。相反,如果希望将数据写入uart或uart2外围设备,只需为各自的uart实现一个回调函数。

问候,

信用证

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

1.我的板目前根据J4标头旁边的原理图的UART模式进行跳转。这允许我在运行DSPS外围设备FW时使用UART1编写控制台输出。现在,我已经在(1_2,1_3)上添加了UART2 GPIO配置。我有外部FTDI电缆,我如何使用这条电缆输出UART2数据?

首先,通过打印在PCB上的配置,您可以使用UART1通过连接到DevKit的Mini-USB将数据写入PC/MAC上的串行终端。

现在,您可以使用FTDI电缆连接到DevKit上的UART2,电缆的另一端连接到您的PC/MAC。打开两个独立的终端实例,连接到每个端口,您将能够通过UART1和UART2进行通信。

2.FTDI转换电缆有6根电线。根据你上面的指示,

Header_pin5……port1_pin3(分配给UTX)连接到FTDI T_RXD(另一个BASIC工具包)

Header_pin6……port1_pin2(分配给URX)连接到FTDI T_TXD(另一个BASIC工具包)

我只是连接2电线从6 FTDI电缆Rx(黄色电线)到引脚5,Tx(橙色电线)到引脚6的基本套件?为了清晰起见,我附上了电缆连接的图片。

对于该连接,需要将发送、接收和GND连接到FTDI转换器。请确保连接公共地,否则将无法通信。关于发送和接收,命名约定有时会令人困惑,因此只需将基本套件上的Tx连接到FTDI上的Rx,并将基本套件上的Rx连接到FTDI上的Tx。如果你看到没有通信,就交换Tx和Rx线。

这应该能解决你的问题。如果你还有什么问题,请告诉我。再次感谢您的耐心。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

谢谢你的建议。外部FTDI电缆Tx和Rx线到J4 GPIO引脚的物理连接现在已经正确连接。我现在能够让两个uart打印到控制台有一个问题。UART1输出到TeraTerm现在已损坏,UART2输出正常。UART1是板载串行输出,而UART2是FTDI连接。

如果你不介意,请使用我发给你的原始项目样本开始。然后将这个新的user_sps_scheduler.c文件应用到项目中。构建代码并将其加载到580 Basic Kit中。在手机上运行DSPS Android应用程序并发送一些短信。您将看到UART1输出(uart_sps_write())被损坏,而UART2输出(uart2_write())正常。

我创建了一个回调函数uart_both_tx_callback()来根据您的建议(所附代码)写入uart1和uart2。这就是你能帮上忙的地方。函数粘贴在下面以供讨论:

静态void uart_both_tx_callback(uint8_t res)

静态uint8_t size=0;
uint8_t * peripheral _tx_ptr = NULL;

//函数在未运行时从uart传输isr或应用程序调用
开关(res)

案例UART_STATUS_OK:
//获取数据和指针
Size = user_ext_pull (& ext_tx_ptr, Size);
打破;
案例UART_STATUS_INIT:
size = user_buffer_read_address(& ble_to_peri_buffer, & peri_tx_ptr, TX_CALLBACK_SIZE);
打破;
默认值:
ASSERT_ERROR (0);//错误:从未知源调用回调

//如果有数据可用,通过periph发送数据
If (size > 0)

uart_sps_write(peripheral _tx_ptr, size, NULL);
Uart2_write (peripheral _tx_ptr, size, &uart_both_tx_callback);

//缓冲区中没有数据,因此回调完成
Both_tx_callbackbusy = false;

如您所见,它与uart_tx_callback()非常相似。现在,在从外设fifo读取消息之后,我调用uart_sps_write()和uart2_write(),并为它们提供相同的消息指针和大小。但是,对于uart_sps_write(),我向它传递了一个NULL回调,以防止在下一次使用uart2_write()时再次调用回调,而对于uart2_write(),我向它传递了一个有效的回调函数名称uart_both_tx_callback。

我将压缩整个项目,这样您就可以简单地启动它,并帮助我检查它。

谢谢,非常感谢。
——潘文凯

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
顺便说一下,我对

顺便说一下,我打开TeraTerm以获得两个UART输出。

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
附加屏幕截图

附加了tera终端输出的屏幕截图。COM5(板载串行连接)为UART1, COM4(外部FTDI电缆连接)为UART2

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我正在调查你的项目来运行它。现在,我对你的屏幕截图感到困惑。查看Teraterm输出,它似乎可以同时使用UART1和UART2。问题解决了还是仍然存在?

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
它不能完全打印

它不会完全打印出文本。必须打印相同的文本,因为我发送了相同的文本到两个UARTs

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我已经在BASIC DevKit上运行了您的项目,看起来工作正常。我没有对你的项目做任何改变,我只是编译和运行相同的代码。

从你的设置到我的设置的唯一变化是,我在UART2上使用另一个DevKit而不是FTDI转换器。根据你的观察,UART2在你这边没有任何问题,对吗?

在这种情况下,我不确定你那边出了什么问题,因为这是我这边的工作。我想请您再次验证您的设置,以确保一切都在正确的地方。

我把我的战利品寄给你…

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

我得到了它的工作现在到现在简单地提供回调函数名uart_sps_write()和NULL uart2_write()如下所示,这是与前面的场景相反。我不明白和我以前的工作相比,它现在是如何工作的。如果你能解释原因,那就太好了。

If (size > 0)

Uart_sps_write (peripheral _tx_ptr, size, &uart_both_tx_callback);
uart2_write(peripheral _tx_ptr, size, NULL);

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

不幸的是,我不知道有什么不同,因为它对我来说是双向的。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
没关系。情况下关闭。

没关系。情况下关闭。谢谢你的耐心。

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
不客气请让

不客气如果您将来遇到任何问题,请告诉我们。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

UART事务大小指定为TX_CALLBACK_SIZE = 16字节。这个尺寸可以再大一点吗?为什么每次传输的数据量如此之小?
我问这个问题的原因是,我需要将固件传输到连接到UART1和UART2的外部设备上,以便引导它们。所以设备FW是20K字节。
谢谢,
——潘文凯

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

我在使用UART1和UART2的代码中遇到了奇怪的行为。当FW直接从Keil调试器加载到SysRAM时,在FW中实现的一切都很好。您自己尝试并运行了这段代码,并验证了它是否正常工作。

现在,当我开始使用SmartSnippets在基本套件上将相同的FW flash到SPI flash并从flash启动时,上电时,FW似乎没有正确地从flash下载到SysRAM。我这么说的原因是手机应用程序将无法找到它的礼物。下面是复制的步骤:

1.将跳线放置在Basic Kit的J4报头上,将其配置为SPI模式
2.使用SmartSnippets将DA FW从我这里flash到Basic Kit SPI flash
3.连接外部FTDI电缆Tx/Rx到UART2引脚P1_2和P1_3(如果你在控制台上看不到文本,就交换它)
4.2个Tera端子,一个用于板载串行连接,另一个用于外部FTDI电缆连接。板载连接为UART1, FTDI为UART2
5.循环电源基本套件,如果它目前是插入
6.在手机上打开DSPS手机app。应用程序应该无法找到名为NearEye的基本工具包(我更改了这个名称以反映我们预期的HW)

然而,如果将UART2连接的FTDI电缆从板上移除(移除Tx/Rx引脚),则在板上回收电源将允许手机应用程序再次找到它。现在,将FTDI电缆重新连接到单板Tx/Rx引脚,将允许UART1和UART2正常工作。

如果你没有立即做到,请重复步骤3-6。看起来好像在DA FW上配置UART2会导致Flash加载失败。

希望你能重现这个问题。
先谢谢你,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

TX_CALLBACK_SIZE根据UART上的硬件FIFO配置,最大值为16字节。

关于你的第二个问题,我将按照你的建议在黑板上试一试。不幸的是,我现在没有基本的DevKit。我会尝试一下,然后回复你。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
附件是压缩文件

附件是压缩文件的源代码为您的方便,以防您没有保持以前的项目在您的系统。

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我已经试着按照你的建议从flash中运行项目。这里我要澄清一下,DevKit的跳线J4和J6是怎么安排的?当单板配置为SPI模式时,实际上是断开UART1的连接。确保您已经通过J4_11, J4_12连接了UART1,引脚J6_1, J4_13和J4_14应该通过3脚跳线连接,而不是2脚跳线。通过这种方式,您将能够使用UART以及SPI。然而,我建议要谨慎,因为你也必须连接外围设备。相反,如果更灵活的话,您也可以使用第二个外部FTDI转换器。

说到项目,我看到了你最近上传的项目中的一些问题。但是,该项目的前一个版本从flash正常运行。所以我建议你检查一下你的项目是否有任何与正常操作相冲突的变化。

注意:在您的最新项目版本中还有一个函数命名/引用错误。请在上传项目之前检查这些。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你好,信用证,

你好,信用证,

谢谢你调查我的问题。你提到了J6套头衫。我在Basic DevKit中找不到J6。附带的(\v5.1.50.2.org\ basickit -SPI-UART1- UART1 .jpg)是当前使用SPI为UART1和UART2跳跃的板的快照。如您所见,FTDI黑色、橙色和黄色线是外部UART2连接。有了这个跳跃的配置,我能够毫无问题地获得SPI和UART1。UART2在J4头的顶部添加了FTDI线。如果没有FTDI连接,从flash引导或直接加载到SysRAM工作得很好,正如我在上面的步骤中解释的那样。

关于我当前项目与之前项目的差异,GPIO端口/引脚分配相同。唯一的区别是当前项目添加了一些用于我们自己的应用程序开发的SPI flash包装器代码。

是的,你在项目命名/引用错误上是正确的。很抱歉。我已经修复了错误,这是最新的。
谢谢,
——潘文凯

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
文件包含图像超过10MB。

文件包含图像超过10MB。我在这里附上了DevKit映像。

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

跳线J6是在J4旁边有2个插脚的那种。这在你的DevKit设置图像中也很明显,我上传的是J6中突出显示的部分。

注意:只有在连接UART RX与FTDI和MISO时才需要3脚跳线。你的设置工作,即使没有这个,直到你需要这个大头针。

我重新运行了你最新的项目,我注意到有问题。但再次强调,我也运行了您之前版本的项目,使用相同的设置,运行良好。我坚信,到目前为止您所做的一些更改可能与应用程序相冲突。我建议您参考以前的版本,看看是否遇到了任何问题。如果没有发现任何问题,那么从那里开始逐步进行更改,以检查是哪个添加导致了这个问题。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
由于信用证。

由于信用证。

我没有SPI引脚连接被称为J6
如果你不介意的话,你能不能把我之前的项目压缩一下,这样我就可以做比较了?

你是否用一个3针跳线连接J4和J6来测试我的项目?

谢谢,
——潘文凯

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
你能拍个快照吗

你能给你的板子拍张照片吗,这样我可以比较一下?

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

因此,J4和J6的设置是为了适应这种不同的配置。我在这里上传你以前的项目。您可以尝试使用与我使用的相同的连接设置进行测试。我已经测试了这个项目,有和没有3针连接器,这不会影响,除非你从终端发送数据,我不认为你在做。所以请使用当前的设置。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
信用证,

信用证,

我测试了你寄回来的工作项目。结果是一样的。DSPS应用程序从flash启动时未能发现设备(NearEye),但从Keil上传到RAM时发现OK。

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

我已经下载了完全相同的副本,我已经发送给你,构建了代码,并使用SmartSnippets SPI Flash程序员将图像烧录到Flash。我有2个Tera Term终端为各自的COM端口开放。在编程flash后,只是做了一个板复位,我能够在DSPS应用程序中看到设备,并能够将数据发送到正在通过UART1和UART2写入Tera Term终端的设备。

我不知道你那边出了什么问题。我使用的配置与您之前在“BasicKit-SPI-UART1-UART2”图像中显示的完全相同。你能把DevKit, SmartSnippets和终端输出图像。这样,我就可以检查是否有任何错误。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
谢谢你做这个测试

谢谢你再次进行测试,LC。

我想说的是,DSPS App发现设备的问题是间歇性的。该应用程序能够在最初的几次检测到它。每次它检测到我的设备时,我都懒得给它发送文本(我知道它会起作用)。我只是简单地回收电路板的电源(拔下USB线,而不是重置),然后启动手机应用程序再次检测它。你会发现应用程序再也看不到设备了。请替我试试。我不确定是什么引起了间歇性。

问题:

1.其他UART连接是否使用FTDI外部电缆?
2.你跳J4和J6和我的设置一样吗?
3.你是否将Tera终端波特率设置为115200并将流量控制设置为Xon/Xoff?

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

所以,我知道你在进行能量循环,但必须采取一些步骤来确保能量上升过程是正确的。

1.当板下电时,不应该有一些外部电源连接到引脚,如连接到UART2的FTDI转换器,这可能会在引脚上留下一些残留物,这可能是一个问题

2.当您上电电路板时,建议执行RESET操作,以确保正确的处理器输入电压,这是引导过程正确所必需的。

没有硬件复位,我们不能确保引导过程将在系统上电后立即启动。它在大多数情况下都有效,但并非总是如此。如果你的电池能以所需的速度提供所需的电压,那么它应该在几乎所有时候都能工作而不需要重置。

请尝试这些步骤,看看问题是否已解决。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
好的。a后复位单板

好的。复位板后,电源循环与FTDI电缆连接似乎工作。

问题:

1.按复位键是否会重新将FW从flash下载到RAM?
2.是否有一个软件API来调用从手机应用程序板复位?

谢谢,
——潘文凯

LC_Dialog
离线
最后看到:3天前20小时前
工作人员
加入:2016-09-19 23:20
你好潘文凯,

你好潘文凯,

1.是的,它就像系统被重新启动一样,但这种方式更受控制,输入供应也更稳定。

2.不能,因为系统直到重置完成才开始运行,所以您不能连接到设备。因此,在没有连接的情况下不能发出外部命令。

最好的

信用证

kqtrinh
离线
最后看到:3年11个月前
加入:2016-08-24 00:17
好的。那就告诉我怎么做

好的。然后告诉我FW成功加载到系统内存后如何进行软件重置。我将从手机应用程序创建一个协议接口,通过发送复位命令来重置单板。

谢谢,
——潘文凯

页面

主题锁定