SYD8821藍芽遙控器設計方案【在開發板上功能演示】

城東發表於2018-08-21

SYD8821是具有全球領先低功耗(RX 2.4mA @-94.5dBm靈敏度,TX 4.3mA @0dBm輸出功率)的藍芽低功耗SOC晶片,在極低電流下實現了優異的射頻效能,搭配176kB SRAM,512kB flash,非常適合中高階可穿戴、智慧家居、物聯網等低功耗應用。具體可諮詢:http://www.sydtek.com/

SYD8821藍芽遙控器設計方案

SYD8821的藍芽遙控器方案以至於SYD8801的遙控器方案,SYD8801的遙控器方案請看:https://blog.csdn.net/chengdong1314/article/details/70141758
關於本程式的配置以及架構請看:https://blog.csdn.net/chengdong1314/article/details/79599299
關於本程式的燒錄和模擬過程請看:https://blog.csdn.net/chengdong1314/article/details/80079490
遙控器方案的目錄如下:
這裡寫圖片描述這裡寫圖片描述
開啟工程檔案後可看到main函式如下:
int main(void)
{
__disable_irq();

ble_init(); 

// RC bumping
sys_mcu_rc_calibration();

sys_mcu_clock_set(MCU_CLOCK_64_MHZ);
#ifdef USER_32K_CLOCK_RCOSC
sys_32k_clock_set(SYSTEM_32K_CLOCK_LPO);
delay_ms(500);
LPOCalibration();						//這是內部RC32k晶振的校準函式	經過該函式後定時器能夠得到一個比較準確的值
#else
sys_32k_clock_set(SYSTEM_32K_CLOCK_XO);
#endif

gpio_init();

led_config(LED1);
led_config(LED2);

#ifdef CONFIG_DEBUG_MSG
	dbg_init();
	PMU_CTRL->UART_EN = 1;
#else
	//PMU_CTRL->UART_EN = 0;   //要模擬和列印不能夠設為0  要低功耗設為0
#endif

dbg_init();		dbg_printf("\r\nPower On!\r\n"); 

#if 1
//-----------------------------------刪除繫結資訊----------------------------------------
{
struct gap_bond_dev bonds_device;

	if(bm_s_bond_info_get(&bonds_device) == 1)
	{
		dbg_printf("Delete bond info & reset!!!\r\n");
		
		bm_s_bond_info_delete_all();

		pmu_system_reset();
		while(1);
	}
	else
	{
		dbg_printf("No bond info!\r\n");
	}
}

#endif

#ifdef CONFIG_LED
led_config(LEDALL);
#endif

io_irq_init(user_gpio_callback);

__enable_irq();

start_adv();	

while(1)
{
	ble_sched_execute();

	KeyEvent_Handle();
	
	//要模擬和列印設為POWER_SAVING_RC_ON  要低功耗設為POWER_SAVING_RC_OFF
	//SystemSleep(POWER_SAVING_RC_OFF, FLASH_LDO_MODULE, 11000 , (PMU_WAKEUP_CONFIG_TYPE)(FSM_SLEEP_EN|PIN_WAKE_EN|TIMER_WAKE_EN|RTC_WAKE_EN));
	SystemSleep(POWER_SAVING_RC_ON, FLASH_LDO_MODULE, 11000 , (PMU_WAKEUP_CONFIG_TYPE)(FSM_SLEEP_EN|PIN_WAKE_EN|TIMER_WAKE_EN|RTC_WAKE_EN));
}

}

開發板功能演示

在開發版上功能演示如下:
1.下載程式碼後復位可看到串列埠列印如下:
這裡寫圖片描述
實物圖如下:
這裡寫圖片描述
2.藍芽遙控器名稱是"SYD-RCU",選擇並點選該藍芽:
這裡寫圖片描述這裡寫圖片描述
3.在上個步驟中藍芽已經正確連線,接下來點選配對按鈕,遙控器正確連線完成:
這裡寫圖片描述
4.接下來如果不按下開發板的任何按鍵,開發板在30S後將斷開連線並進入休眠狀態,這裡先測試音量減按鍵,按下音量減按鍵,可看到手機彈出音量減視窗,並且串列埠列印如下;
這裡寫圖片描述這裡寫圖片描述
5.接下來測試音量加按鍵,按下音量加按鍵,可看到手機彈出音量加視窗,並且串列埠列印如下;
這裡寫圖片描述這裡寫圖片描述
6.接下來30秒內無操作,可看到手機顯示未連線並且串列埠顯示斷開然後進入休眠:
這裡寫圖片描述這裡寫圖片描述

到此SYD8821遙控器開發板上的測試完成!
整個測試流程串列埠列印以及圖片請看:https://download.csdn.net/download/chengdong1314/10617641
關於遙控器的原始碼請和官方索取!

相關文章