BLEDev

LEDの点灯

設定

Include Path

..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\arch\boot\rvds; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\arch\compiler\rvds; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\arch\ll\rvds; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\dialog\include; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\arch; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\driver\reg; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\driver\uart; ..\DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\driver\gpio

ソース

#include <stdio.h>
#include <datasheet.h>
#include <gpio.h>

int main (void)
{
   // system init
    SetWord16(CLK_AMBA_REG, 0x00);                 // set clocks (hclk and pclk ) 16MHz
    SetWord16(SET_FREEZE_REG,FRZ_WDOG);            // stop watch dog    
    SetBits16(SYS_CTRL_REG,PAD_LATCH_EN,1);        // open pads
    SetBits16(SYS_CTRL_REG,DEBUGGER_ENABLE,1);     // open debugger
    SetBits16(PMU_CTRL_REG, PERIPH_SLEEP,0);       // exit peripheral power down

    // Power up peripherals' power domain
    SetBits16(PMU_CTRL_REG, PERIPH_SLEEP, 0);
    while (!(GetWord16(SYS_STAT_REG) & PER_IS_UP));


    // Init LED
    GPIO_ConfigurePin(0, 1, OUTPUT, PID_GPIO, true);
}

Driverの追加

GPIOのドライバーをSDKから取り込む。

DA14580_581_583_SDK_3.0.10.1\dk_apps\src\plf\refip\src\driver\gpio\gpio.c

Include Pathに追加

includeの作成

自作Headerを格納するincludeフォルダを作成し、periph_setup.h を新規作成する。

整理

main.c

#include <stdio.h>
#include <periph_setup.h>

int main (void)
{
   init_system();
}

periph_setup.h

#include <periph_setup.h>

void init_system() {
        // system init
    SetWord16(CLK_AMBA_REG, 0x00);                 // set clocks (hclk and pclk ) 16MHz
    SetWord16(SET_FREEZE_REG,FRZ_WDOG);            // stop watch dog    
    SetBits16(SYS_CTRL_REG,PAD_LATCH_EN,1);        // open pads
    SetBits16(SYS_CTRL_REG,DEBUGGER_ENABLE,1);     // open debugger
    SetBits16(PMU_CTRL_REG, PERIPH_SLEEP,0);       // exit peripheral power down

    // Power up peripherals' power domain
    SetBits16(PMU_CTRL_REG, PERIPH_SLEEP, 0);
    while (!(GetWord16(SYS_STAT_REG) & PER_IS_UP));


    // Init LED
    GPIO_ConfigurePin(GPIO_PORT_0, GPIO_PIN_1, OUTPUT, PID_GPIO, true);
}

periph_setup.h

#include <datasheet.h>
#include <gpio.h>

void init_system();

TypeZYのGPIO

P0_0からP0_7とP1_0とP1_1の合計10端子。

規格 端子数
UART 2
SPI 4
I2C 2
GPIO 1
ADC
Quadrature Decoder