AT90CAN32 Automotive Atmel Corporation, AT90CAN32 Automotive Datasheet - Page 187

no-image

AT90CAN32 Automotive

Manufacturer Part Number
AT90CAN32 Automotive
Description
Manufacturer
Atmel Corporation

Specifications of AT90CAN32 Automotive

Flash (kbytes)
32 Kbytes
Pin Count
64
Max. Operating Frequency
16 MHz
Cpu
8-bit AVR
# Of Touch Channels
16
Hardware Qtouch Acquisition
No
Max I/o Pins
53
Ext Interrupts
8
Usb Speed
No
Usb Interface
No
Spi
1
Twi (i2c)
1
Uart
2
Can
1
Graphic Lcd
No
Video Decoder
No
Camera Interface
No
Adc Channels
8
Adc Resolution (bits)
10
Adc Speed (ksps)
15
Analog Comparators
1
Resistive Touch Screen
No
Temp. Sensor
No
Crypto Engine
No
Sram (kbytes)
2
Eeprom (bytes)
1024
Self Program Memory
YES
Dram Memory
No
Nand Interface
No
Picopower
No
Temp. Range (deg C)
-40 to 125
I/o Supply Class
2.7 to 5.5
Operating Voltage (vcc)
2.7 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
4
Output Compare Channels
8
Input Capture Channels
2
Pwm Channels
7
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes
7682C–AUTO–04/08
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)
AT90CAN32/64/128
187

Related parts for AT90CAN32 Automotive