AT90CAN128-16MJ Atmel, AT90CAN128-16MJ Datasheet - Page 185

IC MCU AVR FLASH 128K 64-QFN

AT90CAN128-16MJ

Manufacturer Part Number
AT90CAN128-16MJ
Description
IC MCU AVR FLASH 128K 64-QFN
Manufacturer
Atmel
Series
AVR® 90CANr
Datasheets

Specifications of AT90CAN128-16MJ

Core Processor
AVR
Core Size
8-Bit
Speed
16MHz
Connectivity
CAN, EBI/EMI, I²C, SPI, UART/USART
Peripherals
Brown-out Detect/Reset, POR, PWM, WDT
Number Of I /o
53
Program Memory Size
128KB (128K x 8)
Program Memory Type
FLASH
Eeprom Size
4K x 8
Ram Size
4K x 8
Voltage - Supply (vcc/vdd)
2.7 V ~ 5.5 V
Data Converters
A/D 8x10b
Oscillator Type
Internal
Operating Temperature
-40°C ~ 85°C
Package / Case
64-VQFN Exposed Pad, 64-HVQFN, 64-SQFN, 64-DHVQFN
For Use With
ATDVK90CAN1 - KIT DEV FOR AT90CAN128 MCU
Lead Free Status / RoHS Status
Contains lead / RoHS non-compliant
17.7.2
17.7.3
7679H–CAN–08/08
Sending Frames with 9 Data Bit
Transmitter Flags and Interrupts
If 9-bit characters are used (UCSZn = 7), the ninth bit must be written to the TXB8n bit in UCS-
RnB before the low byte of the character is written to UDRn. The following code examples show
a transmit function that handles 9-bit characters. For the assembly code, the data to be sent is
assumed to be stored in registers R17:R16.
Notes:
The ninth bit can be used for indicating an address frame when using multi processor communi-
cation mode or for other protocol handling as for example synchronization.
The USARTn Transmitter has two flags that indicate its state: USART Data Register Empty
(UDREn) and Transmit Complete (TXCn). Both flags can be used for generating interrupts.
Assembly Code Example
C Code Example
USART0_Transmit:
void USART0_Transmit (unsigned int data)
{
}
; Wait for empty transmit buffer
lds
sbrs
rjmp
; Copy 9th bit from r17-bit0 to TXB80 via T-bit of SREG
lds
bst
bld
sts
; Put LSB data (r16) into buffer, sends the data
sts
ret
/* Wait for empty transmit buffer */
while ( !( UCSR0A & (1<<UDRE0)));
/* Copy 9th bit to TXB8 */
UCSR0B &= ~(1<<TXB80);
if ( data & 0x0100 )
/* Put data into buffer, sends the data */
UDR0 = data;
1. These transmit functions are written to be general functions. They can be optimized if the con-
2. The example code assumes that the part specific header file is included.
UCSR0B |= (1<<TXB80);
tents of the UCSR0B is static. For example, only the TXB80 bit of the UCSRB0 Register is
used after initialization.
r18, UCSR0A
r18, UDRE0
USART0_Transmit
r18, UCSR0B
r17, 0
r18, TXB80
UCSR0B, r18
UDR0, r16
(1)(2)
(1)(2)
AT90CAN32/64/128
185

Related parts for AT90CAN128-16MJ