AT90CAN64-16AUR Atmel, AT90CAN64-16AUR Datasheet - Page 185

MCU AVR 64K FLASH 16MHZ 64TQFP

AT90CAN64-16AUR

Manufacturer Part Number
AT90CAN64-16AUR
Description
MCU AVR 64K FLASH 16MHZ 64TQFP
Manufacturer
Atmel
Series
AVR® 90CANr
Datasheet

Specifications of AT90CAN64-16AUR

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
64KB (64K x 8)
Program Memory Type
FLASH
Eeprom Size
2K 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-TQFP, 64-VQFP
Data Bus Width
8 bit
Data Ram Size
4 KB
Mounting Style
SMD/SMT
Lead Free Status / RoHS Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
AT90CAN64-16AUR
Manufacturer:
Atmel
Quantity:
10 000
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 AT90CAN64-16AUR