高田馬場の組み込みおやじ-電子工作、回路設計、ファーム TIPS

このブログは令和デバイス株式会社の菅原が、電気電子、電子工作、組み込みソフトウェアなどで、自分が苦労したところや面白い気づきなどを記事にしていきます。電子工作やマイコンに親しむ人が少しでも増えたらという思いでつづります。
やっぱり、電子工作が好きなんですよ。
<< ノイズのことはノイズのプロだな | main | 会社設立となりました >>
nRF52 SPIのMISOピンをプルアップ設定にする
0

    JUGEMテーマ:組み込み開発

     

    nRF52でADCをSPI通信で動かしているが、一点問題がでてきた。MISOピン(マイコンから見ると受信データ)のプルアップをしていないため、SSピンが LOでないときに MISO ピンがオープンになってしまう。

    nRF5xのIOポートは個別に プルアップ、プルダウン等の設定にできるのだけど、 Nordicから提供されているSPIのライブラリではMISOピンが プルアップ設定になっていないようだ。

    ライブラリを活用しているので、ライブラリで提供されている関数で行うのが美しい。

    かといって、MISOをプルアップにするオプションは見当たらなかった。

    そこで、 ペリフェラルの設定を直接変えることとした。

    青文字が追加した部分。

     

      nrf_drv_spi_config_t spi_config = NRF_DRV_SPI_DEFAULT_CONFIG;
        
        spi_config.ss_pin   = SPIM0_SS_PIN;
        spi_config.miso_pin = SPIM0_MISO_PIN;
        spi_config.mosi_pin = SPIM0_MOSI_PIN;
        spi_config.sck_pin  = SPIM0_SCK_PIN;
        spi_config.frequency    = NRF_DRV_SPI_FREQ_250K;                     
        spi_config.mode = NRF_DRV_SPI_MODE_1;

        APP_ERROR_CHECK(nrf_drv_spi_init(&spi, &spi_config, spi_event_handler,NULL));
        

        NRF_P0->PIN_CNF[SPIM0_MISO_PIN] |= (GPIO_PIN_CNF_PULL_Pullup<<GPIO_PIN_CNF_PULL_Pos);
     

    これにより、プルアップが効いて、SSがLO以外の時でも オープンになる事はなくなった。

     

    | 令和デバイス-菅原 | nRF5x Nordic | 10:58 | comments(0) | trackbacks(0) |









    http://blog.suga41.com/trackback/398
    1234567
    891011121314
    15161718192021
    22232425262728
    293031    
    << December 2019 >>
    + RECOMMEND
    + RECOMMEND
    + SELECTED ENTRIES
    + RECENT COMMENTS
    + RECENT TRACKBACK
    + CATEGORIES
    + ARCHIVES
    + つぶやき
    + MOBILE
    qrcode
    + LINKS
    + PROFILE