Documentation
¶
Overview ¶
Package i2c provides interface to Inter Integrated Circuit Interface.
Peripheral: I2C_Periph Inter Integrated Circuit Interface. Instances:
I2C1 mmap.I2C1_BASE I2C2 mmap.I2C2_BASE
Registers:
0x00 16 CR1 0x04 16 CR2 0x08 16 OAR1 0x0C 16 OAR2 0x10 16 DR 0x14 16 SR1 0x18 16 SR2 0x1C 16 CCR 0x20 16 TRISE
Import:
stm32/o/f10x_md/mmap
Index ¶
- Constants
- Variables
- type CCR
- type CR1
- type CR2
- type DR
- type I2C_Periph
- func (p *I2C_Periph) ACK() RMCR1
- func (p *I2C_Periph) ADD0() RMOAR1
- func (p *I2C_Periph) ADD10() RMSR1
- func (p *I2C_Periph) ADD1_7() RMOAR1
- func (p *I2C_Periph) ADD8_9() RMOAR1
- func (p *I2C_Periph) ADDMODE() RMOAR1
- func (p *I2C_Periph) ADDR() RMSR1
- func (p *I2C_Periph) AF() RMSR1
- func (p *I2C_Periph) ALERT() RMCR1
- func (p *I2C_Periph) ARLO() RMSR1
- func (p *I2C_Periph) BERR() RMSR1
- func (p *I2C_Periph) BTF() RMSR1
- func (p *I2C_Periph) BUSY() RMSR2
- func (p *I2C_Periph) BaseAddr() uintptr
- func (p *I2C_Periph) CCRVAL() RMCCR
- func (p *I2C_Periph) DMAEN() RMCR2
- func (p *I2C_Periph) DUALF() RMSR2
- func (p *I2C_Periph) DUTY() RMCCR
- func (p *I2C_Periph) ENARP() RMCR1
- func (p *I2C_Periph) ENDUAL() RMOAR2
- func (p *I2C_Periph) ENGC() RMCR1
- func (p *I2C_Periph) ENPEC() RMCR1
- func (p *I2C_Periph) FREQ() RMCR2
- func (p *I2C_Periph) FS() RMCCR
- func (p *I2C_Periph) GENCALL() RMSR2
- func (p *I2C_Periph) ITBUFEN() RMCR2
- func (p *I2C_Periph) ITERREN() RMCR2
- func (p *I2C_Periph) ITEVTEN() RMCR2
- func (p *I2C_Periph) LAST() RMCR2
- func (p *I2C_Periph) MSL() RMSR2
- func (p *I2C_Periph) NOSTRETCH() RMCR1
- func (p *I2C_Periph) OVR() RMSR1
- func (p *I2C_Periph) PE() RMCR1
- func (p *I2C_Periph) PEC() RMCR1
- func (p *I2C_Periph) PECERR() RMSR1
- func (p *I2C_Periph) PECVAL() RMSR2
- func (p *I2C_Periph) POS() RMCR1
- func (p *I2C_Periph) RXNE() RMSR1
- func (p *I2C_Periph) SB() RMSR1
- func (p *I2C_Periph) SECADD1_7() RMOAR2
- func (p *I2C_Periph) SMBALERT() RMSR1
- func (p *I2C_Periph) SMBDEFAULT() RMSR2
- func (p *I2C_Periph) SMBHOST() RMSR2
- func (p *I2C_Periph) SMBTYPE() RMCR1
- func (p *I2C_Periph) SMBUS() RMCR1
- func (p *I2C_Periph) START() RMCR1
- func (p *I2C_Periph) STOP() RMCR1
- func (p *I2C_Periph) STOPF() RMSR1
- func (p *I2C_Periph) SWRST() RMCR1
- func (p *I2C_Periph) TIMEOUT() RMSR1
- func (p *I2C_Periph) TRA() RMSR2
- func (p *I2C_Periph) TXE() RMSR1
- type OAR1
- type OAR2
- type RCCR
- type RCR1
- type RCR2
- type RDR
- type RMCCR
- type RMCR1
- type RMCR2
- type RMDR
- type RMOAR1
- type RMOAR2
- type RMSR1
- type RMSR2
- type RMTRISE
- type ROAR1
- type ROAR2
- type RSR1
- type RSR2
- type RTRISE
- type SR1
- type SR2
- type TRISE
Constants ¶
View Source
const ( PEn = 0 SMBUSn = 1 SMBTYPEn = 3 ENARPn = 4 ENPECn = 5 ENGCn = 6 NOSTRETCHn = 7 STARTn = 8 STOPn = 9 ACKn = 10 POSn = 11 PECn = 12 ALERTn = 13 SWRSTn = 15 )
View Source
const ( FREQn = 0 ITERRENn = 8 ITEVTENn = 9 ITBUFENn = 10 DMAENn = 11 LASTn = 12 )
View Source
const ( ADD1_7n = 1 ADD8_9n = 8 ADD0n = 0 ADDMODEn = 15 )
View Source
const ( ENDUALn = 0 SECADD1_7n = 1 )
View Source
const ( SBn = 0 ADDRn = 1 BTFn = 2 ADD10n = 3 STOPFn = 4 RXNEn = 6 TXEn = 7 BERRn = 8 ARLOn = 9 AFn = 10 OVRn = 11 PECERRn = 12 TIMEOUTn = 14 SMBALERTn = 15 )
View Source
const ( MSLn = 0 BUSYn = 1 TRAn = 2 GENCALLn = 4 SMBDEFAULTn = 5 SMBHOSTn = 6 DUALFn = 7 PECVALn = 8 )
View Source
const ( CCRVALn = 0 DUTYn = 14 FSn = 15 )
Variables ¶
View Source
var I2C1 = (*I2C_Periph)(unsafe.Pointer(uintptr(mmap.I2C1_BASE)))
View Source
var I2C2 = (*I2C_Periph)(unsafe.Pointer(uintptr(mmap.I2C2_BASE)))
Functions ¶
This section is empty.
Types ¶
type CR1 ¶
type CR1 uint16
const ( PE CR1 = 0x01 << 0 //+ Peripheral Enable. SMBUS CR1 = 0x01 << 1 //+ SMBus Mode. SMBTYPE CR1 = 0x01 << 3 //+ SMBus Type. ENARP CR1 = 0x01 << 4 //+ ARP Enable. ENPEC CR1 = 0x01 << 5 //+ PEC Enable. ENGC CR1 = 0x01 << 6 //+ General Call Enable. NOSTRETCH CR1 = 0x01 << 7 //+ Clock Stretching Disable (Slave mode). START CR1 = 0x01 << 8 //+ Start Generation. STOP CR1 = 0x01 << 9 //+ Stop Generation. ACK CR1 = 0x01 << 10 //+ Acknowledge Enable. POS CR1 = 0x01 << 11 //+ Acknowledge/PEC Position (for data reception). PEC CR1 = 0x01 << 12 //+ Packet Error Checking. ALERT CR1 = 0x01 << 13 //+ SMBus Alert. SWRST CR1 = 0x01 << 15 //+ Software Reset. )
type CR2 ¶
type CR2 uint16
const ( FREQ CR2 = 0x3F << 0 //+ FREQ[5:0] bits (Peripheral Clock Frequency). FREQ_0 CR2 = 0x01 << 0 // Bit 0. FREQ_1 CR2 = 0x02 << 0 // Bit 1. FREQ_2 CR2 = 0x04 << 0 // Bit 2. FREQ_3 CR2 = 0x08 << 0 // Bit 3. FREQ_4 CR2 = 0x10 << 0 // Bit 4. FREQ_5 CR2 = 0x20 << 0 // Bit 5. ITERREN CR2 = 0x01 << 8 //+ Error Interrupt Enable. ITEVTEN CR2 = 0x01 << 9 //+ Event Interrupt Enable. ITBUFEN CR2 = 0x01 << 10 //+ Buffer Interrupt Enable. DMAEN CR2 = 0x01 << 11 //+ DMA Requests Enable. LAST CR2 = 0x01 << 12 //+ DMA Last Transfer. )
type I2C_Periph ¶
type I2C_Periph struct { CR1 RCR1 CR2 RCR2 OAR1 ROAR1 OAR2 ROAR2 DR RDR SR1 RSR1 SR2 RSR2 CCR RCCR TRISE RTRISE // contains filtered or unexported fields }
func (*I2C_Periph) ACK ¶
func (p *I2C_Periph) ACK() RMCR1
func (*I2C_Periph) ADD0 ¶
func (p *I2C_Periph) ADD0() RMOAR1
func (*I2C_Periph) ADD10 ¶
func (p *I2C_Periph) ADD10() RMSR1
func (*I2C_Periph) ADD1_7 ¶
func (p *I2C_Periph) ADD1_7() RMOAR1
func (*I2C_Periph) ADD8_9 ¶
func (p *I2C_Periph) ADD8_9() RMOAR1
func (*I2C_Periph) ADDMODE ¶
func (p *I2C_Periph) ADDMODE() RMOAR1
func (*I2C_Periph) ADDR ¶
func (p *I2C_Periph) ADDR() RMSR1
func (*I2C_Periph) AF ¶
func (p *I2C_Periph) AF() RMSR1
func (*I2C_Periph) ALERT ¶
func (p *I2C_Periph) ALERT() RMCR1
func (*I2C_Periph) ARLO ¶
func (p *I2C_Periph) ARLO() RMSR1
func (*I2C_Periph) BERR ¶
func (p *I2C_Periph) BERR() RMSR1
func (*I2C_Periph) BTF ¶
func (p *I2C_Periph) BTF() RMSR1
func (*I2C_Periph) BUSY ¶
func (p *I2C_Periph) BUSY() RMSR2
func (*I2C_Periph) BaseAddr ¶
func (p *I2C_Periph) BaseAddr() uintptr
func (*I2C_Periph) CCRVAL ¶
func (p *I2C_Periph) CCRVAL() RMCCR
func (*I2C_Periph) DMAEN ¶
func (p *I2C_Periph) DMAEN() RMCR2
func (*I2C_Periph) DUALF ¶
func (p *I2C_Periph) DUALF() RMSR2
func (*I2C_Periph) DUTY ¶
func (p *I2C_Periph) DUTY() RMCCR
func (*I2C_Periph) ENARP ¶
func (p *I2C_Periph) ENARP() RMCR1
func (*I2C_Periph) ENDUAL ¶
func (p *I2C_Periph) ENDUAL() RMOAR2
func (*I2C_Periph) ENGC ¶
func (p *I2C_Periph) ENGC() RMCR1
func (*I2C_Periph) ENPEC ¶
func (p *I2C_Periph) ENPEC() RMCR1
func (*I2C_Periph) FREQ ¶
func (p *I2C_Periph) FREQ() RMCR2
func (*I2C_Periph) FS ¶
func (p *I2C_Periph) FS() RMCCR
func (*I2C_Periph) GENCALL ¶
func (p *I2C_Periph) GENCALL() RMSR2
func (*I2C_Periph) ITBUFEN ¶
func (p *I2C_Periph) ITBUFEN() RMCR2
func (*I2C_Periph) ITERREN ¶
func (p *I2C_Periph) ITERREN() RMCR2
func (*I2C_Periph) ITEVTEN ¶
func (p *I2C_Periph) ITEVTEN() RMCR2
func (*I2C_Periph) LAST ¶
func (p *I2C_Periph) LAST() RMCR2
func (*I2C_Periph) MSL ¶
func (p *I2C_Periph) MSL() RMSR2
func (*I2C_Periph) NOSTRETCH ¶
func (p *I2C_Periph) NOSTRETCH() RMCR1
func (*I2C_Periph) OVR ¶
func (p *I2C_Periph) OVR() RMSR1
func (*I2C_Periph) PE ¶
func (p *I2C_Periph) PE() RMCR1
func (*I2C_Periph) PEC ¶
func (p *I2C_Periph) PEC() RMCR1
func (*I2C_Periph) PECERR ¶
func (p *I2C_Periph) PECERR() RMSR1
func (*I2C_Periph) PECVAL ¶
func (p *I2C_Periph) PECVAL() RMSR2
func (*I2C_Periph) POS ¶
func (p *I2C_Periph) POS() RMCR1
func (*I2C_Periph) RXNE ¶
func (p *I2C_Periph) RXNE() RMSR1
func (*I2C_Periph) SB ¶
func (p *I2C_Periph) SB() RMSR1
func (*I2C_Periph) SECADD1_7 ¶
func (p *I2C_Periph) SECADD1_7() RMOAR2
func (*I2C_Periph) SMBALERT ¶
func (p *I2C_Periph) SMBALERT() RMSR1
func (*I2C_Periph) SMBDEFAULT ¶
func (p *I2C_Periph) SMBDEFAULT() RMSR2
func (*I2C_Periph) SMBHOST ¶
func (p *I2C_Periph) SMBHOST() RMSR2
func (*I2C_Periph) SMBTYPE ¶
func (p *I2C_Periph) SMBTYPE() RMCR1
func (*I2C_Periph) SMBUS ¶
func (p *I2C_Periph) SMBUS() RMCR1
func (*I2C_Periph) START ¶
func (p *I2C_Periph) START() RMCR1
func (*I2C_Periph) STOP ¶
func (p *I2C_Periph) STOP() RMCR1
func (*I2C_Periph) STOPF ¶
func (p *I2C_Periph) STOPF() RMSR1
func (*I2C_Periph) SWRST ¶
func (p *I2C_Periph) SWRST() RMCR1
func (*I2C_Periph) TIMEOUT ¶
func (p *I2C_Periph) TIMEOUT() RMSR1
func (*I2C_Periph) TRA ¶
func (p *I2C_Periph) TRA() RMSR2
func (*I2C_Periph) TXE ¶
func (p *I2C_Periph) TXE() RMSR1
type OAR1 ¶
type OAR1 uint16
const ( ADD1_7 OAR1 = 0x7F << 1 //+ Interface Address. ADD8_9 OAR1 = 0x03 << 8 //+ Interface Address. ADD0 OAR1 = 0x01 << 0 //+ Bit 0. ADD1 OAR1 = 0x01 << 1 // Bit 1. ADD2 OAR1 = 0x02 << 1 // Bit 2. ADD3 OAR1 = 0x04 << 1 // Bit 3. ADD4 OAR1 = 0x08 << 1 // Bit 4. ADD5 OAR1 = 0x10 << 1 // Bit 5. ADD6 OAR1 = 0x20 << 1 // Bit 6. ADD7 OAR1 = 0x40 << 1 // Bit 7. ADD8 OAR1 = 0x01 << 8 // Bit 8. ADD9 OAR1 = 0x02 << 8 // Bit 9. ADDMODE OAR1 = 0x01 << 15 //+ Addressing Mode (Slave mode). )
type SR1 ¶
type SR1 uint16
const ( SB SR1 = 0x01 << 0 //+ Start Bit (Master mode). ADDR SR1 = 0x01 << 1 //+ Address sent (master mode)/matched (slave mode). BTF SR1 = 0x01 << 2 //+ Byte Transfer Finished. ADD10 SR1 = 0x01 << 3 //+ 10-bit header sent (Master mode). STOPF SR1 = 0x01 << 4 //+ Stop detection (Slave mode). RXNE SR1 = 0x01 << 6 //+ Data Register not Empty (receivers). TXE SR1 = 0x01 << 7 //+ Data Register Empty (transmitters). BERR SR1 = 0x01 << 8 //+ Bus Error. ARLO SR1 = 0x01 << 9 //+ Arbitration Lost (master mode). AF SR1 = 0x01 << 10 //+ Acknowledge Failure. OVR SR1 = 0x01 << 11 //+ Overrun/Underrun. PECERR SR1 = 0x01 << 12 //+ PEC Error in reception. TIMEOUT SR1 = 0x01 << 14 //+ Timeout or Tlow Error. SMBALERT SR1 = 0x01 << 15 //+ SMBus Alert. )
type SR2 ¶
type SR2 uint16
const ( MSL SR2 = 0x01 << 0 //+ Master/Slave. BUSY SR2 = 0x01 << 1 //+ Bus Busy. TRA SR2 = 0x01 << 2 //+ Transmitter/Receiver. GENCALL SR2 = 0x01 << 4 //+ General Call Address (Slave mode). SMBDEFAULT SR2 = 0x01 << 5 //+ SMBus Device Default Address (Slave mode). SMBHOST SR2 = 0x01 << 6 //+ SMBus Host Header (Slave mode). DUALF SR2 = 0x01 << 7 //+ Dual Flag (Slave mode). PECVAL SR2 = 0xFF << 8 //+ Packet Error Checking Register. )
Click to show internal directories.
Click to hide internal directories.