Hallo,

Bin leider noch blutiger Anfänger im programmieren von uC.
(Bin vor 2 Wochen angefangen mit dem assembler Programmieren, sitze aber
teilweise Nachmittags 6-8 Stunden vor mein mC und versuche assembler zu
verstehen, was auch eigentlich ganz gut klappt )
also ich bin momentan voll im rausch zu lernen wie man uC programmiert
und wie man sie benutzt.

Habe das einsteiger set von Myavr. Dort geht es im aktuellen Kapitel um
das Senden über den Com Port.

Das assembler Programm funktioniert so weit. Also der uC sendet das wort
"Hallo " per knopfdruck über das UART Datenregister. Dieses kann ich auch mit der
beigefügten Software myAVR Controlcenter Build 698 am Pc empfangen.

Hier mal das mC Programm
Code:
[
;+-----------------------------------------------------------------------------
;| Title      : Assembler Grundgerüst für ATmega8
;+-----------------------------------------------------------------------------
;| Funktion   : ...
;| Schaltung  : ...
;+-----------------------------------------------------------------------------
;| Prozessor  : ATmega8
;| Takt       : 3,6864 MHz
;| Sprache    : Assembler
;| Datum      : ...
;| Version    : ...
;| Autor      : ...
;+-----------------------------------------------------------------------------
.include        "AVR.H"
;------------------------------------------------------------------------------
begin:
    rjmp    main                        ; RESET External Pin, Power-on Reset, Brown-out Reset and Watchdog Reset
    reti                                ; INT0 External Interrupt Request 0
    reti                                ; INT1 External Interrupt Request 1
    reti                                ; TIMER2 COMP Timer/Counter2 Compare Match
    reti                                ; TIMER2 OVF Timer/Counter2 Overflow
    reti                                ; TIMER1 CAPT Timer/Counter1 Capture Event
    reti                                ; TIMER1 COMPA Timer/Counter1 Compare Match A
    reti                                ; TIMER1 COMPB Timer/Counter1 Compare Match B
    reti                                ; TIMER1 OVF Timer/Counter1 Overflow
    reti                                ; TIMER0 OVF Timer/Counter0 Overflow
    reti                                ; SPI, STC Serial Transfer Complete
    reti                                ; USART, RXC USART, Rx Complete
    reti                                ; USART, UDRE USART Data Register Empty
    reti                                ; USART, TXC USART, Tx Complete
    reti                                ; ADC ADC Conversion Complete
    reti                                ; EE_RDY EEPROM Ready
    reti                                ; ANA_COMP Analog Comparator
    reti                                ; TWI 2-wire Serial Interface
    reti                                ; SPM_RDY Store Program Memory Ready
;------------------------------------------------------------------------------
main:
    ldi r16,hi8(RAMEND)                ; Main program start
    out SPH,r16                        ; Set Stack Pointer to top of RAM
    ldi r16,lo8(RAMEND)
    out SPL,r16
    sbi UCSRB,3
    ldi r16, 23
    out UBRRL,r16
    cbi DDRD,2
    sbi PORTD,2


    
;------------------------------------------------------------------------------
mainloop:	wdr
	sbis PIND,2
	rjmp Taster1          
	rjmp  mainloop
;------------------------------------------------------------------------------
Taster1:	ldi r16,'H'
	rcall putChar
	ldi r16,'a'
	rcall putChar 
	ldi r16,'l'
	rcall putChar
	ldi r16,'l'
	rcall putChar
	ldi r16,'o'
	rcall putChar 
	ldi r16,' '
	rcall putChar
	ret
putChar: 	sbis UCSRA,5
	rjmp putChar
	out UDR,r16
	ret


Jetzt möchte ich allerdings dieses über mein C# Programm Empfangen.
Dort weiß ich aber noch nicht wie ich dieses realisieren kann.
Das Wort "Hallo" (bzw er wiederholt das ein paar mal, da der tastendruck zu lang ist...)soll einfach nur zusammengesetzt, und in einer TextBox
ausgegeben werden sobald ich den button1 drücke.
Der Port an dem mein uC sitzt ist der Com Port 3.

Hier mein aktuelles C# Programm (in C# kenne ich mich eingentlich gut
aus)
Code:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO.Ports;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        SerialPort port = new SerialPort("COM3",9600,Parity.None,8,StopBits.One);

        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            textBox1.Text = "???";
        }
    }
}
Es wäre nett wenn mir einer das Programm zu ende programmieren würde.
Vielleicht erkenne ich die funktionsweise so. Ansonsten würde ich noch
1-2 fragen stellen

mfg André