|
http://www.tankonyvtar.hu/hu/tartalom/tamop412A/2010-0017_41_mikrovezerlok_alkalmazasa/ch15s04.html
http://www.tankonyvtar.hu/hu/tartalom/tamop412A/2010-0017_41_mikrovezerlok_alkalmazasa/ch15s04.html |
|
ANSELB |
ANSB0<0> R/W-1 Analog Select bit
(RB0) Analóg bemenetnek beállító bit
- Digitális I/O bemenet
- Analóg bemenet (A/D-hoz)
ANSB1<1> R/W-1 (RB1) Analóg bemenetnek beállító bit
- Digitális I/O bemenet
- Analóg bemenet (A/D-hoz)
|
ANSB0<0> R/W-1 (RB0) Analog Select bit
- Digital input buffer enabled
- Digital input buffer disabled
ANSB0<1> R/W-1 (RB1) Analog Select bit
- Digital input buffer enabled
- Digital input buffer disabled
|
VISSZA |
INTCON |
PEIE/GIEL<6> R/W-0 Peripheral Interrupt Enable bit
Perifériék általi megszakítást engedélyező bit
Ha RCON<IPEN> = 0: Egyszintű (csak magas) megszakítás esetén
- Letiltja az összes megszakítást, melyeket a perifériák váltanak ki
- Engedélyez minden nem maszkolható perifériák által kiváltott megszakítást
Ha RCON<IPEN> IPEN = 1: Kétszintű megszakítás esetén
- Letiltja az összes alacsony szintű megszakítást
- Engedélyezi az összes alacsony szintű megszakítást
GIE/GIEH<7> R/W-0 A megszakításokat globálisan engedélyező bit
Ha RCON<IPEN> = 0: Egyszintű (csak magas) megszakítás esetén
- Letiltja az összes megszakítást, beleértve a perifériákét is
- Engedélyez minden nem maszkolható megszakítást
Ha RCON<IPEN> IPEN = 1: Kétszintű megszakítás esetén
- Letiltja az összes alacsony szintű megszakítást, beleértve a perifériákét is
- Engedélyez minden nem maszkolható megszakítást
|
PEIE/GIEL<6> R/W-0 Peripheral Interrupt Enable bit
When IPEN = 0:
- Disables all peripheral interrupts
- Enables all unmasked peripheral interrupts
When IPEN = 1:
- Disables all low priority interrupts
- Enables all low priority interrupts
GIE/GIEH<7> R/W-0 Global Interrupt Enable bit
When IPEN = 0:
- Disables all interrupts including peripherals
- Enables all unmasked interrupts
When IPEN = 1:
- Disables all interrupts including low priority
- Enables all high priority interrupts
|
VISSZA |
IPR1 |
SSPIP<3> R/W-1 Master Synchronous Serial Port Interrupt Priority bit
Master soros port általi megszakítás pioritását beállító bit
- Alacsony pioritású legyen a megszakítás
- Magas pioritású legyen a megszakítás
|
SSPIP<3> R/W-1 Master Synchronous Serial Port Interrupt Priority bit
- Low priority
- High priority
|
VISSZA |
IPR2 |
PERIPHERAL INTERRUPT PRIORITY REGISTER 2
PERIFÉRIA ÁLTAL KIVÁLTOTT MEGSZAKÍTÁS PIORITÁSÁT BEÁLLÍTÓ REGISZTER
BCLIP<3> R/W-1 MSSP busz ütközés esetén a megszakítás pioritását beállító bit
- Alacsony pioritású legyen a megszakítás
- Magas pioritású legyen a megszakítás
|
PERIPHERAL INTERRUPT PRIORITY REGISTER 2
BCLIP<3> R/W-1 MSSP Bus Collision Interrupt Priority bit
- Low priority
- High priority
|
VISSZA |
PIE1 |
PERIPHERAL INTERRUPT ENABLE (FLAG) REGISTER 1
SSPIE<3> R/W-0 Master Synchronous Serial Port Interrupt Enable bit
- Nem engedélyezi az MSSP által kiváltott megszakítást
- Engedélyezi az MSSP által kiváltott megszakítást
|
PERIPHERAL INTERRUPT ENABLE (FLAG) REGISTER 1
SSPIE<3> R/W-0 Master Synchronous Serial Port Interrupt Enable bit
- Disables the MSSP interrupt
- Enables the MSSP interrupt
|
VISSZA |
PIE2 |
PERIPHERAL INTERRUPT ENABLE (FLAG) REGISTER 2
BCLIE<3> R/W-0 Bus Collision Interrupt Enable bit
Master szinkron soros port (MSSP) busz ütközésesetén a megszakítást engedélyezői bit
- Nem engedélyezi (tiltja)
- Engedélyezi
|
PERIPHERAL INTERRUPT ENABLE (FLAG) REGISTER 2
BCLIE<3> R/W-0 MSSP Bus Collision Interrupt Enable bit
- Disabled
- Enabled
|
VISSZA |
PIR1 |
PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 1
SSPIF<3> R/W-0 Master Synchronous Serial Port Interrupt Flag bit
Mester szinkron soros port megszakításjelző bit
- Várakozik az adásra/vételre
- Jelzi, hogy az átvitel/vétel teljes (programból kell törölni)
|
PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 1
SSPIF<3> R/W-0 Master Synchronous Serial Port Interrupt Flag bit
- Waiting to transmit/receive
- The transmission/reception is complete (must be cleared by software)
|
VISSZA |
PIR2 |
PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 1
BCLIF<3> R/W-0 MSSP Bus Collision Interrupt Flag bit
MSSP busz ütközés esetén megszakítás jelző bit
- Nem történt bisz ütközés
- Jelzi, hogy busz ütközés történt (programból kell törölni)
|
PERIPHERAL INTERRUPT REQUEST (FLAG) REGISTER 1
BCLIF<3> R/W-0 MSSP Bus Collision Interrupt Flag bit
- No bus collision occurred
- A bus collision occurred (must be cleared by software)
|
VISSZA |
PMD1 |
PERIPHERAL MODULE DISABLE REGISTER 1
MSSPMD<6> R/W-0 MSSP Peripheral Module Disable Control bit
MSSP perifériás modult tiltó bit
- A modul engedélyezve van, az óraforrás csatlakoztatva van, a modul digitálisan működik
- A modul le van tiltva, az óraforrás lekapcsolódik, a modul nem dolgozik digitálisan
|
PERIPHERAL MODULE DISABLE REGISTER 1
MSSPMD<6> R/W-0 MSSP Peripheral Module Disable Control bit
- Module is enabled, clock source is connected, module draws digital power
- Module is disabled, clock source is disconnected, module does not draw digital power
|
VISSZA |
SSP1ADD
(SSPxADD) |
MSSP R/W-0 ADDRESS AND BAUD RATE REGISTER (I2C MODE)
Cím- és baudrata beállító regiszter
7 bites címzésű szolga üzemmódban:
ADD<0> Ebben az üzemmódban nem használt bit
ADD<7:1> 7 bites cím (szolga üzemmód)
10-Bit Slave mode — Least Significant Address byte:
bit 7-0 ADD<7:0>: Eight Least Significant bits of 10-bit address
10-Bit Slave mode — Most Significant Address byte:
bit 7-3 Not used: Unused for Most Significant Address byte. Bit state of this register is a “don’t care”. Bit
pattern sent by master is fixed by I2C specification and must be equal to ‘11110’. However, those bits are compared by hardware and are not affected by the value in this register.
bit 2-1 ADD<2:1>: Two Most Significant bits of 10-bit address
bit 0 Not used: Unused in this mode. Bit state is a “don’t care”.
Master mode:
ADD<7:0>: Baud rata beállító bitek, mely hatással van az SCL lábon jelentkező szinkronjel ferkvenciájára, mely a következő képlet alapján számolható ki: Szinkronjel fewrkvencia = ((ADD<7:0> + 1) *4)/FOSC
|
MSSP ADDRESS AND BAUD RATE REGISTER (I2C MODE)
7-Bit Slave mode:
bit 0 Not used: Unused in this mode. Bit state is a “don’t care”.
bit 7-1 ADD<7:1>: 7-bit address
10-Bit Slave mode — Least Significant Address byte:
bit 7-0 ADD<7:0>: Eight Least Significant bits of 10-bit address
10-Bit Slave mode — Most Significant Address byte:
bit 7-3 Not used: Unused for Most Significant Address byte. Bit state of this register is a “don’t care”. Bit
pattern sent by master is fixed by I2C specification and must be equal to ‘11110’. However, those bits are compared by hardware and are not affected by the value in this register.
bit 2-1 ADD<2:1>: Two Most Significant bits of 10-bit address
bit 0 Not used: Unused in this mode. Bit state is a “don’t care”.
Master mode:
bit 7-0 ADD<7:0>: Baud Rate Clock Divider bits SCL pin clock period = ((ADD<7:0> + 1) *4)/FOSC
|
VISSZA |
SSPBUF |
SSP1 <0:7> Fogadott adat tárolója/Elküldendő adat tárolója. Tehát az a regiszter, amibe bele kell írni az elküldendő adatokat, illetve ebből a regiszterből lehet kiolvasni a fogadott adatokat.
|
SSP1 Receive Buffer/Transmit Register |
VISSZA |
SSP1CON1 |
SSPx CONTROL REGISTER 1
SSPM<3:0> R/W-0: Synchronous Serial Port Mode Select bits
Master Szinkreon Soros Port üzemmódjának beállítása: |
0000 = |
SPI Master mode, clock = FOSC/4 |
0001 = |
SPI Master mode, clock = FOSC/16 |
0010 = |
SPI Master mode, clock = FOSC/64 |
0011 = |
SPI Master mode, clock = TMR2 output/2 |
0100 = |
SPI Slave mode, clock = SCK pin, SS pin control enabled |
0101 = |
SPI Slave mode, clock = SCK pin, SS pin control disabled, SS can be used as I/O pin |
0110 = |
I2C Szolga üzemmód, 7-bites címzés |
0111 = |
I2C Szolga üzemmód, 10-bites címzés |
1000 = |
I2C Master mód, órajel = FOSC/(4 * (SSPADD + 1)) |
1001 = |
Reserved |
1010 = |
SPI Master mode, clock = FOSC/(4 * (SSPxADD+1)) |
1011 = |
I2C Firmware vazérelt Master mód (Slave tétlen) |
1100 = |
Reserved |
1101 = |
Reserved |
1110 = |
I2C szolga üzemmód 7 bites címzéssel, és a START és STOP megszakítási kérelmek engedélyezésével |
1111 = |
I2C szolga üzemmód 10 bites címzéssel, és a START és STOP megszakítási kérelmek engedélyezésével |
CKP<4> R/W-0: Clock Polarity Select bit
SPI üzemmódban:
0 = Az órajel vezéreletlen állapotban alacsony értékű (aktív magas)
1 = Az órajel vezéreletlen állapotban magas értékű (aktív alacsony)
I2C szolga üzemmódban:
SCL felengedésének szabályozása
0 = Az órajelet alacsony szinten tartja (megnyújtja). Az adat beállási hosszabb idejének biztosításához használt. (clock strech))
1 = Engedélyezi a normál szinkronjelet
I2C mester üzemmódban:
Nincs használva ebben az üzemmódban
SSPEN<5> R/W-0: Synchronous Serial Port Enable bit
Master Szinkron Soros Port engedélyezése, vagyis SSP modul engedélyező bitje.
Mindkét üzemmódban ha engedélyezett, a lábakat megfelelően be kell állítani bemenetként vagy kimenetként. Én I2C-ben bemenetnek állítom mindkét lábat!
SPI üzemmódban:
- Disables serial port and configures these pins as I/O port pins
- Engedélyezi a soros kommunikációs portot, és konfigurálja hozzá az SCK, SDO, SDI, és !SS lábakat.(2)
I2C üzemmódban:
- Letiltja a soros kommunikációs portot és a hozzá tartozó lábakat általános I/O lábaknak konfigurálja.
- Engedélyezi a soros kommunikációs portot és konfigurálja hozzá az SDA, és SCL lábakat.(3)
SSPOV<6> R/C/HS-0 : Receive Overflow Indicator bit(1)
Vételi túlcsordulásjelző
In SPI mode:
- nincs túlcsordulás
- Új adat érkezett, mielőtt az SSPxBUF regiszterből az előző kiolvasásra került volna. Ebben az esetben az SSPxSR regiszter tartalma elvész, az SSPxBUF tartalma a továbbiakban nem aktualizálódik. Fogadó oldali túlcsordulás csak SPI szolga üzemmódban történet. Az SSPxBUF regiszter túlcsordulásának elkerülése végett a regisztert abban az esetben is mindig ki kell olvasni, ha a szolga csak adatot küld. SPI mester esetben nem léphet fel a fogadó oldali túlcsordulás esete, mivel minden új adat küldését/fogadását az SSPBUF írása kezdeményezi. Szoftveresen kell törölni!
In I2C mode:
- nincs túlfolyás
- Új byte érkezett, amikor még az SSPxBUF az előzőleg fogadott byte-ot tartalmazta, nem lett kiolvasva. Küldéskor az SSPOV állapota érdektelen. Szoftveresen kell törölni!
WCOL<7> R/C/HS-0 : Write Collision Detect bit
Írási ütközés (Write Collision) jelzőbit, vagyis ütközésdetektálás írásnál
Master üzemmódban:
- Nincs ütközés
- Írási ütközés történt, új adat került beírásra az SSPxBUF regiszterbe mielőtt az előzőleg beírt adat elküldése befejeződött volna. Szoftveresen kell törölni!
Slave mode:
- Nincs ütközés
- Írást kíséreltünk meg, amikor nem lehetett. Az SSPxBUF regiszter írása közben még nem továbbította az előző szót. (Programból kell törölni a hibajelzést)
Note :
- Master módban a túlcsordulási bit nincs beállítva, mivel minden egyes új vétel (és adatküldés) az SSPxBUF regiszterbe íródik. ??
- Ha engedélyezett, ezeket a lábakat megfelelően be kell állítani bemenetként vagy kimenetként.
- Ha engedélyezett, akkor az SDA és SCL lábakat bemenetként kell konfigurálni.
- A 0, 1 vagy 2 SSPxADD értékek I2C módban nem támogatottak.
|
SSPx CONTROL REGISTER 1
SSPM<3:0> R/W-0: Synchronous Serial Port Mode Select bits |
0000 = |
SPI Master mode, clock = FOSC/4 |
0001 = |
SPI Master mode, clock = FOSC/16 |
0010 = |
SPI Master mode, clock = FOSC/64 |
0011 = |
SPI Master mode, clock = TMR2 output/2 |
0100 = |
SPI Slave mode, clock = SCK pin, SS pin control enabled |
0101 = |
SPI Slave mode, clock = SCK pin, SS pin control disabled, SS can be used as I/O pin |
0110 = |
I2C Slave mode, 7-bit address |
0111 = |
I2C Slave mode, 10-bit address |
1000 = |
I2C Master mode, clock = FOSC/(4 * (SSPxADD+1))(4) |
1001 = |
Reserved |
1010 = |
SPI Master mode, clock = FOSC/(4 * (SSPxADD+1)) |
1011 = |
I2C firmware controlled Master mode (slave idle) |
1100 = |
Reserved |
1101 = |
Reserved |
1110 = |
I2C Slave mode, 7-bit address with Start and Stop bit interrupts enabled |
1111 = |
I2C Slave mode, 10-bit address with Start and Stop bit interrupts enabled |
CKP<4> R/W-0: Clock Polarity Select bit
In SPI mode:
0 = Idle state for clock is a low level
1 = Idle state for clock is a high level
In I2C Slave mode:
SCL release control
0 = Holds clock low (clock stretch). (Used to ensure data setup time.)
1 = Enable clock
In I2C Master mode:
Unused in this mode
SSPEN<5> R/W-0: Synchronous Serial Port Enable bit
In both modes, when enabled, these pins must be properly configured as input or output
In SPI mode:
- Disables serial port and configures these pins as I/O port pins
- Enables serial port and configures SCK, SDO, SDI and !SS as the source of the serial port pins(2)
In I2C mode:
- Disables serial port and configures these pins as I/O port pins
- Enables the serial port and configures the SDA and SCL pins as the source of the serial port pins(3)
SSPOV<6> R/C/HS-0 : Receive Overflow Indicator bit(1)
In SPI mode:
- No overflow
- A new byte is received while the SSPxBUF register is still holding the previous data. In case of overflow, the data in SSPxSR is lost. Overflow can only occur in Slave mode. In Slave mode, the user must read the SSPxBUF, even if only transmitting data, to avoid setting overflow. In Master mode, the overflow bit is not set since each new reception (and transmission) is initiated by writing to the SSPxBUF register (must be cleared in software).
In I2C mode:
- No overflow
- A byte is received while the SSPxBUF register is still holding the previous byte. SSPOV is a “don’t care” in
Transmit mode (must be cleared in software).
WCOL<7> R/C/HS-0 :
Master mode:
- No collision
- A write to the SSPxBUF register was attempted while the I2C conditions were not valid for a transmission to be started
Slave mode:
- No collision
- The SSPxBUF register is written while it is still transmitting the previous word (must be cleared in software)
Note :
- In Master mode, the overflow bit is not set since each new reception (and transmission) is initiated by writing to the SSPxBUF register.
- When enabled, these pins must be properly configured as input or output.
- When enabled, the SDA and SCL pins must be configured as inputs.
- SSPxADD values of 0, 1 or 2 are not supported for I2C mode.
|
VISSZA |
SSP1CON2 |
SSPx CONTROL REGISTER 2
SEN(1)<0> R/W/HC-0: Start Condition Enabled bit (in I2C Master mode only)
START feltétel engedélyezés, ha a modul I2C master (START szekvenciát indít az SDAx és SCLx lábakon. Hardveresen törlődik, amikor a szekvencia befejeződik.
In Master mode:
- START kondíció kikapcsolva
- START kondíciót kezdeményez az SDA, SCL lábakon. Automatikusan törli a hardver.
SEN - START feltétel engedélyezés, ha a modul I2C master (START szekvenciát indít az SDAx és SCLx lábakon. Hardveresen törlődik, amikor a szekvencia befejeződik. 0: START szekvencia nincs folyamatban)
- SCL órajel nyújtásának engedélyezése slave módban (1: engedélyezve, 0: letiltva)
Szolga üzemmódban:
- SCL órajel nyújtásának tiltása szolga módban
- SCL órajel nyújtásának engedélyezése szolga módban
RSEN(1)<1> R/W/HC-0: Repeated Start Condition Enabled bit (in I2C Master mode only)
RESTART jel kiadás engedélyezés, ha a modul I2C master (RESTART szekvenciát indít az SDAx és SCLx lábakon. Hardveresen törlődik, amikor a szekvencia befejeződik.
- RESTART szekvencia nincs folyamatban
- RESTART szekvenciát indít az SDAx és SCLxlábakon. Hardveresen törlődik, amikor a szekvencia befejeződik.
PEN(1)<2> R/W/HC-0: STOP jel kiadás engedélyezés, ha a modul I2C master
SCK Release Control:
- STOP szekvencia nincs folyamatban
- STOP szekvenciát indít az SDAx és SCLxlábakon. Hardveresen törlődik, amikor a szekvencia befejeződik.
RCEN(1)<3> R/W/HC-0: Receive Enable bit (in I2C Master mode only)
Vétel engedélyezés (Receive Enable) bit, ha a modul I2C master.
- Vétel nincs folyamatban illetve nincs engedélyezve
- Engedélyezi a vételt. Hardveresen törlődik, amikor a 8 bites vétel befejeződik I2C üzemmódban
ACKEN(1)<4> R/W/HC-0: Acknowledge Sequence Enable bit (in I2C Master mode only)
Nyugtázó szekvencia engedélyezés. Ha az I2C modul master módban működik, akkor ez a bit vételkor érvényesül.
Master vételi üzemmódban:
- Nyugtázó szekvencia nincs folyamatban)
- ACK szekvenciát indít az SDAx és SCLx lábakon és kiküldi az ACKDT bitet. Hardveresen törlődik, amikor a szekvencia befejeződik.
ACKDT<5> R/W-0 Acknowledge Data bit (in I2C mode only)
Nyugtázó adatbit. Master módban, vételkor érvényesül. Itt lehet megadni, hogy milyen választ küldjön a modul a slave eszköznek, vagyis az adatfogadás végén ez lesz a küldendő érték.
Vételi üzemmódban:
Value transmitted when the user initiates an Acknowledge sequence at the end of a receive
- Pozitív nyugtázás (ACK) küldési lehetőség (Kimeneten negatív jel lesz)
- Negatív nyugtázás (NAK) küldési lehetőség. (Kimeneten pozitív jel lesz)
(Több adatbájt fogadásakor az utolsó nyugtázására a mester tészéről ezt kell választani, ami egyben azt is közli, hogy nem fogad további adatokat)
ACKSTAT<6> R-0 Acknowledge Status bit (in I2C mode only)
Nyugtázás állapotjelző master üzemmódban adatküldés esetén
- Érkezett a szolgától (ACK) nyugtázó jel
- Nem érkezett a szolgától nyugtázó jel (ACK) a szolgától
GCEN<7> R/W-0 General Call Enable bit (in I2C Slave mode only)
Általános hívás (címzés) figyelés engedélyezése (csak I2C szolga üzemmódban)
- General call address disabled
- Megszakítási kérelem engedélyezve, ha az általános címet (0x00 vagy 00h) -át fogadta és belekerült az SSPxSR regiszterbe
Note 1:
Az ACKEN, RCEN, PEN, RSEN, SEN bitek esetében: Ha az I2C modul nincs készenléti üzemmódban, akkor ez a bit nem állítható be (nincs várakozás), és az SSPxBUF nem írható (vagy az SSPxBUF-ba az írán nem engedélyezett) |
SSPx CONTROL REGISTER 2
SEN(1)<0> R/W/HC-0: Start Condition Enabled bit (in I2C Master mode only)
In Master mode:
- Start condition Idle
- Initiate Start condition on SDA and SCL pins. Automatically cleared by hardware.
In Slave mode:
- Clock stretching is disabled
- Clock stretching is enabled for both slave transmit and slave receive (stretch enabled)
RSEN(1)<1> R/W/HC-0: Repeated Start Condition Enabled bit (in I2C Master mode only)
- Repeated Start condition Idle
- Initiate Repeated Start condition on SDA and SCL pins. Automatically cleared by hardware.
PEN(1)<2> R/W/HC-0: Stop Condition Enable bit (in I2C Master mode only)
SCK Release Control:
- Stop condition Idle
- Initiate Stop condition on SDA and SCL pins. Automatically cleared by hardware.
RCEN(1)<3> R/W/HC-0: Receive Enable bit (in I2C Master mode only)
- Receive idle
- Enables Receive mode for I2C
ACKEN(1)<4> R/W/HC-0: Acknowledge Sequence Enable bit (in I2C Master mode only)
In Master Receive mode:
- Acknowledge sequence idle
- Initiate Acknowledge sequence on SDA and SCL pins, and transmit ACKDT data bit. Automatically cleared by hardware
ACKDT<5> R/W-0 Acknowledge Data bit (in I2C mode only)
In Receive mode:
Value transmitted when the user initiates an Acknowledge sequence at the end of a receive
- Acknowledge
- Not Acknowledge
ACKSTAT<6> R-0 Acknowledge Status bit (in I2C mode only)
- Acknowledge was received
- Acknowledge was not received
GCEN<7> R/W-0 General Call Enable bit (in I2C Slave mode only)
- General call address disabled
- Enable interrupt when a general call address (0x00 or 00h) is received in the SSPxSR
Note 1:
For bits ACKEN, RCEN, PEN, RSEN, SEN: If the I2C module is not in the Idle mode, this bit may not be set (no spooling) and the SSPxBUF may not be written (or writes to the SSPxBUF are disabled)
|
VISSZA |
SSP1CON3 |
SSPx CONTROL REGISTER 3
DHEN<0> R/W-0 Data Hold Enable bit (I2C Slave mode only)
- Data holding is disabled
- Following the 8th falling edge of SCL for a eceived data byte; slave hardware clears the CKP bit of the SSPxCON1 register and SCL is held low.
AHEN<1> R/W-0 Address Hold Enable bit (I2C Slave mode only)
- Address holding is disabled
- Following the 8th falling edge of SCL for a matching received address byte; CKP bit of the SSPxCON1 register will be cleared and the SCL will be held low.
SBCDE<2> R/W-0 Slave Mode Bus Collision Detect Enable bit (I2C Slave mode only)
If on the rising edge of SCL, SDA is sampled low when the module is outputting a high state, the BCLIF
bit of the PIR2 register is set, and bus goes idle
- Slave bus collision interrupts are disabled
- Enable slave bus collision interrupts
SDAHT<3> R/W-0 SDA Hold Time Selection bit (I2C mode only)
- Minimum of 100 ns hold time on SDA after the falling edge of SCL
- Minimum of 300 ns hold time on SDA after the falling edge of SCL
BOEN<4> R/W-0 Buffer Overwrite Enable bit
In SPI Slave mode:(1)
- If new byte is received with BF bit of the SSPxSTAT register already set, SSPOV bit of the SSPxCON1 register is set, and the buffer is not updated
- SSPxBUF updates every time that a new data byte is shifted in ignoring the BF bit
In I2C Master mode:
This bit is ignored.
In I2C Slave mode:
- SSPxBUF is only updated when SSPOV is clear
- SSPxBUF is updated and !ACK is generated for a received address/data byte, ignoring the state of the SSPOV bit only if the BF bit = 0.
SCIE<5> R/W-0 Start Condition Interrupt Enable bit (I2C mode only)
- Start detection interrupts are disabled(2)
- Enable interrupt on detection of Start or Restart conditions
PCIE<6> R/W-0 Stop Condition Interrupt Enable bit (I2C mode only)
- Stop detection interrupts are disabled(2)
- Enable interrupt on detection of Stop condition
ACKTIM<7> R-0 Acknowledge Time Status bit (I2C mode only)(3)
- Not an Acknowledge sequence, cleared on 9 th rising edge of SCL clock
- Indicates the I2C bus is in an Acknowledge sequence, set on 8 th falling edge of SCL clock
Note :
- For daisy-chained SPI operation; allows the user to ignore all but the last received byte. SSPOV is still set when a new byte is received and BF = 1, but hardware continues to write the most recent byte to SSPxBUF.
- This bit has no effect in Slave modes for which Start and Stop condition detection is explicitly listed as enabled.
- The ACKTIM Status bit is active only when the AHEN bit or DHEN bit is set.
|
SSPx CONTROL REGISTER 3
DHEN<0> R/W-0 Data Hold Enable bit (I2C Slave mode only)
- Data holding is disabled
- Following the 8th falling edge of SCL for a eceived data byte; slave hardware clears the CKP bit of the SSPxCON1 register and SCL is held low.
AHEN<1> R/W-0 Address Hold Enable bit (I2C Slave mode only)
- Address holding is disabled
- Following the 8th falling edge of SCL for a matching received address byte; CKP bit of the SSPxCON1 register will be cleared and the SCL will be held low.
SBCDE<2> R/W-0 Slave Mode Bus Collision Detect Enable bit (I2C Slave mode only)
If on the rising edge of SCL, SDA is sampled low when the module is outputting a high state, the BCLIF
bit of the PIR2 register is set, and bus goes idle
- Slave bus collision interrupts are disabled
- Enable slave bus collision interrupts
SDAHT<3> R/W-0 SDA Hold Time Selection bit (I2C mode only)
- Minimum of 100 ns hold time on SDA after the falling edge of SCL
- Minimum of 300 ns hold time on SDA after the falling edge of SCL
BOEN<4> R/W-0 Buffer Overwrite Enable bit
In SPI Slave mode:(1)
- If new byte is received with BF bit of the SSPxSTAT register already set, SSPOV bit of the SSPxCON1 register is set, and the buffer is not updated
- SSPxBUF updates every time that a new data byte is shifted in ignoring the BF bit
In I2C Master mode:
This bit is ignored.
In I2C Slave mode:
- SSPxBUF is only updated when SSPOV is clear
- SSPxBUF is updated and !ACK is generated for a received address/data byte, ignoring the state of the SSPOV bit only if the BF bit = 0.
SCIE<5> R/W-0 Start Condition Interrupt Enable bit (I2C mode only)
- Start detection interrupts are disabled(2)
- Enable interrupt on detection of Start or Restart conditions
PCIE<6> R/W-0 Stop Condition Interrupt Enable bit (I2C mode only)
- Stop detection interrupts are disabled(2)
- Enable interrupt on detection of Stop condition
ACKTIM<7> R-0 Acknowledge Time Status bit (I2C mode only)(3)
- Not an Acknowledge sequence, cleared on 9 th rising edge of SCL clock
- Indicates the I2C bus is in an Acknowledge sequence, set on 8 th falling edge of SCL clock
Note :
- For daisy-chained SPI operation; allows the user to ignore all but the last received byte. SSPOV is still set when a new byte is received and BF = 1, but hardware continues to write the most recent byte to SSPxBUF.
- This bit has no effect in Slave modes for which Start and Stop condition detection is explicitly listed as enabled.
- The ACKTIM Status bit is active only when the AHEN bit or DHEN bit is set.
|
VISSZA |
SSP1MSK |
SSPxMSK<7:0>: SSPx MASK REGISTER
<MSK7:MSK0>
MSK<0>: Mask bit for I2C Slave mode, 10-bit Address
I2C Slave mode, 10-bit address (SSPxM<3:0> = 0111 or 1111):
- The received address bit 0 is not used to detect I2C address match I2C Slave mode, 7-bit address, the bit is ignored
- The received address bit 0 is compared to SSPxADD<0> to detect I2C address match
MSK<7:1>: Mask bits
- The received address bit n is not used to detect I2C address match
- The received address bit n is compared to SSPxADD<n> to detect I2C address match
|
SSPxMSK<7:0>: SSPx MASK REGISTER
<MSK7:MSK0>
MSK<0>: Mask bit for I2C Slave mode, 10-bit Address
I2C Slave mode, 10-bit address (SSPxM<3:0> = 0111 or 1111):
- The received address bit 0 is not used to detect I2C address match I2C Slave mode, 7-bit address, the bit is ignored
- The received address bit 0 is compared to SSPxADD<0> to detect I2C address match
MSK<7:1>: Mask bits
- The received address bit n is not used to detect I2C address match
- The received address bit n is compared to SSPxADD<n> to detect I2C address match
|
VISSZA |
SSP1STAT |
SSPxSTAT: SSPx STATUS REGISTER
BF<0> R-0 Buffer Full Status bit
BF: buffertároló megtelését (Buffer Full) jelző bit
Fogadáskor (SPI and I2C modban):
- Nincs kész az adatfogadás, SSPxBUF üres
- jelzi, hogy kész az adatfogadás, az SSPxBUF regiszter megtelt
Küldéskor (csak I2C üzemmódban):
- jelzi, hogy az adatküldés elkészült (nem tartalmazza az !ACK és Stop biteket), az SSPxBUF regiszter kiürült.
- Jelzi, hogy a küldés folyamatban van (nem tartalmazza az !ACK és Stop biteket), az SSPxBUF regiszter tele van.
(1: az adatbuffer megtelt/foglalt, 0: az adatbuffer üres)
UA<1> R-0 : Update Address bit (10-bit I2C mode only)
Címfrissítés jelzőbit, csak 10 bites I2C üzemmódban.
- Nem kell frissíteni a címet
- Jelzi, hogy frissíteni kell a címet az SSPxADD regiszterben
R/!W<2> R-0 : Read/!Write bit information (I2C mode only)
Írás, vagy olvasás választó bit (csak I2C üzemmódban)
Ez a jelzőbit tartalmazza az R /! W bit információt a cím után <0>. bitként, ami időileg is utolsóként kerül az adatvonalra.
I2C Szolga üzemmódban:
- Írás
- Olvasás
I2C Mester üzemmódban:
- A adatküldés nincs folyamatban. Ha az SEN, RSEN, PEN, RCEN vagy ACKEN jelzi, akkor az MSSP készenléti állapotban van.
Nincs adatküldés folyamatban.
- Adatküldés folyamatban
S<3> R-0 : Start bit. Akkor állítódik be, ha START vagy RESTART feltételt detektált a hardver, s akkor törlődik, ha STOP feltételt detektált.
- utoljára nem START feltétel volt
- utoljára START vagy RESTART feltétel volt
P<4> R-0 : Stop bit
(Csak I2C üzemmódban. Ha P=0, akkor az MSSP modul nincs engedélyezve, SSPxEN=0)
Stop bit. Akkor állítódik be, ha STOP feltételt detektált, s akkor törlődik, ha START vagy RESTART feltételt detektált a hardver.
- Utoljára nem STOP feltétel volt
- utoljára STOP feltétel volt
D/!A<5> R-0 : Data/!Address bit (I2C mode only)
Data/Address (adat/!cím) bit (ha I2C slave módban vagyunk). Hardveresen állítódik, csak olvasható bit.
- az utoljára vett bájt cím volt
- Az utoljára vett bájt adat volt
CKE<6> R/W-0 : SPI Clock Edge Select bit (SPI mode only)
SMBus kompatibilis bemeneti mód engedélyezése
SPI Mester vagy Szolga üzemmodban:
- Az adat az órajel (SCK) lefutó élére továbbítódik
- Az adat az órajel (SCK) felfutó élére továbbítódik
Csak I2C üzemmódban:
- SMBus kompatibilis bemeneti mód tiltása
- SMBus kompatibilis bemeneti mód engedélyezva
SMP<7> R/W-0 : SPI Data Input Sample bit
SPI adatolvasás mintavételezésének beállítása
1: engedélyezve, 0: letiltva
SPI mester üzemmodban:
- Az adatolvasás az adatkimeneti idő közepén kerül mintavételezésre
- Az adatolvasás az adatkimeneti idő végén kerül mintavételezésre
SPI szolga üzemmódban:
SMP must be cleared when SPI is used in Slave mode In I2C Master or Slave mode:
Maximális jelváltozási sebesség (slew rate) korlátozása (1: engedélyezve, 0: letiltva)
- Nagy sebességű üzemmódban (400 kHz) Slew rate control enabled for high speed mode (400 kHz)
- Az elmosódásszabályozás le van tiltva a normál sebességű üzemmódban (100 kHz és 1 MHz) Slew rate control disabled for standard speed mode (100 kHz and 1 MHz
Maximális jelváltozási sebesség (slew rate) korlátozása (1: engedélyezve, 0: letiltva)
|
SSPxSTAT: SSPx STATUS REGISTER
BF<0> R-0 Buffer Full Status bit
Receive (SPI and I2C modes):
- Receive not complete, SSPxBUF is empty
- Receive complete, SSPxBUF is full
Transmit (I2C mode only):
- Data transmit complete (does not include the !ACK and Stop bits), SSPxBUF is empty
- Data transmit in progress (does not include the !ACK and Stop bits), SSPxBUF is full
UA<1> R-0 : Update Address bit (10-bit I2C mode only)
- Address does not need to be updated
- Indicates that the user needs to update the address in the SSPxADD register
R/!W<2> R-0 : Read/!Write bit information (I2C mode only)
This bit holds the R/!W bit information following the last address match. This bit is only valid from the address match to the next Start bit, Stop bit, or not ACK bit.
In I2C Slave mode:
- Write
- Read
In I2C Master mode:
- Transmit is not in progress OR-ing this bit with SEN, RSEN, PEN, RCEN or ACKEN will indicate if the MSSP is in Idle mode.
- Transmit is in progress
S<3> R-0 : Start bit (I2C mode only. This bit is cleared when the MSSP module is disabled, SSPxEN is cleared.)
- Start bit was not detected last
- Indicates that a Start bit has been detected last (this bit is ‘0’ on Reset)
P<4> R-0 : Stop bit
(I2C mode only. This bit is cleared when the MSSP module is disabled, SSPxEN is cleared.)
- Stop bit was not detected last
- Indicates that a Stop bit has been detected last (this bit is ‘0’ on Reset)
D/!A<5> R-0 : Data/!Address bit (I2C mode only)
- Indicates that the last byte received or transmitted was address
- Indicates that the last byte received or transmitted was data
CKE<6> R/W-0 : SPI Clock Edge Select bit (SPI mode only)
In SPI Master or Slave mode:
- Transmit occurs on transition from Idle to active clock state
- Transmit occurs on transition from active to Idle clock state
In I2C mode only:
- Disable SMBus specific inputs
- Enable input logic so that thresholds are compliant with SMBus specification
SMP<7> R/W-0 : SPI Data Input Sample bit
SPI Master mode:
- Input data sampled at middle of data output time
- Input data sampled at end of data output time
SPI Slave mode:
SMP must be cleared when SPI is used in Slave mode In I2C Master or Slave mode:
- Slew rate control enabled for high speed mode (400 kHz)
- Slew rate control disabled for standard speed mode (100 kHz and 1 MHz)
|
VISSZA |
TRISB |
TRISB: PORTB TRI-STATE REGISTER
TRISB0<0> R/W-1: PORTB Tri-State Control bit
- PORTB0 kimenet legyen
- PORTB0 bemenet legyen (I2C esetén ezt kell beállítani)
TRISB1<1> R/W-1: PORTB Tri-State Control bit
- PORTB1 kimenet legyen
- PORTB bemenet legyen (I2C esetén ezt kell beállítani)
|
TRISB: PORTB TRI-STATE REGISTER
TRISB0<0> R/W-1: PORTB Tri-State Control bit
- PORTB pin configured as an output
- PORTB pin configured as an input (tri-stated)
TRISB1<1> R/W-1: PORTB Tri-State Control bit
- PORTB pin configured as an output
- PORTB pin configured as an input (tri-stated)
|
VISSZA |
|
|
|