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

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
7679H–CAN–08/08
1
2
3
4
5
6
7
Assembly Code Example
ldi
sts
wait1:
lds
sbrs
rjmp
lds
andi
cpi
brne
ldi
sts
ldi
sts
wait2:
lds
sbrs
rjmp
lds
andi
cpi
brne
ldi
sts
ldi
sts
wait3:
lds
sbrs
rjmp
lds
andi
cpi
brne
ldi
sts
r16, (1<<TWINT)|
TWCR, r16
r16,TWCR
r16,TWINT
wait1
r16,TWSR
r16, 0xF8
r16, START
ERROR
r16, SLA_W
TWDR, r16
r16, (1<<TWINT)|
TWCR, r16
r16,TWCR
r16,TWINT
wait2
r16,TWSR
r16, 0xF8
r16, MT_SLA_ACK
ERROR
r16, DATA
TWDR, r16
r16, (1<<TWINT)|
TWCR, r16
r16,TWCR
r16,TWINT
wait3
r16,TWSR
r16, 0xF8
r16, MT_DATA_ACK
ERROR
r16, (1<<TWINT)|
TWCR, r16
(1<<TWSTA)|
(1<<TWEN)
(1<<TWEN)
(1<<TWEN)
(1<<TWEN) |
(1<<TWSTO)
In the following an assembly and C implementation of the example is given. Note that the code
below assumes that several definitions have been made for example by using include-files.
• When the TWINT flag is set, the user must update all TWI Registers with the value relevant
• After all TWI Register updates and other pending application software tasks have been
for the next TWI bus cycle. As an example, TWDR must be loaded with the value to be
transmitted in the next bus cycle.
completed, TWCR is written. When writing TWCR, the TWINT bit should be set. Writing a
one to TWINT clears the flag. The TWI will then commence executing whatever operation
was specified by the TWCR setting.
C Example
TWCR = (1<<TWINT)|
while (!(TWCR & (1<<TWINT)));
if ((TWSR & 0xF8)!= START)
TWDR = SLA_W;
TWCR = (1<<TWINT)|(1<<TWEN);
while (!(TWCR & (1<<TWINT)));
if ((TWSR & 0xF8)!= MT_SLA_ACK)
TWDR = DATA;
TWCR = (1<<TWINT)|(1<<TWEN);
while (!(TWCR & (1<<TWINT)));
if ((TWSR & 0xF8)!=MT_DATA_ACK)
TWCR = (1<<TWINT)|
ERROR();
ERROR();
ERROR();
(1<<TWSTA)|
(1<<TWEN)
(1<<TWEN) |
(1<<TWSTO);
Comments
Send START condition
Wait for TWINT flag set. This indicates that
the START condition has been transmitted
Check value of TWI Status Register. Mask
prescaler bits. If status different from START
go to ERROR
Load SLA_W into TWDR Register. Clear
TWINT bit in TWCR to start transmission of
address
Wait for TWINT flag set. This indicates that
the SLA+W has been transmitted, and
ACK/NACK has been received.
Check value of TWI Status Register. Mask
prescaler bits. If status different from
MT_SLA_ACK go to ERROR
Load DATA into TWDR Register. Clear TWINT
bit in TWCR to start transmission of data
Wait for TWINT flag set. This indicates that
the DATA has been transmitted, and
ACK/NACK has been received.
Check value of TWI Status Register. Mask
prescaler bits. If status different from
MT_DATA_ACK go to ERROR
Transmit STOP condition
AT90CAN32/64/128
217

Related parts for AT90CAN64-16AUR