使用的範例是ble_app_all_in_one
這可範例可以使用外部button讓停止的廣播喚醒
在user_app_button_press_cb裡面增加LED的亮或滅的狀態顯示。
把程式設定成ARCH_SLEEP_OFF
LED會隨著每一次的按按鍵而做亮或滅的變化,連續按也沒有問題。
當把程式設定更改為ARCH_EXT_SLEEP_ON
LED的亮滅轉態變成並不是每一次的按鍵都會出現,沒有固定時間或次數的規律。
程式並沒有進入user_app_button_press_cb。
請問這是哪裡的設定要更改?
Device:
你好,
请确认:
1. Firmware 运行在官方的开发板还是?是 debug 运行还是 burn 到 flash 后运行?
2. 是否是 SDK5.0.4?
3. 贴上你的 user_app_button_press_cb 的内容?
4. 我们知道,只有当蓝牙处于连接状态时,按按键才会回调 user_app_button_press_cb,当你在测试时,蓝牙是否保持着连接?
5. 相对于 SDK 中的 all_in_one 工程,请列出所有你对该工程的一些改动?
首先,謝謝您的回覆。
請先允許我進一步補充問題內容
這各功能是為了實現I2C的溝通,DA14580為I2C Master,另外有一顆MCU為I2C Slave。
在測試I2C奴隶端要求讀取資料時,發出GPIO我nterrupt後,DA14580不一定會去讀取Slave端的資料。
以下是回覆問題:
1. 開發板是官方的Basic版本。運行方式是burn到flash後運行。
2. SDK為5.0.4
3. 詳細請看附件檔案內容
4. 目前測試都是藍芽處於連線狀態,不過最終要實現非連接狀態時也能動作。
5. 詳細請看附件檔案內容
你好,
从你的代码中,由于有调用 wkupct_enable_irq 的函数(user_app_set_i2c_int_event 和 app_i2c_int_enable)都被你注释掉了,所以,我们无法获知你的问题出在哪里。
请按照以下步骤实现 io 中断功能:
1. 实现两个函数:
2. 在 user_app_init (或根据需要)中第一次调用 app_gpio_wakeup_int_enable()
需要注意的是:
1. 保证系统里只有一处调用 wkupct_enable_irq。当连续调用 wkupct_enable_irq 两次时,会只执行后面的调用
2. app_gpio_wakeup_int_callback 中不能处理太多事情。也不能处理串口、IIC等外设的接收。外设接收的处理,可以放在 app_easy_wakeup(); 接口中,具体可参照 all_in_one 工程的实现