maix.peripheral.spi
maix.peripheral.spi module
You can use
maix.peripheral.spi
to access this module with MaixPy
This module is generated from MaixPy and MaixCDK
Module
No module
Enum
Mode
SPI mode enum
item | describe |
---|---|
values | MASTER: spi master mode SLAVE: spi slave mode |
C++ defination code:
enum Mode { MASTER = 0x0, // spi master mode SLAVE = 0x1, // spi slave mode }
Variable
Function
Class
SPI
Peripheral spi class
C++ defination code:
class SPI
__init__
def __init__(self, id: int, mode: Mode, freq: int, polarity: int = 0, phase: int = 0, bits: int = 8, cs_enable: int = 0, soft_cs: bool = False, cs: str = 'GPIOA19') -> None
SPI constructor
item | description |
---|---|
type | func |
param | id: direction [in], spi bus id, int type mode: direction [in], mode of spi, spi.Mode type, spi.Mode.MASTER or spi.Mode.SLAVE. freq: direction [in], freq of spi, int type polarity: direction [in], polarity of spi, 0 means idle level of clock is low, 1 means high, int type, default is 0. phase: direction [in], phase of spi, 0 means data is captured on the first edge of the SPI clock cycle, 1 means second, int type, default is 0. bits: direction [in], bits of spi, int type, default is 8. cs_enable: direction [in], cs pin active level, default is 0(low) soft_cs: direction [in], not use hardware cs, bool type, if set true, you can operate cs pin use gpio manually. cs: direction [in], soft cs pin number, std::string type, default is "GPIOA19", if SPI support multi hardware cs, you can set it to other value. |
static | False |
C++ defination code:
SPI(int id, spi::Mode mode, int freq, int polarity = 0, int phase = 0, int bits = 8, unsigned char cs_enable=0, bool soft_cs = false, std::string cs = "GPIOA19")
read
def read(*args, **kwargs)
read data from spi
item | description |
---|---|
type | func |
param | length: direction [in], read length, int type |
return | bytes data, Bytes type in C++, bytes type in MaixPy. You need to delete it manually after use in C++. |
static | False |
C++ defination code:
Bytes *read(int length)
write
def write(self, data: maix.Bytes(bytes)) -> int
write data to spi
item | description |
---|---|
type | func |
param | data: direction [in], data to write, Bytes type in C++, bytes type in MaixPy |
return | write length, int type, if write failed, return -err::Err code. |
static | False |
C++ defination code:
int write(Bytes *data)
write_read
def write_read(*args, **kwargs)
write data to spi and read data from spi at the same time.
item | description |
---|---|
type | func |
param | data: direction [in], data to write, Bytes type in C++, bytes type in MaixPy read_len: direction [in], read length, int type, should > 0. |
return | read data, Bytes type in C++, bytes type in MaixPy. You need to delete it manually after use in C++. |
static | False |
C++ defination code:
Bytes *write_read(Bytes *data, int read_len)
is_busy
def is_busy(self) -> bool
get busy status of spi
item | description |
---|---|
type | func |
return | busy status, bool type |
static | False |
C++ defination code:
bool is_busy()