1 .file "spectrumanalyzer.c" 2 .arch at90s8515 3 __SREG__ = 0x3f 4 __SP_H__ = 0x3e 5 __SP_L__ = 0x3d 6 __tmp_reg__ = 0 7 __zero_reg__ = 1 8 .global __do_copy_data 9 .global __do_clear_bss 12 .text 13 .Ltext0: 109 .global uartReceiveStringLong 111 uartReceiveStringLong: 1:spectrumanalyzer.c **** /* 2:spectrumanalyzer.c **** Technische Universität Berlin 3:spectrumanalyzer.c **** Fachgebiet Elektronik 4:spectrumanalyzer.c **** 5:spectrumanalyzer.c **** Projekt Elektronik, Gruppe ELE31, WS2003/2004 6:spectrumanalyzer.c **** Einfacher Spektrumanalysator von 0 bis 100 MHZ 7:spectrumanalyzer.c **** 8:spectrumanalyzer.c **** Robert Elschner, André Grede, Martin Haller, 9:spectrumanalyzer.c **** Leszek Koschel, Marcus Rose, Steffen Schostan, François Xavier Tchiako 10:spectrumanalyzer.c **** 11:spectrumanalyzer.c **** last changes: 13.02.2004 12:spectrumanalyzer.c **** 13:spectrumanalyzer.c **** spectrumanalyzer.c 14:spectrumanalyzer.c **** 15:spectrumanalyzer.c **** Firmware für das ATMEL 90S8515 Mikrokontroller-Board 16:spectrumanalyzer.c **** zur Steuerung der Messung eines Leistungsdichtespektrum 17:spectrumanalyzer.c **** 18:spectrumanalyzer.c **** Für die Taktfrequenz von 7,3728 MHz 19:spectrumanalyzer.c **** mit 115200 bits/s als Baudrate eingestellt. 20:spectrumanalyzer.c **** */ 21:spectrumanalyzer.c **** 22:spectrumanalyzer.c **** ////// INCLUDES 23:spectrumanalyzer.c **** #include 24:spectrumanalyzer.c **** #include 25:spectrumanalyzer.c **** #include 26:spectrumanalyzer.c **** #include 27:spectrumanalyzer.c **** #include 28:spectrumanalyzer.c **** 29:spectrumanalyzer.c **** // UART driver with buffer support from Pascal Stang 30:spectrumanalyzer.c **** #include "uart.h" 31:spectrumanalyzer.c **** // Delay routines from Chris Efstathiou 32:spectrumanalyzer.c **** #include "delay.h" 33:spectrumanalyzer.c **** // Functions to read values from the 2-channel 8-bit analog-digital-converter 34:spectrumanalyzer.c **** // MAX1117/MAX1118/MAX1119 via SPI interface 35:spectrumanalyzer.c **** #include "max1118.h" 36:spectrumanalyzer.c **** // Functions to set the DDS (AD9851) to given frequencies 37:spectrumanalyzer.c **** #include "dds.h" 38:spectrumanalyzer.c **** ////// 39:spectrumanalyzer.c **** 40:spectrumanalyzer.c **** 41:spectrumanalyzer.c **** //! receives a string with the length len 42:spectrumanalyzer.c **** void uartReceiveStringLong(char *string, u08 len) 43:spectrumanalyzer.c **** { 113 .LM1: 114 /* prologue: frame size=5 */ 115 0000 CF93 push r28 116 0002 DF93 push r29 117 0004 CDB7 in r28,__SP_L__ 118 0006 DEB7 in r29,__SP_H__ 119 0008 2597 sbiw r28,5 120 000a 0FB6 in __tmp_reg__,__SREG__ 121 000c F894 cli 122 000e DEBF out __SP_H__,r29 123 0010 0FBE out __SREG__,__tmp_reg__ 124 0012 CDBF out __SP_L__,r28 125 /* prologue end (size=10) */ 126 0014 8983 std Y+1,r24 127 0016 9A83 std Y+2,r25 128 0018 6B83 std Y+3,r22 44:spectrumanalyzer.c **** u08 i; 45:spectrumanalyzer.c **** u08 j; 46:spectrumanalyzer.c **** 47:spectrumanalyzer.c **** while (uartGetRxBuffer()->datalength