nRF GPIO input




nRF GPIO outputと同じく、myprojectsの下に、......\examples\peripheral\blinkyのblinkyフォルダをコピー

適当なフォルダ名に変更。

コピーして作成したフォルダの\myprojects\3_GPIO_input\pca10056\blank\sesの下にあるblinky_pca10056.emProjectをダブルクリックして開く。 

#include "boards.h"と今度は、”nrf_delay.h”も削除、またmainの中身も綺麗に削除。

#include "nrf_gpio.h"を代わりに追記する。


こんな感じになる。

ここにタイプしていく。

int main(void)

 //configration of pins

 nrf_gpio_cfg_output(26);

 nrf_gpio_cfg_input(2,NRF_GPIO_PIN_PULLUP);


 //initialization of LED

 nrf_gpio_pin_set(26); 

 // Vcc---LED ----pin----GND


  while(1)  {

    if(nrf_gpio_pin_read(2)==0){

    nrf_gpio_pin_clear(26);// turn on 

    }

    else{

    nrf_gpio_pin_set(26); 

    }

  }

}

タイプする途中で、候補が出るので、便利。

ピンをデジタル入力に指定する命令は以下。 
nrf_gpio_cfg_input(2,NRF_GPIO_PIN_PULLUP);
第一引数:ピンの番号
第二引数:プルアップ、プルダウンの指定。

ピンの状態を読み取るのが、if文の判定部の所で
nrf_gpio_pin_read(2)==0
押されていない時は、ゼロを返す。

この評価ボードは、注釈に書いたように

Vcc---LED ----pin----GND

の順でつながっているので、pinがHIGHの時、LEDには電流が流れずLEDは消えていて押されるとLEDが付く仕組み。

これでボタンを押すとちゃんとLEDが点灯する。

【sdk_configについて】
これ開いてみるとSDKの設定がずらりと入っている。
これをGUIで見えるようにするのがよく知られているのでやってみた。


開いてくるファイルの</tools>の前の部分に、

  <item name="Tool.CMSIS_Config_Wizard" wait="no">
    <menu>&amp;CMSIS Configuration Wizard</menu>
    <text>CMSIS Configuration Wizard</text>
    <tip>Open a configuration file in CMSIS Configuration Wizard</tip>
    <key>Ctrl+Y</key>
    <match>*config*.h</match>
    <message>CMSIS Config</message>
    <commands>
      java -jar &quot;$(CMSIS_CONFIG_TOOL)&quot; &quot;$(InputPath)&quot;
    </commands>
これをコピペする。


JAVAがインストールされていない場合は以下から実施しておく。
https://www.java.com/ja/download/manual.jsp


右クリックして、Wizardを選択するとGUIが立ち上がってくる。
これで各種の設定がこのGUI上でできるようになる。
変更したら、SAVEする。


設定をかえると、外部から変更したよ!とメッセージがでる。




コメント

このブログの人気の投稿

Attiny85とAQM0802A(LCD)のI2C接続

ILI9341 240X320 Arduino

Attiny85 FuseRest