Documentation
¶
Overview ¶
Package spi provides interface to Serial Peripheral Interface.
Peripheral: SPI_Periph Serial Peripheral Interface. Instances:
SPI2 mmap.SPI2_BASE SPI3 mmap.SPI3_BASE SPI1 mmap.SPI1_BASE
Registers:
0x00 16 CR1 0x04 16 CR2 0x08 16 SR 0x0C 16 DR 0x10 16 CRCPR 0x14 16 RXCRCR 0x18 16 TXCRCR 0x1C 16 I2SCFGR 0x20 16 I2SPR
Import:
stm32/o/f10x_hd/mmap
Index ¶
- Constants
- Variables
- type CR1
- type CR2
- type CRCPR
- type DR
- type I2SCFGR
- type I2SPR
- type RCR1
- type RCR2
- type RCRCPR
- type RDR
- type RI2SCFGR
- type RI2SPR
- type RMCR1
- type RMCR2
- type RMCRCPR
- type RMDR
- type RMI2SCFGR
- type RMI2SPR
- type RMRXCRCR
- type RMSR
- type RMTXCRCR
- type RRXCRCR
- type RSR
- type RTXCRCR
- type RXCRCR
- type SPI_Periph
- func (p *SPI_Periph) BIDIMODE() RMCR1
- func (p *SPI_Periph) BIDIOE() RMCR1
- func (p *SPI_Periph) BR() RMCR1
- func (p *SPI_Periph) BSY() RMSR
- func (p *SPI_Periph) BaseAddr() uintptr
- func (p *SPI_Periph) CHLEN() RMI2SCFGR
- func (p *SPI_Periph) CHSIDE() RMSR
- func (p *SPI_Periph) CKPOL() RMI2SCFGR
- func (p *SPI_Periph) CPHA() RMCR1
- func (p *SPI_Periph) CPOL() RMCR1
- func (p *SPI_Periph) CRCEN() RMCR1
- func (p *SPI_Periph) CRCERR() RMSR
- func (p *SPI_Periph) CRCNEXT() RMCR1
- func (p *SPI_Periph) CRCPOLY() RMCRCPR
- func (p *SPI_Periph) DATLEN() RMI2SCFGR
- func (p *SPI_Periph) DFF() RMCR1
- func (p *SPI_Periph) ERRIE() RMCR2
- func (p *SPI_Periph) I2SCFG() RMI2SCFGR
- func (p *SPI_Periph) I2SDIV() RMI2SPR
- func (p *SPI_Periph) I2SE() RMI2SCFGR
- func (p *SPI_Periph) I2SMOD() RMI2SCFGR
- func (p *SPI_Periph) I2SSTD() RMI2SCFGR
- func (p *SPI_Periph) LSBFIRST() RMCR1
- func (p *SPI_Periph) MCKOE() RMI2SPR
- func (p *SPI_Periph) MODF() RMSR
- func (p *SPI_Periph) MSTR() RMCR1
- func (p *SPI_Periph) ODD() RMI2SPR
- func (p *SPI_Periph) OVR() RMSR
- func (p *SPI_Periph) PCMSYNC() RMI2SCFGR
- func (p *SPI_Periph) RXCRC() RMRXCRCR
- func (p *SPI_Periph) RXDMAEN() RMCR2
- func (p *SPI_Periph) RXNE() RMSR
- func (p *SPI_Periph) RXNEIE() RMCR2
- func (p *SPI_Periph) RXONLY() RMCR1
- func (p *SPI_Periph) SPE() RMCR1
- func (p *SPI_Periph) SSI() RMCR1
- func (p *SPI_Periph) SSM() RMCR1
- func (p *SPI_Periph) SSOE() RMCR2
- func (p *SPI_Periph) TXCRC() RMTXCRCR
- func (p *SPI_Periph) TXDMAEN() RMCR2
- func (p *SPI_Periph) TXE() RMSR
- func (p *SPI_Periph) TXEIE() RMCR2
- func (p *SPI_Periph) UDR() RMSR
- type SR
- type TXCRCR
Constants ¶
View Source
const ( CPHAn = 0 CPOLn = 1 MSTRn = 2 BRn = 3 SPEn = 6 LSBFIRSTn = 7 SSIn = 8 SSMn = 9 RXONLYn = 10 DFFn = 11 CRCNEXTn = 12 CRCENn = 13 BIDIOEn = 14 BIDIMODEn = 15 )
View Source
const ( RXDMAENn = 0 TXDMAENn = 1 SSOEn = 2 ERRIEn = 5 RXNEIEn = 6 TXEIEn = 7 )
View Source
const ( RXNEn = 0 TXEn = 1 CHSIDEn = 2 UDRn = 3 CRCERRn = 4 MODFn = 5 OVRn = 6 BSYn = 7 )
View Source
const ( CHLENn = 0 DATLENn = 1 CKPOLn = 3 I2SSTDn = 4 PCMSYNCn = 7 I2SCFGn = 8 I2SEn = 10 I2SMODn = 11 )
View Source
const ( I2SDIVn = 0 ODDn = 8 MCKOEn = 9 )
View Source
const (
CRCPOLYn = 0
)
View Source
const (
RXCRCn = 0
)
View Source
const (
TXCRCn = 0
)
Variables ¶
View Source
var SPI1 = (*SPI_Periph)(unsafe.Pointer(uintptr(mmap.SPI1_BASE)))
View Source
var SPI2 = (*SPI_Periph)(unsafe.Pointer(uintptr(mmap.SPI2_BASE)))
View Source
var SPI3 = (*SPI_Periph)(unsafe.Pointer(uintptr(mmap.SPI3_BASE)))
Functions ¶
This section is empty.
Types ¶
type CR1 ¶
type CR1 uint16
const ( CPHA CR1 = 0x01 << 0 //+ Clock Phase. CPOL CR1 = 0x01 << 1 //+ Clock Polarity. MSTR CR1 = 0x01 << 2 //+ Master Selection. BR CR1 = 0x07 << 3 //+ BR[2:0] bits (Baud Rate Control). BR_0 CR1 = 0x01 << 3 // Bit 0. BR_1 CR1 = 0x02 << 3 // Bit 1. BR_2 CR1 = 0x04 << 3 // Bit 2. SPE CR1 = 0x01 << 6 //+ SPI Enable. LSBFIRST CR1 = 0x01 << 7 //+ Frame Format. SSI CR1 = 0x01 << 8 //+ Internal slave select. SSM CR1 = 0x01 << 9 //+ Software slave management. RXONLY CR1 = 0x01 << 10 //+ Receive only. DFF CR1 = 0x01 << 11 //+ Data Frame Format. CRCNEXT CR1 = 0x01 << 12 //+ Transmit CRC next. CRCEN CR1 = 0x01 << 13 //+ Hardware CRC calculation enable. BIDIOE CR1 = 0x01 << 14 //+ Output enable in bidirectional mode. BIDIMODE CR1 = 0x01 << 15 //+ Bidirectional data mode enable. )
type CR2 ¶
type CR2 uint16
const ( RXDMAEN CR2 = 0x01 << 0 //+ Rx Buffer DMA Enable. TXDMAEN CR2 = 0x01 << 1 //+ Tx Buffer DMA Enable. SSOE CR2 = 0x01 << 2 //+ SS Output Enable. ERRIE CR2 = 0x01 << 5 //+ Error Interrupt Enable. RXNEIE CR2 = 0x01 << 6 //+ RX buffer Not Empty Interrupt Enable. TXEIE CR2 = 0x01 << 7 //+ Tx buffer Empty Interrupt Enable. )
type I2SCFGR ¶
type I2SCFGR uint16
const ( CHLEN I2SCFGR = 0x01 << 0 //+ Channel length (number of bits per audio channel). DATLEN I2SCFGR = 0x03 << 1 //+ DATLEN[1:0] bits (Data length to be transferred). DATLEN_0 I2SCFGR = 0x01 << 1 // Bit 0. DATLEN_1 I2SCFGR = 0x02 << 1 // Bit 1. CKPOL I2SCFGR = 0x01 << 3 //+ steady state clock polarity. I2SSTD I2SCFGR = 0x03 << 4 //+ I2SSTD[1:0] bits (I2S standard selection). I2SSTD_0 I2SCFGR = 0x01 << 4 // Bit 0. I2SSTD_1 I2SCFGR = 0x02 << 4 // Bit 1. PCMSYNC I2SCFGR = 0x01 << 7 //+ PCM frame synchronization. I2SCFG I2SCFGR = 0x03 << 8 //+ I2SCFG[1:0] bits (I2S configuration mode). I2SCFG_0 I2SCFGR = 0x01 << 8 // Bit 0. I2SCFG_1 I2SCFGR = 0x02 << 8 // Bit 1. I2SE I2SCFGR = 0x01 << 10 //+ I2S Enable. I2SMOD I2SCFGR = 0x01 << 11 //+ I2S mode selection. )
type SPI_Periph ¶
type SPI_Periph struct { CR1 RCR1 CR2 RCR2 SR RSR DR RDR CRCPR RCRCPR RXCRCR RRXCRCR TXCRCR RTXCRCR I2SCFGR RI2SCFGR I2SPR RI2SPR // contains filtered or unexported fields }
func (*SPI_Periph) BIDIMODE ¶
func (p *SPI_Periph) BIDIMODE() RMCR1
func (*SPI_Periph) BIDIOE ¶
func (p *SPI_Periph) BIDIOE() RMCR1
func (*SPI_Periph) BR ¶
func (p *SPI_Periph) BR() RMCR1
func (*SPI_Periph) BSY ¶
func (p *SPI_Periph) BSY() RMSR
func (*SPI_Periph) BaseAddr ¶
func (p *SPI_Periph) BaseAddr() uintptr
func (*SPI_Periph) CHLEN ¶
func (p *SPI_Periph) CHLEN() RMI2SCFGR
func (*SPI_Periph) CHSIDE ¶
func (p *SPI_Periph) CHSIDE() RMSR
func (*SPI_Periph) CKPOL ¶
func (p *SPI_Periph) CKPOL() RMI2SCFGR
func (*SPI_Periph) CPHA ¶
func (p *SPI_Periph) CPHA() RMCR1
func (*SPI_Periph) CPOL ¶
func (p *SPI_Periph) CPOL() RMCR1
func (*SPI_Periph) CRCEN ¶
func (p *SPI_Periph) CRCEN() RMCR1
func (*SPI_Periph) CRCERR ¶
func (p *SPI_Periph) CRCERR() RMSR
func (*SPI_Periph) CRCNEXT ¶
func (p *SPI_Periph) CRCNEXT() RMCR1
func (*SPI_Periph) CRCPOLY ¶
func (p *SPI_Periph) CRCPOLY() RMCRCPR
func (*SPI_Periph) DATLEN ¶
func (p *SPI_Periph) DATLEN() RMI2SCFGR
func (*SPI_Periph) DFF ¶
func (p *SPI_Periph) DFF() RMCR1
func (*SPI_Periph) ERRIE ¶
func (p *SPI_Periph) ERRIE() RMCR2
func (*SPI_Periph) I2SCFG ¶
func (p *SPI_Periph) I2SCFG() RMI2SCFGR
func (*SPI_Periph) I2SDIV ¶
func (p *SPI_Periph) I2SDIV() RMI2SPR
func (*SPI_Periph) I2SE ¶
func (p *SPI_Periph) I2SE() RMI2SCFGR
func (*SPI_Periph) I2SMOD ¶
func (p *SPI_Periph) I2SMOD() RMI2SCFGR
func (*SPI_Periph) I2SSTD ¶
func (p *SPI_Periph) I2SSTD() RMI2SCFGR
func (*SPI_Periph) LSBFIRST ¶
func (p *SPI_Periph) LSBFIRST() RMCR1
func (*SPI_Periph) MCKOE ¶
func (p *SPI_Periph) MCKOE() RMI2SPR
func (*SPI_Periph) MODF ¶
func (p *SPI_Periph) MODF() RMSR
func (*SPI_Periph) MSTR ¶
func (p *SPI_Periph) MSTR() RMCR1
func (*SPI_Periph) ODD ¶
func (p *SPI_Periph) ODD() RMI2SPR
func (*SPI_Periph) OVR ¶
func (p *SPI_Periph) OVR() RMSR
func (*SPI_Periph) PCMSYNC ¶
func (p *SPI_Periph) PCMSYNC() RMI2SCFGR
func (*SPI_Periph) RXCRC ¶
func (p *SPI_Periph) RXCRC() RMRXCRCR
func (*SPI_Periph) RXDMAEN ¶
func (p *SPI_Periph) RXDMAEN() RMCR2
func (*SPI_Periph) RXNE ¶
func (p *SPI_Periph) RXNE() RMSR
func (*SPI_Periph) RXNEIE ¶
func (p *SPI_Periph) RXNEIE() RMCR2
func (*SPI_Periph) RXONLY ¶
func (p *SPI_Periph) RXONLY() RMCR1
func (*SPI_Periph) SPE ¶
func (p *SPI_Periph) SPE() RMCR1
func (*SPI_Periph) SSI ¶
func (p *SPI_Periph) SSI() RMCR1
func (*SPI_Periph) SSM ¶
func (p *SPI_Periph) SSM() RMCR1
func (*SPI_Periph) SSOE ¶
func (p *SPI_Periph) SSOE() RMCR2
func (*SPI_Periph) TXCRC ¶
func (p *SPI_Periph) TXCRC() RMTXCRCR
func (*SPI_Periph) TXDMAEN ¶
func (p *SPI_Periph) TXDMAEN() RMCR2
func (*SPI_Periph) TXE ¶
func (p *SPI_Periph) TXE() RMSR
func (*SPI_Periph) TXEIE ¶
func (p *SPI_Periph) TXEIE() RMCR2
func (*SPI_Periph) UDR ¶
func (p *SPI_Periph) UDR() RMSR
type SR ¶
type SR uint16
const ( RXNE SR = 0x01 << 0 //+ Receive buffer Not Empty. TXE SR = 0x01 << 1 //+ Transmit buffer Empty. CHSIDE SR = 0x01 << 2 //+ Channel side. UDR SR = 0x01 << 3 //+ Underrun flag. CRCERR SR = 0x01 << 4 //+ CRC Error flag. MODF SR = 0x01 << 5 //+ Mode fault. OVR SR = 0x01 << 6 //+ Overrun flag. BSY SR = 0x01 << 7 //+ Busy flag. )
Click to show internal directories.
Click to hide internal directories.