亲爱的对话框
我的DA 14580有问题。我把IC为ON和Off 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_ESTACTION的位置在哪里。在void periph_init(void)中,我将gpio_setactive放在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或我们参考设计中的任何一个示例中,如DSPS?此外,您是否拥有我们的开发板或者您已经根据DA14580设备设计了您的定制板?您对LED的要求是什么?只是打开它?
谢谢,PM_Dialog
嗨PM_Dialog
非常感谢您的回复消息。
我准备了标题YH-007_V1.0的模块(被添加到附件)。模块尚未编程。虽然我与它沟通有问题,但我解决了它。实际上,我的主要目的是开发与蓝牙配合使用的LED电路。例如,如果我用DSPS应用向蓝牙设备发送1,LED朝向启动,如果我向蓝牙设备发送2,则LED将变为OFF。我已经使用了您的信息,并且可以使用DSP和所述模块与蓝牙通信,仅用于将数据从PC发送到电话单元,反之亦然。下一相打开和关闭LED,最终阶段是获得的数据的比较(如果1 = ON和2 = OFF)。
如果你能帮助我的项目,我会很高兴。
最好的祝愿
雷扎。
嗨reza.abbasi67,
你曾经检查过Codeless项目吗?如果没有,我强烈建议你看看这个参考设计。请点击下面的链接:
//www.wsdof.com/雷电竞官网登录products/smartbondtm-codeless-commands
使用Codeless项目,您可以向DA14580无线发送AT命令。该CodeLess AT命令平台允许控制本地UART连接的设备,以及通过BLE远程设备。全面的AT-Commands集合可以控制BLE连接、传感器读出和设备的电池检查。对发出AT命令的控制可以在PC上或集成在第三方微控制器中。例如,您可以从您的移动电话切换GPIO,而无需实现任何代码片段。如果您有任何使用DSPS项目的特殊原因,您将不得不对它进行更多的修改。请下载源代码的Codeless和阅读教程。
谢谢,PM_Dialog
亲爱的PM_Dialog,
感谢您的详细回答。我读了那几页。但是,我没有你用什么应用程序发送的AT++10.0。我没有在你放的页面上找到任何应用程序。
如果您为网站提供下载软件,我也很感激。
问候,
雷扎
嗨reza.abbasi58,
你能把你的问题说清楚吗?你问我应该使用哪个手机应用程序?如果是,您可以使用任何BLE通用移动应用程序。雷竞技安卓下载
谢谢,PM_Dialog
嗨PM_Dialog,
非常感谢你的帮助。尽管无代码项目更好,我还是决定改用dsp。
根据你的指导,我可以打开LED。我真的很感激。现在,我想发送1号用来打开,2号用来关闭LED。
我读了uart_sps.c,我可以用我的代码打开LED(我添加它如下,它在静态uart_sps_thr_empty_isr(无效)在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