BlaueLed
04.05.2010, 04:54
Hallo zusammen,
ich möchte gerne Daten über die serielle übertragen. Ich müsste dazu folgenden Code nach Bascom übersetzen.
; **** startup loop ****
init_startup:
rcall wait10ms
rcall wait10ms
rcall wait10ms
rcall wait10ms
rcall wait10ms
ldi temp1, 0b00000100
out DDRD, temp1
; 12 0F 00 00 55 55 55 55 55 6-chan
; 91 11 01 00 55 55 55 55 55 8-chan
ldi temp1,0x12
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x0f
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x00
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x00
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
ldi temp1, DIR_PD
out DDRD, temp1
ldi temp1, INIT_PD
out PORTD, temp1
rcall wait610us
clr u_buffer_h
clr u_buffer_l
Dort werden 9 bytes mit einer Pause von 610us zwischen den einzelnen Bytes übertragen. Ich weiß jetzt nur nicht, wie ich die 610us Pause zwischen den einzelnen Bytes hinbekomme. Kann mir da jemand von Euch behilflich sein ?
Gruß BlaueLed
ich möchte gerne Daten über die serielle übertragen. Ich müsste dazu folgenden Code nach Bascom übersetzen.
; **** startup loop ****
init_startup:
rcall wait10ms
rcall wait10ms
rcall wait10ms
rcall wait10ms
rcall wait10ms
ldi temp1, 0b00000100
out DDRD, temp1
; 12 0F 00 00 55 55 55 55 55 6-chan
; 91 11 01 00 55 55 55 55 55 8-chan
ldi temp1,0x12
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x0f
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x00
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x00
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
rcall wait610us
ldi temp1,0x55
mov u_buffer_l,temp1
rcall uart_transmit
ldi temp1, DIR_PD
out DDRD, temp1
ldi temp1, INIT_PD
out PORTD, temp1
rcall wait610us
clr u_buffer_h
clr u_buffer_l
Dort werden 9 bytes mit einer Pause von 610us zwischen den einzelnen Bytes übertragen. Ich weiß jetzt nur nicht, wie ich die 610us Pause zwischen den einzelnen Bytes hinbekomme. Kann mir da jemand von Euch behilflich sein ?
Gruß BlaueLed