class ENZI::SPI
SPIクラス¶ ↑
SPI(Serial Peripheral Interface)機能を提供するクラス
SAMPLE¶ ↑
spi = SPI.new(LSBFIRST, CLOCK_DIV4) v = spi.transfer(0x41)
Constants
- CLOCK_DIV128
SPIクロック分周器(1/128)
- CLOCK_DIV16
SPIクロック分周器(1/16)
- CLOCK_DIV2
SPIクロック分周器(1/2)
- CLOCK_DIV32
SPIクロック分周器(1/32)
- CLOCK_DIV4
SPIクロック分周器(1/4)
- CLOCK_DIV64
SPIクロック分周器(1/64)
- CLOCK_DIV8
SPIクロック分周器(1/8)
- LSBFIRST
ビットオーダー(LSB first)
- MODE0
転送モード0(CPOL=0, CPHA=0)
- MODE1
転送モード1(CPOL=0, CPHA=1)
- MODE2
転送モード2(CPOL=1, CPHA=0)
- MODE3
転送モード3(CPOL=1, CPHA=1)
- MSBFIRST
ビットオーダー(MSB first)
Public Class Methods
new(order, mode, div = CLOCK_DIV4)
click to toggle source
ArgumentError パラメータエラー¶ ↑
# File enzi-lib.rb, line 627 def initialize(order, mode, div = CLOCK_DIV4) # check bit order raise ArgumentError, "Invalid bit order :" + order.to_s unless [LSBFIRST,MSBFIRST].include?(order) # check transfer mode raise ArgumentError, "Invalid mode :" + mode.to_s unless (MODE0..MODE3).include?(mode) # check clock div raise ArgumentError, "Invalid clock div :" + div.to_s unless [CLOCK_DIV2,CLOCK_DIV4,CLOCK_DIV8,CLOCK_DIV16,CLOCK_DIV32,CLOCK_DIV64,CLOCK_DIV128].include?(div) @order = order @mode = mode @div = div end