尊敬的Diyabo国际娱乐alog Semiconductor:,
我认为你们的DA14583不适合发展。在许多主题中,你会问人们为什么要使用它,并建议其他处理器如DA14531、DA14585、DA14586使用。我认为DA14583和SDK5.0.4对于开发来说是不合理的,因为您的文档和支持是有限的。
不管怎样,我希望你能帮助我改变主意,特别是我以前在这里问过,但没有得到解决办法。
所以,我的问题是,现在我有一个自定义板与DA14583。我使用的是I2C的RTC,OLED,LED驱动程序。此外,iam使用GPIO控制继电器。我的代码存在于while(1)中的arch\u main.c中。
我有一些在任何处理器中都很容易解决的问题:
1-如何使用按钮打开/关闭BLE?
2-如何获取连接的设备名称?
3-如何在while(1)中以正常方式使用外围设备I2C、ADC和GPIO?
4-为什么当我使用从SDK获得的sw\u reset()函数对DA14583进行软件重置时,BLE会停止播发,有时会导致冻结?
5-为什么有时使用ADC和BLE时DA14583会冻结?
请我需要一个真正的答案,不问是否有任何理由使用DA14583。
我真的要改变它以后,但目前我必须使用它,所以请帮助我在这些问题。
提前谢谢
设备:
嗨,eslam snono,
是的,DA14531或DA14585/586建议用于新设计/项目,因为DA14580/3和SDK5没有任何路线图。
谢谢,下午好
是的,我需要开始和停止广告。
2设备是以外设模式还是中心模式配置的?
抱歉,我没明白。
三。你可以抢夺SDK的外围示例-5.0.4\projects\target\u apps\peripheral\u examples。但是,如果您也打算进行BLE活动,请记住监视程序机制将启动,并且将进行重置。有关看门狗机制的更多信息,请参阅数据表。
我已经在使用ble\u app\u外围示例作为代码的基础。
4设备是从RAM引导还是从闪存引导?如果它是从RAM启动的,在重置之后,代码会丢失,您应该重新编程。
我从闪存启动,我知道如果从ram复位后的代码将丢失。
你能在调试模式下运行它来检查它冻结的位置吗?它是由于看门狗过期,由于NMI或断言发生?
我没有使用看门狗,我有#undef CFG\u WDOG
提前感谢您的回复
嗨,eslam snono,
谢谢,下午好
仍然有同样的问题,我真的很抱歉,你的答案没有帮助。
最后一个问题,你能不能帮我用你的例子或任何东西来控制,只能够打开和关闭一个按钮?
我有你的EVK(DA14580DEVKT-PƏVC)和它有两个开关(SW2,SW3),我需要使用其中任何一个来控制BLE。
当按下BLE关闭或广告停止时,当释放BLE打开或广告开始时。
所以请回复我任何真实的答案,我可以使用,提前谢谢。
嗨,eslam snono,
正如我之前的回复中提到的,我强烈建议您检查SDK的ble\u app\u睡眠模式示例。此示例演示如何使用睡眠模式API并在运行时更改睡眠模式。设备播发一段预定义的时间(APP\u ADV\u DATA\u UPDATE\u TO),默认值为10秒。只要设备处于播发状态,其睡眠模式就设置为深度睡眠。在上述超时过期后,如果设备未进入连接状态,则停止播发。现在芯片什么都不做,等待外部事件退出休眠状态。示例是使用SW3按钮来唤醒。按下按钮后,设备将在预定义的时间内再次开始播发。当它进入已连接状态时,睡眠模式变为延长睡眠。
请使用app_button_enable()函数检查如何配置唤醒控制器,以便它能够检测到GPIO中断。
在您的例子中,您应该使用唤醒控制器来停止广告,而不是示例使用的app\u easy\u timer()。
>>当按下BLE关闭或广告停止时,当释放BLE打开或广告开始时。
这是不可能的,因为去抖动时间是63毫秒。
谢谢,下午好