前言:EFR32芯片开发工具主要有两个,Simplicity Studio、IAR FOR ARM。个人习惯和不喜欢Simplicity Studio代码生成工具生成许多没有作用的文件和代码原因,采用IAR作为开发工具。

1. 开发文件准备:在工程目录下建立CMSIS文件夹

1.1复制软件Simplicity Studio安装目录的emlib文件夹到工程目录SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.2\platform\emlib

1.2复制EFR32FG1P文件夹到工程目录CMSIS文件夹下

SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.2\platform\Device\SiliconLabs\EFR32FG1P

1.3复制Include文件夹到工程目录CMSIS文件夹下

SimplicityStudio\v4\developer\sdks\gecko_sdk_suite\v2.2\platform\CMSIS\Include

1.4工程目录下建立BSP、USER文件夹,如下图所示:

2. IAR建立工程

2.1选取对应型号,如下图

2.2 在工程目录中添加main.c和CMSIS\EFR32FG1P\Source下的system_efr32fg1p.c和CMSIS\EFR32FG1P\SourceIAR下的startup_efr32fg1p.s文件,并添加库函数到工程中,如下图

2.3 工程头文件路径添加,并添加全局宏定义EFR32FG1P132F128GM48  如下图所示

$PROJ_DIR$\USER

$PROJ_DIR$\CMSIS\EFR32FG1P\Include

$PROJ_DIR$\CMSIS\Include

$PROJ_DIR$\emlib\inc

3.正式编写程序

/********************************************************************************* @file    main.c* @author  Garen* @version V1.0.0* @date    2018-05-21* @brief   程序入口main函数所在文件********************************************************************************/
/* Includes ------------------------------------------------------------------*/
#include "em_chip.h"
#include "em_cmu.h"
#include "em_emu.h"
#include "em_gpio.h"
/* extern  variables ---------------------------------------------------------*/
/* Private typedef -----------------------------------------------------------*/
/* Private define ------------------------------------------------------------*/
/* Private macro -------------------------------------------------------------*/
/* Private variables ---------------------------------------------------------*/
/* Private function prototypes -----------------------------------------------*/
/* Private functions ---------------------------------------------------------*//*** @brief  时钟初始化* @retval None*/
void BSP_ClocksInit(void)
{// Device errataCHIP_Init();// Initialize the system clocks //时钟采用外部晶振38.4MCMU_HFXOInit_TypeDef hfxoInit = CMU_HFXOINIT_DEFAULT;CMU_HFXOInit(&hfxoInit);SystemHFXOClockSet(38400000UL);// Enable HFXO oscillator, and wait for it to be stableCMU_OscillatorEnable(cmuOsc_HFXO, true, true);// Use HFXO as high frequency clockCMU_ClockSelectSet(cmuClock_HF, cmuSelect_HFXO);// HFRCO not needed when using HFXOCMU_OscillatorEnable(cmuOsc_HFRCO, false, false);CMU_ClockSelectSet(cmuClock_LFA, cmuSelect_LFRCO);CMU_ClockSelectSet(cmuClock_LFB, cmuSelect_LFRCO);CMU_ClockSelectSet(cmuClock_LFE, cmuSelect_LFRCO);// Default to LFRCO, it's the only option always present,// the code below will pick a better option if availableCMU_Osc_TypeDef lowFrequencyClockSource = cmuOsc_LFRCO;CMU_Select_TypeDef lowFrequencyClockSelect = cmuSelect_LFRCO;if (CMU->STATUS & CMU_STATUS_LFXOENS) {lowFrequencyClockSource = cmuOsc_LFXO;lowFrequencyClockSelect = cmuSelect_LFXO;}// Enable necessary clocks and set clock selectionsCMU_ClockEnable(cmuClock_CORELE, true);CMU_OscillatorEnable(lowFrequencyClockSource, true, true);CMU_ClockSelectSet(cmuClock_LFA, lowFrequencyClockSelect);CMU_ClockSelectSet(cmuClock_LFB, lowFrequencyClockSelect);CMU_ClockSelectSet(cmuClock_LFE, lowFrequencyClockSelect);
}/*** @brief  初始化led对应的IO* @retval None*/
void BSP_LedInit(void)
{CMU_ClockEnable(cmuClock_HFPER, true);CMU_ClockEnable(cmuClock_GPIO, true);GPIO_PinModeSet(gpioPortC,11, gpioModePushPull, 1);
}/*** @brief  点亮LED* @retval None*/
void BSP_LedOn(void)
{GPIO_PinOutClear(gpioPortC, 11);
}/*** @brief  程序总入口main()函数* @retval int*/
int main(void)
{//Initialize the system clocksBSP_ClocksInit();// Initialize the LEDs on the boardBSP_LedInit();//led onBSP_LedOn();while(1){}
}

