24 行
719 B
C++
24 行
719 B
C++
|
#include "PortRead_MCP23S17.h"
|
||
|
|
||
|
/*
|
||
|
PortRead_MCP23S17::begin() is not needed because port direction is already configured to input by default.
|
||
|
SPI bus is configured in PortWrite_MCP23S17::begin().
|
||
|
*/
|
||
|
|
||
|
/*
|
||
|
returns port value
|
||
|
*/
|
||
|
uint8_t PortRead_MCP23S17::read()
|
||
|
{
|
||
|
uint8_t portState; //bit wise
|
||
|
|
||
|
//slower clock
|
||
|
digitalWrite(SS, LOW); //enable Slave Select
|
||
|
SPI.transfer(port.ADDR << 1 | 1); //read command
|
||
|
SPI.transfer(port.num + 0x12); //register address to read data from
|
||
|
portState = SPI.transfer(0); //save the data (0 is dummy data to send)
|
||
|
digitalWrite(SS, HIGH); //disable Slave Select
|
||
|
|
||
|
return portState;
|
||
|
}
|