Hi, wir sollten in der Schule ein Programm für den Asuro schreiben in dem SOS gemorst werden sollte, ich habe das Programm nun noch weiter ausgebaut, da ich das etwas leingweilig fand. Ich wollte jetzt noch, das man das Wort/der Satz, der gemorst werden soll, im Hyper-Terminal eingibt und er dann gemorst wird. Nur hab ich keine Idee wie ich das machen soll, da ich auch nicht die funktion dafür finde.
Ich benutze das AVR-Studio.

Hier mal mein Code:

Code:
		
/*		+---------------------------------+
		|               	            |
		|     Morse-Code-Generator     |
		|          von René Becker        |
		|		            |
		+---------------------------------+
*/ 

//---------------------------------------------------------

/*		+-----------------+
		|  |	      | |
		|  |  Includes    | |
		|  |     &           | |
		|  |  Defines     | |
       	                |  V                V |
		+-----------------+
*/

//---------------------------------------------------------
#include <avr/io.h>
//---------------------------------------------------------
#define sekunden 0.2
#define a blinken(1,1); blinken(1,3);
#define b blinken(1,3); blinken(3,1);
#define c blinken(1,3); blinken(1,1); blinken(1,3); blinken(1,1);
#define d blinken(1,3); blinken(2,1);
#define e blinken(1,1);
#define f blinken(2,1); blinken(1,3); blinken(1,1);
#define g blinken(2,3); blinken(1,1);
#define h blinken(4,1);
#define i blinken(2,1);
#define j blinken(1,1); blinken(3,3);
#define k blinken(1,3); blinken(1,1); blinken(1,3);
#define l blinken(1,1); blinken(1,3); blinken(2,1);
#define m blinken(2,3);
#define n blinken(1,3); blinken(1,1);
#define o blinken(3,3);
#define p blinken(1,1); blinken(2,3); blinken(1,1);
#define q blinken(2,3); blinken(1,1); blinken(1,3);
#define r blinken(1,1); blinken(1,3); blinken(1,1);
#define s blinken(3,1);
#define t blinken(1,3);
#define u blinken(2,1); blinken(1,3);
#define v blinken(3,1); blinken(1,3);
#define w blinken(1,1); blinken(2,3);
#define x blinken(1,3); blinken(2,1); blinken(1,3);
#define y blinken(1,3); blinken(1,1); blinken(2,3);
#define z blinken(2,3); blinken(2,1);
#define wortende mysleep(7*einheit);
#define punkt blinken(1,1); blinken(1,3); blinken(1,1); blinken(1,3); blinken(1,1); blinken(1,3);
//---------------------------------------------------------

/*		+--------------------------+
		|  |   	                |  |
		|  | Unterprogramme  |  |
       	                |  V	               V  |
		+--------------------------+
*/
//---Einheit-----------------------------------------------
long einheit = sekunden/0.00000438;
//---------------------------------------------------------

//---mysleep-----------------------------------------------
int mysleep (long sleepdauer)                   
{                                                                                                         
         long zaehler;
         for (zaehler=0 ; zaehler<=sleepdauer ; zaehler++ )   
         {                                               
              asm volatile ( "nop":: ) ;                 
         } 
}	
//---------------------------------------------------------


//----Blinken----------------------------------------------	 
int blinken(int anzahl,int multipl)
{
	int xx;
	for (xx=0;xx<anzahl;xx++)
	{
		PORTD = 0b01000000;
		mysleep (multipl*einheit);
		PORTD = 0b00000000;
		mysleep (multipl*einheit);
	}
	mysleep(3*einheit);
}
//---------------------------------------------------------

/*		+-------------------------+
		|  |	               |  |
		|  |  Hauptprogramm |  |
       	                |  V	              V  |
		+-------------------------+
*/

//---Main--------------------------------------------------
int main ()
{
DDRD  = 0b01000000;
	while(1)
			{
				t;e;s;t;wortende;
				
			 }
}
//---------------------------------------------------------
Hoffe es kann jemand helfen!