Renesas Rulz
Renesas Rulz
  • User
    Join or sign in
  • Site
  • Search RenesasRulz.com
  • User
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-KURUMI フォーラム DS18B20 (OneWire)
  • Forums
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • Replies 0 replies
  • Subscribers 283 subscribers
  • Views 1252 views
  • Users 0 members are here
Options
  • Share
  • More
  • Cancel
Related Tags
  • Arduino Pro-mini
  • E1
  • GPS
  • GR-ADZUKI
  • GR-COTTON
  • GR-KURUMI
  • GR-KURUMI 書き込み
  • gr-sakura
  • Guthub
  • I2c
  • JPEG
  • Kirin
  • PMT
  • RL78 レジスタバンク
  • rx
  • S/Wシリアル
  • sd card
  • Serial2
  • WDT
  • webコンパイラ
  • xbee
  • コンパイル
  • シリコンマイク
  • 誤差補正
  • 音源
Related

DS18B20 (OneWire)

Okamiya Yuuki
Okamiya Yuuki over 3 years ago

がじぇるね岡宮です。

新人が1-Wireの温度センサDS18B20を使う機会がありまして、Arduino用のOneWireライブラリを使ったのですが、RL78用のヘッダ記述がなく動かなかったため、動くようにしたヘッダOneWire.hを貼り付けます。OneWireライブラリのフォルダにあるOneWire.hと差し替えればOKです。

追加したのは以下だけですので、他のアーキテクチャに影響を与えません。ただ、最新のOneWire.hに対して、貼り付けたOneWire.hが古い場合がありますので、その場合はそのOneWire.hに以下の記述を加えてもらえればOKです。

#elif defined(__RL78__)
#define PIN_TO_BASEREG(pin) (((volatile uint8_t*)(ADDR_PORT_REG + (digitalPinToPort(pin)))))
#define PIN_TO_BITMASK(pin) (digitalPinToBitMask(pin))
#define IO_REG_TYPE uint8_t
#define IO_REG_ASM
#define DIRECT_READ(base, mask) (((*(base)) & (mask)) ? 1 : 0)
#define DIRECT_MODE_INPUT(base, mask) ((*((base)+0x20)) |= (mask))
#define DIRECT_MODE_OUTPUT(base, mask) ((*((base)+0x20)) &= ~(mask))
#define DIRECT_WRITE_LOW(base, mask) ((*((base))) &= ~(mask))
#define DIRECT_WRITE_HIGH(base, mask) ((*((base))) |= (mask))

なお、DS18B20のデータラインにはプルアップが必要なようですが、sensors.begin();前にpinMode(2, INPUT_PULLUP);を呼べば当該ピンがプルアップされるので、外部プルアップも必要なくなります。

  • Reply
  • Cancel
  • Cancel
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2022 Renesas Electronics Corporation. All rights reserved.