DSPIC30F3011 Microchip Technology Inc., DSPIC30F3011 Datasheet - Page 120
![no-image](/images/manufacturer_photos/0/4/440/microchip_technology_inc__sml.jpg)
DSPIC30F3011
Manufacturer Part Number
DSPIC30F3011
Description
Dspic30f3010/3011 Enhanced Flash 16-bit Digital Signal Controller
Manufacturer
Microchip Technology Inc.
Datasheet
1.DSPIC30F3011.pdf
(220 pages)
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
DSPIC30F3011-20E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Company:
Part Number:
DSPIC30F3011-20I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
DSPIC30F3011-30I/ML
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
Company:
Part Number:
DSPIC30F3011-30I/P
Manufacturer:
Microchip
Quantity:
927
Company:
Part Number:
DSPIC30F3011-30I/PT
Manufacturer:
MICROCHIP
Quantity:
316
Company:
Part Number:
DSPIC30F3011-30I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
DSPIC30F3011-30I/PT
Manufacturer:
MICROCHI
Quantity:
20 000
Company:
Part Number:
DSPIC30F3011T-20E/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Company:
Part Number:
DSPIC30F3011T-20I/PT
Manufacturer:
Microchip Technology
Quantity:
10 000
Part Number:
DSPIC30F3011T-30I/PT
Manufacturer:
MICROCHIP/微芯
Quantity:
20 000
dsPIC30F3010/3011
18.3.4
The transmit interrupt flag (U1TXIF or U2TXIF) is
located in the corresponding Interrupt Flag register.
The transmitter generates an edge to set the UxTXIF
bit. The condition for generating the interrupt depends
on UTXISEL control bit:
a)
b)
Switching between the two interrupt modes during
operation is possible and sometimes offers more
flexibility.
18.3.5
Setting the UTXBRK bit (UxSTA<11>) will cause the
UxTX line to be driven to logic ‘0’. The UTXBRK bit
overrides all transmission activity. Therefore, the user
should generally wait for the transmitter to be Idle
before setting UTXBRK.
To send a break character, the UTXBRK bit must be
set by software and must remain set for a minimum of
13 baud clock cycles. The UTXBRK bit is then cleared
by software to generate stop bits. The user must wait
for a duration of at least one or two baud clock cycles
in order to ensure a valid stop bit(s) before reloading
the UxTXB or starting other transmitter activity. Trans-
mission of a break character does not generate a
transmit interrupt.
18.4
18.4.1
The following steps must be performed while receiving
8-bit or 9-bit data:
1.
2.
3.
4.
5.
DS70141D-page 118
If UTXISEL = 0, an interrupt is generated when
a word is transferred from the Transmit buffer to
the Transmit Shift register (UxTSR). This implies
that the transmit buffer has at least one empty
word.
If UTXISEL = 1, an interrupt is generated when
a word is transferred from the Transmit buffer to
the Transmit Shift register (UxTSR) and the
Transmit buffer is empty.
Set up the UART (see Section 18.3.1 and
Section 18.3.2).
Enable the UART (see Section 18.3.1 and
Section 18.3.2).
A receive interrupt will be generated when one
or more data words have been received,
depending on the receive interrupt settings
specified by the URXISEL bits (UxSTA<7:6>).
Read the OERR bit to determine if an overrun
error has occurred. The OERR bit must be reset
in software.
Read the received data from UxRXREG. The act
of reading UxRXREG will move the next word to
the top of the receive FIFO, and the PERR and
FERR values will be updated.
Receiving Data
TRANSMIT INTERRUPT
TRANSMIT BREAK
RECEIVING IN 8-BIT OR 9-BIT DATA
MODE
Confidential
18.4.2
The receive buffer is 4 words deep. Including the
Receive Shift register (UxRSR), the user effectively
has a 5-word deep FIFO buffer.
URXDA (UxSTA<0>) = 1 indicates that the receive
buffer has data available. URXDA = 0 implies that the
buffer is empty. If a user attempts to read an empty
buffer, the old values in the buffer will be read and no
data shift will occur within the FIFO.
The FIFO is reset during any device Reset. It is not
affected when the device enters or wakes up from a
Power Saving mode.
18.4.3
The receive interrupt flag (U1RXIF or U2RXIF) can be
read from the corresponding Interrupt Flag register.
The interrupt flag is set by an edge generated by the
receiver. The condition for setting the receive interrupt
flag depends on the settings specified by the
URXISEL<1:0> (UxSTA<7:6>) control bits.
a)
b)
c)
Switching between the Interrupt modes during opera-
tion is possible, though generally not advisable during
normal operation.
18.5
18.5.1
The OERR bit (UxSTA<1>) is set if all of the following
conditions occur:
a)
b)
c)
Once OERR is set, no further data is shifted in UxRSR
(until the OERR bit is cleared in software or a Reset
occurs). The data held in UxRSR and UxRXREG
remains valid.
If URXISEL<1:0> = 00 or 01, an interrupt is
generated every time a data word is transferred
from the Receive Shift register (UxRSR) to the
receive buffer. There may be one or more
characters in the receive buffer.
If URXISEL<1:0> = 10, an interrupt is generated
when a word is transferred from the Receive
Shift register (UxRSR) to the receive buffer,
which, as a result of the transfer, contains 3
characters.
If URXISEL<1:0> = 11, an interrupt is set when
a word is transferred from the Receive Shift
register (UxRSR) to the receive buffer, which, as
a result of the transfer, contains 4 characters
(i.e., becomes full).
The receive buffer is full.
The Receive Shift register is full, but unable to
transfer the character to the receive buffer.
The Stop bit of the character in the UxRSR is
detected, indicating that the UxRSR needs to
transfer the character to the buffer.
Reception Error Handling
RECEIVE BUFFER (U
RECEIVE INTERRUPT
RECEIVE BUFFER OVERRUN
ERROR (OERR BIT)
© 2007 Microchip Technology Inc.
X
RXB)