| 移植 我的移植思路是,将ST官方的sample当作rtt中的一个线程,这样子即不影响其他线程的使用移植起来也比较方便。
 
 工程创建
 创建ibeacon线程
 static int ibeacon_thread_init(void)
 {
 rt_thread_t ibeacon_thread;
 ibeacon_thread = rt_thread_create("ibeacon",
 ibeacon_thread_entry,
 RT_NULL,
 1024,
 2,
 10);
 if (ibeacon_thread != RT_NULL)
 {
 rt_thread_startup(ibeacon_thread);
 }
 return RT_EOK;
 }
 
 INIT_APP_EXPORT(ibeacon_thread_init);
 
 
 
 
 将st官方sample中的main函数移植过来,放在ibeacon线程的入口函数中
 static void ibeacon_thread_entry(void *parameter)
 {
 LOG_D("ibeacon thread entry...");
 /**
 * The OPTVERR flag is wrongly set at power on
 * It shall be cleared before using any HAL_FLASH_xxx() api
 */
 __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_OPTVERR);
 HAL_Init();
 Reset_Device();
 Init_Exti();
 MX_GPIO_Init();
 MX_RTC_Init();
 /* Init code for STM32_WPAN */
 APPE_Init();
 while (1)
 {
 UTIL_SEQ_Run(UTIL_SEQ_DEFAULT);
 rt_thread_mdelay(10);
 }
 }
 
 
 
 
 将STM32_WPAN中间件整体复制过来,然后根据st的sample工程将BLE相关文件都加进去
 
   
 编译,根据编译错误将缺失的文件加入到工程中去,直到编译完成
 
 
 
 |