亲爱的对话框
我对DA 14580有个问题。我把IC为开和关一个LED。我读了你的网站,我发现我需要为工作定义两个命令。首先,确定引脚的输出和第二高或低是引脚。
1- GPIO_CONFIGUREPIN(GPIO_PORT_1,GPIO_PIN_0,输出,PID_GPIO,FALSE);
2 - GPIO_SetActive (GPIO_PORT_1 GPIO_PIN_0);
我把这两个命令放在user__setup .c中的void set_pad_functions(void)。但是输出不高,总是低(0v),我不知道为什么不能工作。
如果你能帮助我,我会很高兴。
问候,
雷扎。
设备:
嗨reza.abbasi67,
#定义GPIO_LED_PORT GPIO_PORT_1
#定义GPIO_LED_PIN GPIO_PIN_0
但让我问你个问题。你在哪个SDK项目中工作?你有使用任何一种睡眠模式吗?
谢谢,PM_Dialog
亲爱的PM_Dialog,
非常感谢您的回复。
我试图根据您的评论来解决问题,但获得的结果不合适(输出为0 V)。我不明白GPIO_ESTACTIVE的位置在哪里。在void periph_init(void)中,我在user_periph_setup.c中置于user_periph_setup.c中。我调查了你对我说的命令的顺序。首先,输出的定义,第二次预留和第三个设置高或低。我使用SDK 5.0.4使用Smart Spippets工具,我更改了睡眠命令,如下所示:
在配置使用。
const static sleep_state_t app_default_sleep_mode = ARCH_SLEEP_OFF;
在da1458X_config_basic.h:
# undef CFG_MEM_MAP_EXT_SLEEP
# undef CFG_MEM_MAP_DEEP_SLEEP
在user_periph_setup.h
#define cfg_uart_sw_flow_ctrl.
#undef cfg_uart_hw_flow_ctrl.
谢谢大家。
雷扎。
嗨reza.abbasi67,
表明您在哪个项目工作是非常有帮助的。在我们的SKD或我们的任何参考设计中的一个BLE示例中,如DSPS?此外,您是否拥有我们的开发板或者您已根据DA14580设备设计了您的定制板?您对LED的要求是什么?只是打开它?
谢谢,PM_Dialog
嗨PM_Dialog
非常感谢您的回复消息。
我准备了标题YH-007_V1.0的模块(被添加到附件)。模块尚未编程。虽然我在与它沟通中有问题,但我解决了它。实际上,我的主要目的是开发与蓝牙配合使用的LED电路。例如,如果我用DSPS应用向蓝牙设备发送1,LED朝向启动,如果我向蓝牙设备发送2,则LED将变为OFF。我使用了您的信息,可以使用DSP和所述模块与蓝牙通信,仅用于从PC发送和接收来自PC到电话单元的数据,反之亦然。下一相打开和关闭LED,最终阶段是获得的数据的比较(如果1 = ON和2 = OFF)。
如果你能为这个项目帮助我,我会很高兴。
最好的祝愿
雷扎。
嗨reza.abbasi67,
您是否检查过Codeless项目?如果没有,我强烈建议你看看这个参考设计。请点击下面的链接:
//www.xmece.com/亚博电竞菠菜products/smartbondtm-codeless-commands
使用无代码项目,您可以向DA14580无线发送AT命令。CodeLess AT命令平台允许通过BLE控制本地UART连接的设备以及远程设备。综合的AT-Commands集可以控制设备的BLE连接,传感器读出和电池检查。发出AT命令的控制可以在PC上或集成在第三方微控制器中。例如,您可以从您的手机切换GPIO,而不需要实现任何代码片段。如果您有任何使用DSPS项目的特殊原因,您将不得不对它进行更多的修改。请下载Codeless的源代码并阅读教程。
谢谢,PM_Dialog
亲爱的PM_Dialog,
谢谢你的详细回答。我读了那几页。但是,我没有你什么应用程序已经用来发送的AT++10.0。我没有在你放的页面找到任何应用程序。
如果您为网站提供下载软件,我也很感激。
问候,
雷扎
嗨reza.abbasi58,
你能把你的问题说清楚吗?你问你应该使用哪个手机应用程序?如果是,您可以使用任何BLE通用移动应用程序。亚博国际官网平台网址
谢谢,PM_Dialog
嗨PM_Dialog,
非常感谢你的帮助。虽然Codeless项目更好,但我还是决定转向DSPS。
根据你的指导,我可以打开LED。我真的很感谢你的好意。现在,我想发送1号用于打开LED 2号用于关闭LED。
我读了uart_sps.c,我可以打开LED与我的代码(我添加它如下,它写在静态void uart_sps_thr_empty_isr(void)在uart_sps.c)。然而,我发现当Tx缓冲区被填充时,代码可以工作,什么类型的数字到达缓冲区并不重要。LED等待发送每个数字或字符到DA14580。当接收到字符或数字时,LED总是亮着,我无法关闭它。你能帮我吗?
如果(uart_txfifo_full_getf () = = 1)
{
GPIO_SetActive (GPIO_LED_PORT GPIO_LED_PIN);
}
如果(uart_txfifo_full_getf () = = 2)
{
GPIO_SetInactive (GPIO_LED_PORT GPIO_LED_PIN);
}
方面,
雷扎
嗨reza.abbasi67,
我假设您想从中央设备发送“1”或“2”,并且您希望在外围设备上DSP进行解析并打开/关闭LED。因此,当设备从中央侧获取数据时,消息SPS_SERVER_DATA_RX_IND将发生消息附加到USER_SPS_SERVER_DATA_RX_IND_HANDLER(),因此您将能够在上面提到的回调中发送任何中央发送。默认功能只会调用user_ble_push()以便按下缓冲区中的数据。因此,一个想法是检查传入数据,要么将数据推入缓冲区,以便在UART侧打印出来。如果您想在特定命令的情况下向中央发送备份东西的情况下,您可以使用user_send_ble_data()函数,直接向中央发送通知而不通过缓冲区。
谢谢,PM_Dialog