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

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
188
AT90CAN32/64/128
The following code example shows a simple USART0 receive function that handles both nine bit
characters and the status bits.
Note:
The receive function example reads all the I/O Registers into the Register File before any com-
putation is done. This gives an optimal receive buffer utilization since the buffer location read will
be free to accept new data as early as possible.
Assembly Code Example
C Code Example
USART0_Receive:
USART0_ReceiveNoError:
unsigned int USART0_Receive(void)
{
}
; Wait for data to be received
lds
sbrs
rjmp
; Get status and 9th bit, then data from buffer
lds
lds
; If error, return -1
andi
breq
ldi
ldi
; Filter the 9th bit, then return
lsr
andi
ret
unsigned char status, resh, resl;
/* Wait for data to be received */
while ( ! (UCSR0A & (1<<RXC0)));
/* Get status and 9th bit, then data */
/* from buffer */
status = UCSR0A;
resh = UCSR0B;
resl = UDR0;
/* If error, return -1 */
if ( status & (1<<FE0)|(1<<DOR0)|(1<<UPE0) )
/* Filter the 9th bit, then return */
resh = (resh >> 1) & 0x01;
return ((resh << 8) | resl);
1. The example code assumes that the part specific header file is included.
return -1;
r18, UCSR0A
r18, RXC0
USART0_Receive
r17, UCSR0B
r16, UDR0
r18, (1<<FE0) | (1<<DOR0) | (1<<UPE0)
USART0_ReceiveNoError
r17, HIGH(-1)
r16, LOW(-1)
r17
r17, 0x01
(1)
(1)
7679H–CAN–08/08

Related parts for AT90CAN128-16MJ