hawxgamer

Untitled

Dec 17th, 2013
108
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. COPY_DATA:
  2. ldi ZL, low(FLASH_MESSAGE<<1)
  3. ldi ZH, high(FLASH_MESSAGE<<1)
  4. ldi XL, low(RAM_BUFFER) ;RAM is byte addressed so we don't need to shift
  5. ldi XH, high(RAM_BUFFER)
  6. clr r17
  7.  
  8. COPY_DATA_1:
  9. lpm Temp2,Z+ ;read one byte and increase Z_Pointer
  10. st X+, Temp2 ;write one byte on the x-pointer
  11. ;wie zähle ich mit wieviele daten ich noch verarbeiten muss
  12. cpi Temp2, zero
  13. breq END_MESSAGE ;if zero==0 branch to END_MESSAGE
  14.  
  15. call UARTC0_WRITE
  16. rjmp COPY_DATA_1
  17. ret
  18.  
  19. END_MESSAGE:
  20. ret ;return to main program
  21.  
  22. UARTC0_WRITE:
  23. WAITFOR_DREIF:
  24.  
  25. lds Temp2, USARTC0_STATUS
  26. sbrs Temp2, USART_DREIF_bp ;wait until DREIF is ready for next byte
  27. rjmp WAITFOR_DREIF
  28.  
  29. sts USARTC0_DATA, char ;send character
  30. ret
Advertisement
Add Comment
Please, Sign In to add comment