亲爱的对话框
我的DA 14580有问题。我把IC为ON和Off LED。我阅读了您的网站,发现我需要为工作定义两个命令。首先,确定引脚的输出,第二高或低是引脚。
1- GPIO_ConfigurePin(GPIO_PORT_1, GPIO_PIN_0, OUTPUT, 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,
非常感谢您的回复。
我试图根据您的评论解决这个问题,但是得到的结果并不合适(输出是0v)。我不明白GPIO_SetActive的位置在哪里。我将GPIO_SetActive放在空的外围_init(void)中的user_peri_setup .c中。我研究了你对我说的那些命令的顺序。一是产量的定义,二是保留,三是设定高或低。我使用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电路。例如:发送1给带有DSPS APP的蓝牙设备,LED显示为“ON”;发送2给蓝牙设备,LED显示为“oFF”。我已经使用了您的信息,可以使用DSPS和上述模块与蓝牙进行通信,仅用于PC和手机之间的数据收发。下一阶段为LED的ON和oFF,最后阶段为获得的数据的比较(1= ON和2= oFF的IF)。
如果你能在这个项目上帮助我,我会很高兴。
最好的祝愿
雷扎。
嗨reza.abbasi67,
你曾经检查过Codeless项目吗?如果没有,我强烈建议你看看这个参考设计。请点击下面的链接:
//www.xmece.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