ATmega128__UART1

VFX info at vfx.hu
Tue Apr 29 17:31:23 CEST 2003


Hali!


> No, a PIC/AVR polemia kapcsan ugy lattam az AVR-t erdemes tanulo eszkoznek
> valasztani.
> De, ez sem leanyalom pl. az OUT nem megy az UART1 register-el
> esete...........
> 
> Merthogy:
> Probalkozom az ATmega128 UART1 belakasaval...

Valszeg ott a hiba, hogy az UART1 uj az AVR csaladon belul igy az UART1
regiszterei nem IO teruleten vannbak, hanem a memoriaba agyazva. Ezert
nem tudod IN/OUT utasitassal elerni csak STS, ST, stb.

Itt az en rutinom az INIThez (csak reszlet):


.equ	SYSCLK = 16000000	;System Clock [Hz]
.equ	BaudSpeed1=38400	;speed of UART1


.DSEG

Rx_Buffer:
Rx_Head:	.byte 1
Rx_Tail:	.byte 1
Rx_Data:	.byte Rx_Buffer_Length

Tx_Buffer:
Tx_Head:	.byte 1
Tx_Tail:	.byte 1
Tx_Data:	.byte Tx_Buffer_Length


UARTFlg:	.byte 1			;UART Flags
ROMTXT:		.byte 3			;ROM TXT kuldeskor az aktualis ROM pozicio cime


.CSEG
;************************************************************************
;** Init_UART1
;** Setup the inital states for the buffers, and make sure the handshake
;** is turned on (Not the Shaddap state), so we can talk.
;**
;**
;************************************************************************
Init_UART1:	ldi	R16,0
		sts	Tx_Tail,R16
		sts	Tx_Head,R16
		sts	Rx_Tail,R16
		sts	Rx_Head,R16
		sts	UARTFlg,R16

		sts	CMD_Len,R16
		sts	CMD_Pos,R16

						;Set up Hardware HS I/O bits
;		sbi	SER_HSO_DIR,SER_HSO	;Set as output
;		HS_Enabled			;!!! Ez csak az RTS/CTS hez kell

;		cbi	SER_HSI_PORT,SER_HSI	;Set as input, Pull-up
;		cbi	SER_HSI_DIR,SER_HSI

		ldi	R16,High(SYSCLK/(16*BaudSpeed1)-1)
		sts	UBRR1H,R16
		ldi	R16,Low(SYSCLK/(16*BaudSpeed1)-1)
		sts	UBRR1L,R16		;BaudRate Gen.

		ldi	R16,0b00000000		;RXCn, TXCn, UDREn, FEn, DORn, UPEn, U2Xn, MPCMn
		sts	UCSR1A,R16

		ldi	R16,0b11011000		RXCIE,TXCIE,UDRIE,RXEN,TXEN,UCSZn2,RXB8,TXB8
		sts	UCSR1B,R16

		ldi	R16,0b00000110		;¾, UMSELn, UPMn1, UPMn0, USBSn, UCSZn1, UCSZn0,
UCPOLn
		sts	UCSR1C,R16
		ret
 

UDV. VFX.
http://www.vfx.hu


More information about the Elektro mailing list