-
Thread
Kameramodul bei Pollin: Kennt das jemand?
sich um SDRAM handelt. Außerdem greift der DMA-Mechanismus nicht, wenn man parallele Daten von einem Port einlesen will. Wenn jemand da andere Erfahrungen gemacht hat, lasse ich mich gerne eines Besseren belehren. Ich denke, ein direktes Einlesen der Bilddaten, mit einem ATMEGA und externem SRAM am Bus
... das ist die AVR-Cam(Bild: AVR_CAM_013.jpg) die ich angepasst habe;
-
Thread
Problem mit Midi-Signal Atmega8 (Bascom)
Zum Auslösen des Midibefehls verwende ich einen normalen Taster der über einen Multiplexer an einen Port des Atmega angeschlossen ist.
Vielen Dank ich werde mich da einlesen
-
Thread
Anfängerfragen zum ATMega8 und Assembler
ein kleines Beispielprogramm in die Antwort anhängen könnten, mit dem man einen Analogwert am ADC Port des ATMega8 einlesen kann und dann im 4-Bit Modus im LCD wieder ausgeben kann. (Ich finde das fehlt noch im Tutorial) Mir (und sicher auch anderen Anfängern) wäre für die punktweise Beantwortung
http://www.avr-asm-tutorial.net/avr_de/
-
Thread
xMega totaler Anfänger, Frage I/O
Bereich SPS, daher komm ich wohl auch nicht auf den richtigen PFad, hier mein Code: [c] #include <avr/io.h> #include <stdint.h> int main (void) { PORTE.DIR = 0x00; // Alle Pins EINGANG PORTE.DIR |= (1<<PIN5); // PINE5 auf Ausgang while(1) { // Ist das Signal an PIN0 von PORTE Low so ist der Vergleich wahr Tast nach GND if (!( PORTE.IN & 0x01 )) { PORTE.OUT |= (1<<PIN5); //PORTE Pin5 wird HIGH wenn PORTE PIN0 low ist } } return 0; } [/c] Ich möchte,
-
Thread
Schaltung von Heizfeldern
einen kleinen PIC zu verbauen der > quasian einem pin auf seinen 'Index' wartet? ja oder einen AVR aber dann müssten die Heizfelder auch getrennte thermisch isolierte Kacheln haben von 1x1cm.
Ports a 8-bit man muss ja nicht alle Zeilen und Spalten voll nutzen 24 x 23 -> 552 23 x 23 -> 529 23 x 22 -> 506 24 x 21 -> 504 Matthias M. schrieb im Beitrag #5672817: > Mit welchem Bauteil versorgen
-
Thread
Power-down mit Taster
Schalter abfragt damit die LED leuchtet. Das müßte doch den Schalter abfragen ob 0 anliegt. #include <avr/io.h> #include <avr/interrupt.h> #include <avr/wdt.h> #include <stdint.h> #include <avr/sleep.h> int main(void) { DDRB |= (1 << PB1); PORTB |= (1 << PB1); DDRB |= (0 << PB2); PORTB
Kommentare in deinem Programm an, besonders wenn du "exotische" Sachen machst. [C] #include <avr/io.h> #include <avr/interrupt.h> #include <avr/wdt.h> #include <stdint.h> #include <avr/sleep.h> int main(void) { /* The ATtiny24/44/84 system clock can be divided by setting the
-
Thread
Mein eigener TFT-Controller
beschreiben zu können. wenn du 55ns rams hast und 62.5 ns zeit -> 7.5 ns übrig / 55ns ~ 8 bytes einlesen um eins schreiben zu können, oder aber 2 rams parallel -> 4 bytes einlesen um 2 schreiben zu können. (alle angaben ohne gewehr *gg*)
erst in die ARM7-Core programmierung incl. Tool Chain einarbeiten und doch lieber erst mal bei den AVR Controllern bleiben. Grüße Steffen
-
Thread
Hall Sensor an Tachowelle auslesen
habe mich schon mit µC AT 89C2051 befasst und auch eigene Lösungen entwickelt. Da wurden aber immer Ports eingelesen oder beobachtet und entsprechenfde Funktionen daraus abgeleitet. Der Hall Sensor wird mit Spannung versorgt und die Signalleitung gebe ich auf einen Port. Nur mit welchen Befehlen ich das Hall Signal einlese und verarbeite ist mir unklar. Gruß Wolfgang
-
Thread
Verzögerte Schaltung
je naach Belieben muß man nur den Port ändern : #include <avr/io.h> #define F_CPU 1000000 #include <util/delay.h> int main (void){ DDRC=0b00000111; _delay_ms(500); PORTC = 0b11111110; _delay_ms(500); PORTC = 0b11111100; _delay_ms
allerdings immer noch drin. [c] #ifndef F_CPU #error F_CPU not defined. #endif #include <avr/io.h> #include <util\delay.h> #include <avr/interrupt.h> volatile unsigned char nAdc = 255; void InitAdc(void) { ADMUX |= (1 << ADLAR) | (1 << MUX1); ADCSRA |= (1 << ADEN) | (1 << ADATE
-
Thread
Studio 7 eep File erzeugen beim Compilieren
#7806615: > 1. Wo stellt man bei S7 ein, dass ein eep-File erzeugt wird? Minimal: [c] #include <avr/io.h> #include <avr/eeprom.h> uint8_t EEMEM eeBT_PortCfg = 0x01; int main(void){ while(1) {} } [/c] Schau dir in ../project/xyz/Debug/ das Makefile an. Dort sollte sowas zu finden sein: ..\toolchain\avr8\avr-gcc-14.1.0-...\bin\avr-objcopy.exe" -j .eeprom --set-section-flags=.eeprom=alloc,load --change-section-lma .eeprom=0 --no-change-warnings -O ihex "Test-mega328-0.elf" "Test-mega328-
-
Thread
Bessere Lösung um 8 Öffner am Arduino auszulesen gesucht
nur" acht Tastern würde ich sie der Einfachheit halber lieber direkt oder über ein Schieberegister/Port Expander anschließen.
kann also recht ungenau werden mit nur dem Widerstandsnetzwerk. Ich bin dann auch eher bei egons port-multiplexer.. 50ct chip (bezahlst für die widerstände auch nicht viel weniger) und der drops ist gelutscht 'sid
-
Thread
Serielle Daten bitweise in die Variable schreiben
Hier ein Beispielcode zum Einlesen 2 * 74HC165 kaskadiert: [c] #include <avr\io.h> struct bits { uint8_t b0:1, b1:1, b2:1, b3:1, b4:1, b5:1, b6:1, b7:1; } __attribute__((__packed__)); #define SBIT(port,pin) ((*(volatile
Peter Dannegger schrieb im Beitrag #3838423: > #include <avr\io.h> Peter, auch unter Windows funktioniert der Slash in Include-Pfaden tadellos. #include <avr/io.h> ist daher portabler.
-
Thread
Platine checken bitte
und Widerstände schon wieder Mangelware? Da solltest du echt noch nachbessern und dich auch mal einlesen bzgl. Impulsbelastung von Knopfzellen. Was ist mit IRQ vom NRF24? Du solltest versuchen alles auf der Unterseite zu routen und oben eine geschlossene Massefläche zu erzeugen. Weil du von EMV
//www.atmel.com/Images/Atmel-8128-Best-Practices-for-the-PCB-Layout-of-Oscillators_ApplicationNote_AVR186.pdf http://www.atmel.com/Images/doc8349.pdf http://www.atmel.com/Images/Atmel-2521-AVR-Hardware-Design-Considerations_ApplicationNote_AVR042.pdf http://www.atmel.com/Images/doc1619.pdf Generell
-
Thread
TIMER0 Normal Mode bei 2560
TCNT0, r16 ; Zählregister vorladen --> höhere Frequenz in r16, PORTB ; PORTB einlesen ldi r17, (1<<PORTB5) ; PORTB Bit5 setzen eor r16, r17 ; PortB Bit5 toggeln out PORTB, r16 ; auf PORTB ausgeben pop r16 out SREG, r16 ; Statusregister
TCNT0, r16 ; Zählregister vorladen --> höhere Frequenz in r16, PORTB ; PORTB einlesen ldi r17, (1<<PORTB5) ; PORTB Bit5 setzen eor r16, r17 ; PortB Bit5 toggeln out PORTB, r16 ; auf PORTB ausgeben pop r16 out SREG, r16 ; Statusregister
-
Thread
ESP32-CAM Entwicklungskit
257) camera_xclk: PIN_CTRL before:3ff[0m [0;32mI (257) camera_xclk: PIN_CTRL after:7fff[0m Serial port COM38 closed [/c]
cam-entwicklungskit#new Ich werde meine Testoftware mal für dieses Modul compilieren und beim Einlesen die LED einschalten. Problem im Moment sind noch die Kameraparameter, ich muß vermutlich ein paar Bilder einlesen und nur das letzte speichern, weil die Kamera etwas braucht, bis Belichtung, Weißabgleich
-
Thread
8051 Chip für Einstieg
tmp-Register, welches man bei AVR ständig benötigt. Oder Bitoperationen, Bitadressierbarer Speicher. Bei den bedingten Sprüngen muss ich beim AVR jedes Mal nachsehen ... Oder MOVC A, @A + DPTR (Addiere A zum Pointer und hole den
ich beim AVR jedes Mal nachsehen ... Ich nicht. Das ist reine Übungssache. >Oder MOVC A, @A + DPTR (Addiere A zum Pointer und hole den Inhalt der >ROM-Adresse in A) - beim AVR erst mal eine 16-Bit-Addition
-
Thread
Kommunikation MDB Schnittstelle
Ganz klar AVR. z.B. ATmega88 oder ATmega32. Codebeispiele findest du z.B. im [[AVR-GCC-Tutorial]]. Die Beschaltung ist ebenfalls sehr einfach. Die einfachste Grundschaltung benötigt noch nicht mal externe Bauteile. Google mal nach AVR Grundschaltung
-
Thread
Speichinhalte aus Fritzbox lesen und auf LCD-Display darstellen
Mein Vorschlag: (ich kenne die Frizbox nicht; alles nur grobe Ideen) AVR oder ähnliches mit a) einem TCP-Stack plus Ethernet-Interface Dieser kann dann einfache HTTP-GET-Anfragen absetzen, die Antwort analysieren und das Ergebnis auf einem Display (2x20/4x20) ausgeben. b) angeschlossen am seriellen Port der Box (falls das überhaupt klappt) Dieser meldet sich auf der Box an, geht ins zugehörige Menü und liest dort die benötigten Werte aus. Für beide Varianten muss keine Hard- oder Softwareänderung
-
Thread
ADC in Assembler
Hallo ich bin nochn neu in sachen assembler und AVR und brauche mal hilfe. ich will bei meinem mega16 nen wert des AD_wandlers in ein register, zb. r20 laden. Wie mache ich das? Weil mit den codebeisp. im datenblatt komm ich nicht weiter. mfg
adcsr, adsc ;Start Wandlung rcall pause ;kurz warten in txbyte,adcl ;LowByte einlesen usw....
-
Thread
SHIFTOUT- Befehl in Bascom geht nicht
Hi/ Lo Signal? Ich habe den Eindruck dass du da gerade Shiftin beschreibst, da es dabei um das Einlesen geht. Ich habe allerdings Probleme mit dem Auslesen.
Shiftin mit ext. Clock abweicht, dürfte Folgendes zusammenpassen: Sender: [code]Clock_Out Alias PortX.0 Ser_Out Alias PortX.1 Shiftout Ser_Out , Clock_Out , B , 0[/code] Empfänger: [code]Clock_In Alias PinX.0 Ser_In Alias PinX.1 Shiftin Ser_In , Clock_In , B , 5 ' <-- samples at falling
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
GND |18 19| AREF // +----------+ #endif // defined(__AVR_ATmega1284P__) #ifdef LED_ARDUINO #ifdef LED_ARDUINO_DDR #ifdef LED_ARDUINO_PORT #define LED_ARDUINO_ON LED_ARDUINO_PORT |= (1<<LED_ARDUINO) #define LED_ARDUINO_OFF
__) || defined (__AVR_ATmega328P__) || defined (__AVR_ATmega324A__) || defined (__AVR_ATmega324P__) || defined (__AVR_ATmega324PA__) || defined (__AVR_ATmega644__) || defined (__AVR_ATmega644A__) || defined (__AVR_ATmega644P
-
Thread
Attiny13 Universeller Blinker
nicht immer wieder ausgeführt wird, dann sind auch die NOPs unnötig. Vielleicht noch am Anfang den Port auf Eingang schalten. Ansonsten schrittweise testen, falls Du überhaupt noch flashen kannst.
Oh, das hätte ich fast vergessen: Ein nach dem Einlesen eingesetztes "ldi Modus, xxxxxxxxW" (steht für den "Wert" an PinB des jeweiligen Modus) lässt LowPower und Sinus Wunderbar laufen, bei den Anderen hapert es dort immer noch. Wenn man direkt in einen
-
Thread
Problem mit C Programm
Mach mal das "#include <avr/iom16.h>" raus, die wird eh durch io.h eingebunden, steht auch in der Quelle: [c]/* This file should only be included from <avr/io.h>, never directly. */[/c] Welchen AVR hast du? Ist er auch richtig beim Compiler/AVR Studio eingestellt?
-
Thread
Serial Communiction uint8_t* Arduino
Ob char selbst wiederum signed oder unsigned ist, ist nicht festgelegt So ist es, wenn ich meinen AVR-GCC frage, dann antwortet er auf beide Fragen is_signed() is_unsigned() mit false
einen Logikanalyzer an den UART klemmen und gucken, was da gesendet wird. Notfalls den seriellen Port vom PC. Sonst ist das bloß blindes Stochern im Nebel. Oh, und zuallererst würde ich das "é" durch ein "e" ersetzen.
-
Thread
3 Achsen MEMS Beschleunigungs Sensorkit
aber auch ohne irgendwie gehn, da wenn man später den Sensor auf ne Platine packt man ja kein USB-Port mehr zur verfügung hat.
lieber. SPI kannst du in jeder Sprache benutzen. Beispielcode für Assembler und C steht in jedem AVR-Datenblatt. MfG Spess
-
Thread
Attiny85 anfänger
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
https://www.mikrocontroller.net/articles/Hauptseite#AVR-Tutorial
-
Thread
AVR für Servo Input und Output
warten und Servodaten ausgeben. Der AVR soll mit UART an den ARM angeschlossen werden. Einlesen sollte mit Port Change Interrupt gehen. Ausgabe mit Hardware-PWM, um nicht das Timing durch Kommunikation oder anderes zu verfälschen. Der
zwischen 20-30 Pins, mehr wird fast zu groß. - Hardware-PWM für 8 Pins, Auflösung ca. 7 Bit. Welcher AVR kommt hier in Frage?
-
Thread
Was ist Arduino?
pinMode(LED_PIN, OUTPUT); digitalWrite(LED_PIN, HIGH); oder DDRB |= _BV(LED_PIN_PORT_B); PORTB |= _BV(LED_PIN_PORT_B); ist jetzt nicht so die Welt. Schön ist natürlich bei der Arduino Variante, dass Du nicht wissen musst an welchem Port der Pin hängt. Das Programm läuft also
, in Assembler programmiere und die Hexdatei (ggf. auch EEP-Datei, Fuses, Lockbits) per ISP in den AVR schaufle? ...
-
Thread
Neuer Prozessor
, für diese Aufgabe bestgeeigneten Prozessor zu finden. Es macht schon ein Unterschied ob ich ein Port als ganzes einlesen kann, oder ihn erst aus verschiedenen Ports zusammenbasteln mus. Was nutzt es wenn da steht das er pro Zyklus ein Befehl abarbeitet, ich aber ein halbes Duzend Befehle brauche bis
Wenn's viele Ports (und DIP) sein müssen: Mega16 oder 162 bzw Mega32 bei weniger Ports: Mega168
-
Thread
Mal wieder ein Selbstbau-Logicanalyzer mit ATmega.
Eingängen. Das glaube ich nicht. Die kürzestmögliche Read/Store-Sequenz für ein Sample ist: in reg,port ;1 st idxreg+,reg ;2 ;- ;3 D.h.: selbst mit vollständigem loop unrolling müßtest du den armen AVR mit 30MHz betreiben, um die 10MHz Samplefrequenz zu schaffen
Avr 30 mhz Mit einem Xmega? Oder Taktest du die 30 Mhz extern in ein Ram?
-
Thread
Byte Wert suchen und Folgebyte speichern
jd/plaene/SUSI_310.zip Hier ist der Sourcecode denn ich bis jetzt erstellt habe. [c]#include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 8000000UL #define no_sync 0 #define in_sync 1 volatile uint8_t state = no_sync; volatile uint8_t AddrByte = 0; volatile uint8_t DataByte1
drin und ich kann den Fehler einfach nicht entdecken. Ich bitte um Unterstützung. [c]#include <avr/io.h> #include <avr/interrupt.h> #define F_CPU 3686400UL #define FAIL 0x01 #define SUCCESS 0x02 uint8_t TransmitState = 0x00; uint8_t addr, value1, value2; volatile uint8_t susi_F0F4
-
Thread
Einfacher ARM für den Einstieg und Linux Toolchain
Ich hab viel mit AVR gemacht, also sind Mikrocontroller nicht neu für mich. Ein spezielles Projekt habe ich noch nicht. Ich will nur erstmal mit ein paar Pins wackeln und ein paar Daten zum PC senden können.
Olaf schrieb im Beitrag #6162534: > Das kann man dann in seinem Programm einlesen und so Variablen > auswaehlen und ihren Inhalte auslesen. Bei laufendem Programm in Echtzeit, so wie JScope?
-
Thread
ATmega8 C- Programmierung AD- Wanlder
würde gerne einen ATmega8 in C-Sprache so porgrammieren, dass ich eine Spannung in den AD- Wandler einlese und diese anhand von LED´s anzeigen lassen will! Ich habe ein Programm geschrieben, welches aber nicht funktioniert. Könnte mir bitte jmd helfen? MfG Martin #include <avr/io.h> void main
Vielleicht liest du dir das hier mal durch: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#ADC_.28Analog_Digital_Converter.29 Oliver
-
Thread
entprellen professionell?!
professionell). Habt ihr ein paar Anregungen? P.S. bin noch nicht all zu lange dabei AVR´s zu traktieren. Thanks schon mal !
Unterschied. Höchstens, daß ich auf das Register sogar direkt zugreifen kann und nicht erst vom Port einlesen muß. Auch kann die Softwareentprellung gleich die Erkennung des Wechsels von Losgelasssen nach Gedrückt mit übernehmen. Der Programmfluß wird also sogar noch einfacher. 5. ist störsicherer
-
Thread
RFM12 868MHz
als wenn ich erst den Port einlesen und dann den Pin ausmaskieren müsste. ;) Ciao, Rainer
Beim Soft-SPI ist es eigentlich prinzipiell merklich langsamer, aber man schafft es schnell, daß 2 Port-Befehle zum setzen/löschen direkt hintereinander geraten. Dann ist der effektive Takt zwar durchaus nur ein paar 100kHz, der Pegelwechsel beider Signale in dem Moment eigentlich 5MHz bei 10MHz AVR-Takr
-
Thread
Bitte um Harwarehilfe bei kleinem LED-Projekt
Hab das kleine Bsp. sogar verstanden ;) Nach weiterem Einlesen würde ich mich entweder für einen ATtiny2313 oder für einen ATmega8 entscheiden (Geld spielt keine Rolle :D ) Bei den LEDs werden nun die roten RTL 934 HD verwendet. Vielleicht kann mir ja jemand
B. schrieb im Beitrag #1934423: > Hab das kleine Bsp. sogar verstanden ;) > > Nach weiterem Einlesen würde ich mich entweder für einen ATtiny2313 oder > für einen ATmega8 entscheiden (Geld spielt keine Rolle :D ) > Bei den LEDs werden nun die roten RTL 934 HD verwendet. > Vielleicht kann mir ja
-
Thread
gtkwave input-file von hex-file
im simavr wiki folgende Zeilen fand: http://gitorious.org/simavr/pages/GetStarted Run Your AVR Firmware ./simavr/run_avr firmware.afx or ./simavr/run_avr -m atmega88 - f 8000000 firmware.hex e.g. ./simavr/run_avr ./tests/atmega88_example.axf versuche ich dies: > ./simavr/run_avr
atmega328 init CORE: *** Invalid read address PC=0368 SP=08ff O=0895 Address 0900 out of ram (08ff) avr_sadly_crashed avr_gdb_init listening on port 1234 CORE: *** Invalid read address PC=0368 SP=0900 O=0895 Address 0901 out of ram (08ff) avr_sadly_crashed ? :) Gruß wally
-
Thread
DMX zu Funk zu LED Steuerung
allerdings schon gelesen habe ist, dass ich die RFM Module direkt über die SPI-Schnittstelle mit dem AVR verbinden kann. Ich brauche also prinzipiell eine Erkennung des Eingangssignal am AVR, welcher daraus ein Funksignal mit Kanal und Wert generiert, was an einem anderen AVR wieder empfangen und ausgewertet
ändern. Worauf ich hoffe ist, dass mir jemand vielleicht ein paar Links zu ein wenig Material zum einlesen geben kann um das prinzip der Funkübertragung besser zu verstehen und das ich als unerfahrener AVR Programmierer vielleicht die ein oder andere Hilfestellung bekomme ;) Danke schoneinmal im voraus
-
Thread
Mikrocontroller umprogrammieren? (Sportuhr)
ranhängen und woanders sparen. Habe gerade mal ins Datenblatt des µC geschaut, ist doch auch nur ein AVR mit ein paar Portpins mehr. Das Bild der Rückseite der Leiterplatte läßt leider nichts erkennen, sonst wüßte man vermutlich schon, wieviel Ports überhaupt genutzt sind. Gruß aus Berlin Michael
einen Schönheitswettbewerb wird es auch nicht gewinnen. Damit Du ahnst, was Du bekommst: http://www.avr.roehres-home.de/ Gruß aus Berlin Michael
-
Thread
LED blinkt während Programmablauf
, solltest du auch alles lesen. So könnte man es machen: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR#Timer2_im_Asynchron_Mode
LED in der ISR sehr schnell blinken und die andere auch. Naja, da muss ich mich wohl noch weiter einlesen, aber das Prinzip ist jetzt klarer geworden. :D #define F_CPU 1000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> int main(void) { DDRD = 0xFF;
-
Thread
Moodlight Sourcecode hilfe
, so habe ich auch schon einen Verdacht. Das könnte wirklich an der Hardware liegen. Wenn ich den Port ändere und weg von meiner High-Power LED mit Treiber IC gehe kann ich immer schön die PWM messen. Gleich mal ein paar normale LEDs an den Port klemmen und gucken was passiert. Wobei nen Hardwarefehler
der LookUp ein bisschen vermitteln. Das könnte das ganze ein wenig "verschmieren". --- An PortA kann man auch keine Hardware-PWM betreiben :( Das wären PortE+B, dann hättest Du mit der Hardw.PWM Rechenzeit ohne ende. --- Für Farbe hätte ich vielleicht ein enum genommen. Aber eigentlich
-
Thread
Servo Signal mit einem Atmel auswerten
zwar in Assembler, aber vielleicht hilft Dir das beim Umgang mit den Timern: http://www.hanneslux.de/avr/mobau/schaltmo/schaltmodul.html Frohen Rest vom Weihnachtsfest... Hannes
hier 6 Bücher liegen. Das Buch von dem Schmitt "Microcontrollertechnik mit den Controllern der Atmel AVR-RISC Familie", das AVR Buch von Rowalt, dann noch "Embedded C Programming and the Atmel AVR". Ausserdem habe ich mir die Datenblätter von dem Mega8 ausgedruckt und ein Buch über C-Prgrammierung ausgeliehen
-
Thread
Problem mit gosub in Bascom
Habe ich dann also sofort auf den PortB die ersten 4 Bits auf high und den Rest low? Was muss denn statt dem "ein_Byte_Daten_aus_Lookup" eingeben? Etwa die Variable Port_Zeile? Dann noch >Port_Zeile alias PortB< und gut is'? [c]Port_Zeile
das nächste Spaltenbyte aufrufen soll? Das tut ja dieses Lookup. Ich habe vorgestern das Buch "AVR RISC Mikrocontroller mit BASCOM-AVR" bestellt. Leider ist es immernoch nicht da. Ich hoffe, dass euch das Buch mit meinen Fragen entlassten wird. Ahja: Ich habe den Zeilen bereits den PortC verpasst