查看: 1597|回复: 0

[评测分享] 【Silicon Labs EFR32xG24 开发套件】创建新工程

[复制链接]

该用户从未签到

发表于 2023-1-12 14:00:14 | 显示全部楼层 |阅读模式
分享到:
创建新工程
1、在Simplicity Studio中创建新工程可以有2种模式,空的Application,这个模板提供了从底层完全构建的方法。这样的方法,提供一个空的模板也在Keil中提供了。
对于Simplicity Studio而言,最主要的是使用GeckoSDK,这个Silab提供的开发API Stack栈,能够快速便捷开发实际应用,尤其是无线协议这样复杂而又需要认证的协议,直接采用Gecko SDK是最终的方法。
2、新的工程可以采用Import引进的方法,从File——import中选择输入,
Capture.PNG

找到目录所在的.sls文件,直接导入已经建立的工程。然后选择需要适应的Gecko SDK版本,以及编译工具,
Capture01.PNG

直接快速建立工程。



3、也可以从范例中创建。选择New Project,选择Wizard选择,然后就提供可以参考的范例,选择好目录就可以直接创建。
Capture02.PNG

创建的工程可以build,

Capture03.PNG

然后debugg下载到开发板中,这个是远程的蓝牙控制开关和灯的范例,在EFR Connect的手机APP可以直接访问


4、启动EFR Connect后,首先提示要打开蓝牙
823829481.jpg

然后进入Blink SoC的功能选择,就可以搜索到这个范例
1658877326.jpg

连接成功后就可以进一步执行操作,这个可以铜鼓触碰灯的图形控制开发板上红色LED的对应开关,开发板上的按键BTN1,对应下面按键的状态,按下时同步显示蓝色,释放时显示白色。这个简单范例,其实可以作为很多远程控制的开发模板直接使用。

321737817.jpg
5. 功能的实现时用了标准的线程实现,主程序只启动了一个线程。
  1. app_process_action();
复制代码
主程序代码如下

  1. #include "sl_component_catalog.h"
  2. #include "sl_system_init.h"
  3. #include "app.h"
  4. #if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
  5. #include "sl_power_manager.h"
  6. #endif // SL_CATALOG_POWER_MANAGER_PRESENT
  7. #if defined(SL_CATALOG_KERNEL_PRESENT)
  8. #include "sl_system_kernel.h"
  9. #else // SL_CATALOG_KERNEL_PRESENT
  10. #include "sl_system_process_action.h"
  11. #endif // SL_CATALOG_KERNEL_PRESENT

  12. int main(void)
  13. {
  14.   // Initialize Silicon Labs device, system, service(s) and protocol stack(s).
  15.   // Note that if the kernel is present, processing task(s) will be created by
  16.   // this call.
  17.   sl_system_init();

  18.   // Initialize the application. For example, create periodic timer(s) or
  19.   // task(s) if the kernel is present.
  20.   app_init();

  21. #if defined(SL_CATALOG_KERNEL_PRESENT)
  22.   // Start the kernel. Task(s) created in app_init() will start running.
  23.   sl_system_kernel_start();
  24. #else // SL_CATALOG_KERNEL_PRESENT
  25.   while (1) {
  26.     // Do not remove this call: Silicon Labs components process action routine
  27.     // must be called from the super loop.
  28.     sl_system_process_action();

  29.     // Application process.
  30.     app_process_action();

  31. #if defined(SL_CATALOG_POWER_MANAGER_PRESENT)
  32.     // Let the CPU go to sleep if the system allows it.
  33.     sl_power_manager_sleep();
  34. #endif
  35.   }
  36. #endif // SL_CATALOG_KERNEL_PRESENT
  37. }
复制代码
其中蓝牙相关的设置,也可以不用去代码中去找,在一个GATT_configuration中用图形化的方法,按照蓝牙的规约编写,可以直接修改。

这样在经历了不那么顺利的安装过程后,项目建立的过程就非常轻松。




回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /4 下一条

手机版|小黑屋|与非网

GMT+8, 2024-11-25 10:53 , Processed in 0.169054 second(s), 17 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.