亲爱的对话框
我对DA 14580有问题。我把IC换成了LED开关。我读了你的网站,我发现我需要定义两个命令的工作。首先,确定引脚的输出和第二个高或低是引脚。
1- GPIO_ConfigurePin(GPIO_PORT_1, GPIO_PIN_0, OUTPUT, PID_GPIO, false);
2 - GPIO_SetActive (GPIO_PORT_1 GPIO_PIN_0);
我将这两个命令放在user_peripher_setup .c中的void set_pad_functions(void)中。然而,输出不高,它总是低(0 V)。我不知道为什么它不能工作。
如果你能帮助我,我会很高兴的。
问候,
雷扎。
设备:
嗨reza.abbasi67,
#定义GPIO_LED_PORT GPIO_PORT_1
#定义GPIO_LED_PIN GPIO_PIN_0
但我想问你个问题。你在哪个SDK项目中工作?你在使用任何睡眠模式吗?
谢谢,PM_Dialog
亲爱的PM_Dialog,
非常感谢你的回复。
我尝试根据你的评论来解决这个问题,但是得到的结果是不合适的(输出是0 V)。我不知道GPIO_SetActive的位置在哪里。我将GPIO_SetActive放在了user_peripher_setup .c中的void peripher_init (void)中。我已将你所吩咐我的诫命考查了一遍。第一,定义输出,第二保留,第三设置高或低。我使用智能Snippets工具与SDK 5.0.4,我改变了睡眠命令如下:
在配置使用。
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
#定义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 APP发送1到蓝牙设备,LED会变成ON,如果我发送2到蓝牙设备,LED会变成oFF。我已经使用了你的信息,可以使用DSPS和上面提到的模块与蓝牙进行通信,只是用于PC和手机之间的数据收发,反之亦然。LED下一阶段是ON和oFF,最后阶段是得到的数据的比较(IF为1= ON, 2= oFF)。
如果你能在这个项目上帮助我,我会很高兴的。
最好的祝愿
雷扎。
嗨reza.abbasi67,
你检查过无代码项目吗?如果没有,我强烈建议你看看这个参考设计。请点击下面的链接:
//www.xmece.com/亚博电竞菠菜products/smartbondtm-codeless-commands
使用无代码项目,您可以向DA14580无线发送AT命令。无代码AT命令平台允许通过BLE控制本地UART连接的设备以及远程设备。全面的at命令集可以控制设备的BLE连通性、传感器读出和电池检查。发出AT命令的控制可以在PC上或集成在第三方微控制器中。例如,您可以从移动电话切换GPIO,而无需实现任何代码片段。如果您有任何使用DSPS项目的特定原因,则必须对其进行稍微多一点的修改。请下载无代码的源代码并阅读教程。
谢谢,PM_Dialog
亲爱的PM_Dialog,
谢谢你详细的回答。我读了几页。但是,我没有告诉你什么应用程序已经用来发送AT++10.0。我没在你放的那个页面找到任何应用程序。
我很感激如果你给下载软件的网站。
问候,
雷扎
嗨reza.abbasi58,
你能把你的问题说清楚吗?你问的是你应该使用哪种移动应用程序?如果是,您可以使用BLE通用移动应用程序中的任何一个。亚博国际官网平台网址
谢谢,PM_Dialog
嗨PM_Dialog,
非常感谢你的帮助。虽然无代码项目非常好,但我还是决定改用DSPS。
根据你的指导,我可以打开LED。我真的很感激。现在,我想发送1号用于打开,2号用于关闭LED。
我读取uart_sps.c,并可以用我的代码打开LED(我如下所示添加它,它在uart_sps.c中以静态void uart_sps_thr_empty_isr(void)的形式编写它)。然而,我发现,当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 ',你想要在外设的DSPS解析它和开关LED。因此,当设备从中央端获取数据时,消息SPS_SERVER_DATA_RX_IND将出现,消息被附加到user_sps_server_data_rx_ind_handler(),因此您将能够获得中央端在上面提到的回调中发送的任何内容。默认的功能只是调用user_ble_push()来将数据推入缓冲区。所以一个想法是检查传入的数据,或者做你的事情,或者把数据推入缓冲区,以便在uart端打印出来。现在,如果你想向中央发送一些东西,在一个特定的命令,你可以做的是使用user_send_ble_data()函数,直接发送通知到中央,而不通过缓冲区。
谢谢,PM_Dialog