【Silicon Labs 开发套件评测】+DEMO程序的下载

cjjh2014   2021-7-27 06:59 楼主

 昨天在安装Silicon Labs公司的 simplicity studio 5软件后因进入官网下载例程而出现错误,今天来分享下解决的办法基本用法,因是在初次安装后就出现那种无法下载例程,且软件提示是注册异常。所以本人就直接将原来的软件删除,然后重新下载软件,在安装之前需要将之前安装过的所有信息删掉,以免后患。C盘里里的文档位置有一份隐藏的SS5文件这个也要找到删除。然后就是重新安装软件,安装过程如前一篇报告步骤一致,无区别。

        安装后,需要测试SS5是否安装成功而无问题,最简单的测试就是去官网下载个常规程序,进行编译及下载到DEMO里,只要DEMO里显示正确的功能,则基本上可以判定软件与硬件功能正常。在官网例程中比较简单的一个例程就是通过控制MCU产生PWM波来实现呼吸灯效果。

 首先打开软件,显示如下。

image.png   打开软件后将DEMO通过USB连接到电脑,在软件里的Welcom to simplicity studio 选页里自动识别并显示DEMO的型号信息,然后选择 Start.

image.png   接着就是选择CREATE,创建一个工程,如下图所示,将例程序放置在你需要放置的地方。

image.png    image.png  

在软件组成那一栏菜单里,可以查后到例程的程序。

image.png  

接着就是对例程进行编译,如下图箭头所示位置的。

6.png 对DEMO程序进行编译成功后显示下图信息:,主要看结果的错误及警告等信息。

8.png 最后就是下载到DEMO里,看LED灯的显示效果了是否与我们所需要的效果。

图片8.png 图片9.png

下面就展示下实际的效果:

LED呼吸灯.gif

下面就是程序内容:

#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
#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
}

本帖最后由 cjjh2014 于 2021-7-27 07:20 编辑
  • image.png

回复评论 (2)

 看main()里面的大循环,跟RSL10的Event Kernel有点像.

点赞  2021-7-27 10:30

也是采用eclipse的IDE;

点赞  2021-7-27 11:06
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复