[评测分享]
【Silicon Labs EFR32xG24 开发套件】创建新工程
#板卡评测
2012 人阅读
|
0 人回复
|
2023-01-12
|
|
创建新工程
1、在Simplicity Studio中创建新工程可以有2种模式,空的Application,这个模板提供了从底层完全构建的方法。这样的方法,提供一个空的模板也在Keil中提供了。
对于Simplicity Studio而言,最主要的是使用GeckoSDK,这个Silab提供的开发API Stack栈,能够快速便捷开发实际应用,尤其是无线协议这样复杂而又需要认证的协议,直接采用Gecko SDK是最终的方法。
2、新的工程可以采用Import引进的方法,从File——import中选择输入,
找到目录所在的.sls文件,直接导入已经建立的工程。然后选择需要适应的Gecko SDK版本,以及编译工具,
直接快速建立工程。
3、也可以从范例中创建。选择New Project,选择Wizard选择,然后就提供可以参考的范例,选择好目录就可以直接创建。
创建的工程可以build,
然后debugg下载到开发板中,这个是远程的蓝牙控制开关和灯的范例,在EFR Connect的手机APP可以直接访问
4、启动EFR Connect后,首先提示要打开蓝牙
然后进入Blink SoC的功能选择,就可以搜索到这个范例
连接成功后就可以进一步执行操作,这个可以铜鼓触碰灯的图形控制开发板上红色LED的对应开关,开发板上的按键BTN1,对应下面按键的状态,按下时同步显示蓝色,释放时显示白色。这个简单范例,其实可以作为很多远程控制的开发模板直接使用。
5. 功能的实现时用了标准的线程实现,主程序只启动了一个线程。
主程序代码如下
- #include "sl_component_catalog.h"
- #include "sl_system_init.h"
- #include "app.h"
- #if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
- #include "sl_power_manager.h"
- #endif // SL_CATALOG_POWER_MANAGER_PRESENT
- #if defined(SL_CATALOG_KERNEL_PRESENT)
- #include "sl_system_kernel.h"
- #else // SL_CATALOG_KERNEL_PRESENT
- #include "sl_system_process_action.h"
- #endif // SL_CATALOG_KERNEL_PRESENT
- int main(void)
- {
- // Initialize Silicon Labs device, system, service(s) and protocol stack(s).
- // Note that if the kernel is present, processing task(s) will be created by
- // this call.
- sl_system_init();
- // Initialize the application. For example, create periodic timer(s) or
- // task(s) if the kernel is present.
- app_init();
- #if defined(SL_CATALOG_KERNEL_PRESENT)
- // Start the kernel. Task(s) created in app_init() will start running.
- sl_system_kernel_start();
- #else // SL_CATALOG_KERNEL_PRESENT
- while (1) {
- // Do not remove this call: Silicon Labs components process action routine
- // must be called from the super loop.
- sl_system_process_action();
- // Application process.
- app_process_action();
- #if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
- // Let the CPU go to sleep if the system allows it.
- sl_power_manager_sleep();
- #endif
- }
- #endif // SL_CATALOG_KERNEL_PRESENT
- }
复制代码 其中蓝牙相关的设置,也可以不用去代码中去找,在一个GATT_configuration中用图形化的方法,按照蓝牙的规约编写,可以直接修改。
![]()
这样在经历了不那么顺利的安装过程后,项目建立的过程就非常轻松。
|
|
|
|
|
|
|
|
|