EFR32FG1开发教程1--点亮LED相关推荐

  1. MM32F3273G8P火龙果开发板MindSDK开发教程1 - 点亮LED

    MM32F3273G8P火龙果开发版MindSDK开发教程1-点亮LED 1.登录官网下载对应的MindSDK固件 https://mindsdk.mindmotion.com.cn/,然后注册下载m ...

  2. GD32E230开发笔记-GD32E230点亮LED

    GD32E230开发笔记-GD32E230点亮LED 1.硬件设计 2.软件设计 GPIO的初始化 延迟函数 3.调试效果 4.程序源码 1.硬件设计 在GD32E230C-START-V1.0开发板 ...

  3. 【小月电子】安路国产FPGA开发板系统学习教程-LESSON1点亮LED灯

    点亮LED灯例程讲解 若要观看该博客配套的视频教程,可点击此链接 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去其中一些步骤.比如非常简单的项目,我们 ...

  4. 【小月电子】XILINX FPGA开发板(XLOGIC_V1)系统学习教程-LESSON1点亮LED灯

    点亮LED灯例程讲解 若要观看该博客配套的视频教程,可点击此链接 开发板实物图 图1.FPGA设计流程 根据多年工作经验,总结出的FPGA的设计流程,概括起来总共有以上12步,其中根据项目难易度可省去 ...

  5. 嵌入式开发学习之--点亮LED灯(上)

    在嵌入式学习里,点亮LED灯的地位就如同编程语言学习里的"hello world",是每个初学者都必须经历的一关,因为点亮了LED灯,至少可以说明几件事: 1.开发环境没问题,包括 ...

  6. 嵌入式开发学习之--点亮LED灯(中)

    上篇我们主要学习的是环境搭建和实际操作,这篇详细记录一下整个思考的过程. 首先,我们需要想一个问题,这个灯为什么会亮? 物理上来说,LED灯属于发光二极管,只要有正确的电压就会发亮.也就是说,我们烧写 ...

  7. 物联网国赛LORA模块开发教程(通用库)—Keil添加注释的快捷键

    LORA模块开发教程目录 物联网国赛LORA模块开发教程-开发环境配置 物联网国赛LORA模块开发教程-Keil添加注释的快捷键 物联网国赛LORA模块开发教程-点亮第一颗LED灯 物联网国赛LORA ...

  8. OKI单片机点亮LED

    这段时间公司安排做嵌入式单片机这块,因此,把之前移动端的暂时放了会儿,精心研究了OKI单片机的相关开发功能.本章主要讲解如何点亮LED. 本芯片为ml610409,如下:Demo:https://do ...

  9. STM32F103C8T6基础开发教程(HAL库)—点亮第一颗LED灯

    STM32F103C8T6基础开发教程目录 STM32F103C8T6基础开发教程(HAL库)-开发环境配置 STM32F103C8T6基础开发教程(HAL库)-Keil添加注释的快捷键 STM32F ...

  10. 辉芒微单片机开发教程_辉芒微单片机笔记004:IO寄存器配置,点亮一只LED

    刚开始对开发软件环境和仿真器的使用还不算很熟,先点亮一只LED看一下软硬件的操作有没有问题.电子芯片 在点亮LED之前,要弄懂二个寄存器的工作原理: 1.TRISA方向寄存器. 2.PORTA控制寄存 ...

最新文章

  1. 怎么归档老日志的shell脚本
  2. 温度转换的python程序_Python通过小实例入门学习---1.0(温度转换)
  3. 使用python套用excel模板_集成python的excel插件模板pyaddin——使用说明
  4. 如何设置MySQL的时区?
  5. 【Kotlin】扩展接收者 与 分发接收者 ( 类内部扩展用法 | 注意事项 | open 修饰扩展 )
  6. 模拟问路场景理解递归
  7. Qt Creator导出3D资产Exporting 3D Assets
  8. 【前端4】bootstrap:栅格系统,隔行/触摸换色,分页/导航条,模态框/轮播图,旅游首页
  9. 音频降噪处理+java_适当的音频捕获和降噪
  10. 【error】深度优先搜索TypeError: unhashable type: ‘list‘
  11. python 贴吧自动回复_利用Python实现微信自动回复!我打游戏再也不怕女朋友发信息了...
  12. js页面重定向跳转代码总结(待续)
  13. 通过curl访问openstack各服务
  14. 小米8android版本打开,怎么查看小米手机安卓系统版本
  15. 【OpenCV实战】简洁易懂的车牌号识别Python+OpenCV实现“超详解”(含代码)
  16. 华硕aura完全卸载_AURA神光同步是什么意思?AURA SYNC神光同步教程
  17. win10家庭版调出组策略_普通用户选择哪个Win10系统版本?家庭版与专业版的对比介绍...
  18. 批量取消腾讯微博关注
  19. Excel 复制时数据提示图片太大,超过部分将被截去
  20. 开启人工智能的大门,引领AI时代

热门文章

  1. sqlserver高可用方案_PowerJob 的自实现高可用方案,妙妙妙
  2. 内核源码编译ko文件如何调用math.h_第八期-Linux内核编程环境(2)
  3. oracle 表空间达到32g,oracle表空间到32G后扩容
  4. 国家开放大学英语和计算机考试答案,最新电大国家开放大学《人文英语》网络核心课形考网考作业试题及答案...
  5. CMU 15-213 Introduction to Computer Systems学习笔记(11) Cache Memories
  6. php获取当月的天数,php获取当月的天数及上月第一天和最后一天等数据 - YangJunwei...
  7. 【系列二之图像处理系列】提取图片(1)
  8. cat和EOF的组合妙用
  9. iOS:const的使用
  10. Android四大组件之 --- Service入门