-
Thread
WinAVR 20030913 veröffentlicht
einmal fest vergeben und dann nie wieder angefaßt. Ich habe kein Gefühl, wie oft man die bei MCS51 wirklich benutzt hat... > Deshalb mein Bestreben, die Interrupts so kurz wie möglich zu > halten. Das ist sicherlich sowieso immer die sinnvollste Variante. Eine ISR macht ganz schnell das,
meine Erfahrungen sind das Resultat jahrelanger praktischer Arbeit. Dabei trat z.B. massiv Ärger mit C51(Keil) auf. Ich betone aber, das ich deshalb C51 nicht in Grund und Boden stampfe. Wie Du auch habe ich mit Assembler begonnen. Sehr früh begann ich nach verfügbaren Alternativen zu suchen, um genau
-
Thread
USART: Das übliche Empfangsproblem
*************/ int main ( void ){ DDRA = 0x00; DDRB = 0xFF; DDRC = 0x51; DDRD = 0xFE; usart_init(21); while (1) { usart_receive(); buffer = UDR0; usart_transmit(buffer); _delay_ms(1000); } }
lautet nun: while (1) { usart_receive(); usart_transmit(buffer); _delay_ms(1000); } So müsste es ja eigentlich funktionieren. Allerdings verwirft er den Wert von UDR0 immer noch. So bin ich weiterhin ratlos.
-
Thread
Zigbee Module gesucht
2. Die Datenrate ist meeeeega-langsam. Ich hab jetzt viel experimentiert: Im Unicast-Modus mit 51 Bytes Binär Paylod kommt man gerade mal auf ca 100 Byte/s. In einem Channel zwischen 2 Teilnehmern (1 Hop, also Direkt-Verbindung) kommt man mit einer etwas getunten UART-Datenrate von 38k4 und 250ms
5ms is natürlich schon arg wenig :) Allein das Network join dürfte schon wesentlich länger dauern.
-
Thread
Digitaler Oszillator für Eurorack
Schau dir mal den SAMD51 an. 2 DACs und 2 ADCs mit 1MS/s, letztere mit 16 Kanälen pro ADC.
DAC specs scheinen ähnlich. Wenn ich es richtig lese, hat der SAMD51 im Gegensatz zum STM32L151 eine FPU. Könnte das nicht für Signalverarbeitung ein sinnvolles Feature sein?
-
Thread
Tonausgabe
Hallo Oktave 6 c 1046,5 Cis 1108,73 D 1174,66 Dis 1244,51 E 1318,51 F 1396,91 Fis 1479.98 G 1567,98 Gis 1661,22 A 1760,00 Ais 1864,66 H 1975,53 Nachst Oktave = *2 UNtere Oktave = /2 Gruss HONORIVS
Eigentlich müsste der 27 Ohm 26 haben (rechnet es mal nach!) Mit dem Windoof-Calk: 2 x^y 12 1/x = MS nun nabt ihr den Faktor im Memory und könnt damit spielen (das Ergebnis immer wieder multiplizieren). Das kann man auch mit der exp. Funktion ausdrücken: frequ = 440 * exp(ton/17.31234) für ton
-
Thread
Ausrichtung von Dioden im elektrostatischen Feld
Falls es einen Effekt geben sollte wird dieser gering sein sodass 49% der Dioden so rum und 51% anders herum liegen werden. Statistisch macht es (vielleicht) dann was aus;)
im Bereich von 100nA. Lass es 10nA sein, das ändert wenig. Da liegt die Zeikonstante im Bereich 1ms-10ms und das ist so kurz, dass die Diode mechanisch nicht reagieren kann. Wenn man einen Effekt sehen will, müsste man eine spezielle Ultra-Low-Leakage-Diode und riesige Anschlussbeinchen nehmen.
-
Thread
Quarzoszillator & ATMEGA32 (Fuses?)
auch ohne Oszi überprüfen kannst. Verkabel eine LED an einen Portpin und dann benutzt du _delay_ms um die LEd zum Blinken zu bringen [C] #define F_CPU 8000000UL #include <avr/io.h> #include <util/delay.h> #define LED_DDR DDRB #define LED_PORT PORTB #define LED PB0 int main() { LED_DDR |= ( 1 << LED ); while( 1 ) { _delay_ms( 1000 ); LED_PORT |= ( 1 << LED ); _delay_ms( 1000 ); LED_PORT &= ~( 1 << LED ); } } [/C] wenn die tatsächliche, physikalische Taktfrequenz mit dem bei F_CPU eingetragenen Wert
-
Thread
SD Karte via ATmega644 und SPI ansprechen
*/ sd_high(); /*wait 1 ms*/ _delay_ms(1); //send 74+ dummy clocks for(int i = 0; i<8 ; i++) spi_send_byte(0xFF); #ifdef DEBUG printf("SDCard Hardware initialized.\n"); #endif } // Sends a
*/ sd_high(); /*wait 1 ms*/ _delay_ms(1); //send 74+ dummy clocks for(int i = 0; i<8 ; i++) spi_send_byte(0xFF); #ifdef DEBUG printf("SDCard Hardware initialized.\n"); #endif } // Sends a
-
Thread
SD-Karte kommt nicht aus dem Idle (8051)
SD-Karten rumzuschlagen ^^. Aber naja. Meine Aufgabe besteht immo darin, eine SD-Karte an einen AT89C51RE2 per SPI anzubinden. An sich scheint das auch in gewisser Weise zu funktionieren. Aber ich bin grad bei einem Punkt wo ich einfach nicht weiterkomme. Der SPI-Bus des AT89C51RE2 läuft mit dem kleinsten
aufgetreten return (SD_ERROR_ACMD41); // Kurz warten v_Sleep_RTC(RTC_RELOAD_5MS); // Timeout Zähler erhöhen uiTimeout++; } } else { // Weitere Initialisierung für SD-Karte v2 // VHS auslesen if ((aucCmd[3] & 0x0f) != 1) // VHS Wert
-
Thread
(kostenlose) Alternative zu AVR Studio 5
Programmiergerät. "Tools" wie CPU Takt ist definiert, Timer x musst du mit 0x?? laden um einen Overflow alle 3ms zu erhalten (ja geht auch per define), Prescalervorschlag dafür ist z.B. 64 habe ich nicht gefunden... Gruß, Martin
Irrtum: Intel war mit kostenlosen Compiler PLM51 etc. und Assembler schon am Markt, lief damlas noch auf Intel's Workstations, weil es PC im heutigen Sinne noch nicht gab. Begründung damals: Wir wollen Silizium verkaufen, und dazu braucht's auch
-
Thread
120k Einstiegsgehalt
hast du ein Problem und bist das Problem. Man lese unzählige Erlebnissberichte von Google, Apple, MS, der Chef war ja selbst vorher bei MS-Research, da hat er das wohl verinnerlicht und vorher promoviert da läuft es ja z.T. ähnlich ab je nach Doktorvater, aktueller Fall siehe ETH Zürich. Manche stehen
schlafwagenschaffner schrieb im Beitrag #5192528: > dass die noch nicht von MS aufgekauft wurden. > Auf das warten die doch!
-
Thread
USB Datenaustausch bei Nexys2 von Digilent
o.g Werte raus. ----- Leider gibt es im Datenstrom immer wieder mal größere Lücken (bis zu 3ms) in denen keine Daten übertragen werden. 3ms * 48MByte / sek = 144 kByte. So groß müsste ein Fifo sein um Datenverluste zu vermeiden, wenn in dieser Zeit Daten mit 48MHz anfallen. ganz schön
raus. Gut zu wissn. > Leider gibt es im Datenstrom immer wieder mal größere Lücken (bis zu > 3ms) in denen keine Daten übertragen werden. > > 3ms * 48MByte / sek = 144 kByte. > nicht ehr 3ms*37MB/s? Wenn die Daten mit 48MB/s kommen bekommt man ja eh nicht alles übertragen. aber ok, das ist
-
Thread
Fragen zu Speicher eines Datenlogger
unterstützen auch Blockschreiben, d.h. Du kannst Datenpakete von 64Bytes in einem Rutsch innerhalb von nur 10ms reinschreiben. Beispielroutinen findest Du hier: http://www.specs.de/users/danni/appl/hard/i2c/index.htm http://www.specs.de/users/danni/appl/soft/c51/eeprom/index.htm Batteriegestützte
Sekundengenauen Auflösung wären das 20*3600 = 7,1 KB. Mit einem 64 kB-Speicher könnte ich (bei Messung alle 100ms !!!) ca. 54 Minuten Speichern Das ist mehr als genug !!! Daher 64KB sollten reichen ... Eine weiter Anforderung habe ich aber noch: Der Speicher sollte ein DIL-Gehäuse haben. Mit SMD habe ich
-
Thread
Elektroniker Stammtisch Nähe München
hervorragenden 8051 Assembler Kostenlos auf seiner Seite: http://www.controllertechnik.de/ Keil C51 http://www.keil.com/c51/ Und mehr Infos zu 8051 http://www.ipd.uka.de/~buchmann/microcontroller/index.htm http://plit.de/asem-51/ http://www.mikrocontroller.net/articles/8051 Leiterplatten:
Ich werde heute leider nicht kommen können. Ich muss bis morgen ein Programm zum Laufen kriegen (MS-Access) und ich brauche voraussichtlich noch den ganzen Abend für die Fehlersuche... Drückt mir die Daumen! Wünsche euch anregende Gespräche und eine leckere Pizza! Hans
-
Thread
ESP8266 - WiFi "stoppt" seinen Betrieb - kein Crash - keine Funktion mehr
bei Arduino mal gelesen, daß es für seine Funktion kritisch ist, daß die interne Firmware alle paar ms Prozessorzeit bekommt, da er sonst abschmieren kann. Keine Ahnung, ob das beim hier gewählten Weg der Programmierung eine Rolle spielt, aber vielleicht ein Denkansatz.
Arduino mal gelesen, daß es für > seine Funktion kritisch ist, daß die interne Firmware alle paar ms > Prozessorzeit bekommt, da er sonst abschmieren kann. Keine Ahnung, ob > das beim hier gewählten Weg der Programmierung eine Rolle spielt, aber > vielleicht ein Denkansatz. Ja, das spielt eine
-
Thread
DCF-Signal richtig auswerten
Valides Signal { //Überprüfen ob eine 0 oder eine 1 empfangen wurde //0 = 100ms; 1 = 200ms //Abfrage größer als 150ms (15% von 1Sekund also 150ms) if(dcfLowTicks * timerInterruptTime > 150) { dcfRxBuffer = dcfRxBuffer | ((unsigned long long) 1 << dcfBitCounter
------------------------------- uint8_t dcf77_10ms() { dcf77_ok = FALSE; if (DCF77_PIN & (1<<DCF77_DATA)) // low oder high? { // high dcf77_time_cnt++; // 10ms Time +1
-
Thread
MyAVR Display
Okay, danke soweit. Sprich wenn ich einen Befehl ausgeführt habe kommt E für eine ms auf low, dann wieder auf high, eine ms warten und dann nächster Befehl? Hier das Datenblatt: http://www.reichelt.de/?;ACTION=7;LA=6;OPEN=0;INDEX=0;FILENAME=A500%252FLCD162C%2523DIS.pdf;SID=29MY@xsqwQAR0AACpSTWI654e4c217a3a333ef6475519295d9237
unknown) Device code: 0x4f = (unknown) Device code: 0x50 = (unknown) Device code: 0x51 = (unknown) Device code: 0x52 = (unknown) Device code: 0x53 = (unknown) Device code: 0x54 = (unknown) Device code: 0x55 = ATtiny12 Device code: 0x56 = ATtiny15 Device code
-
Thread
Neues Oszilloskop
www.ebay.ch/itm/OWON-VDS1022I-USB-Isolation-PC-Digital-Storage-Oscilloscope-25MHz/352061843980?hash=item51f8856a0c:g:JJ4AAOSwdnZaAQ6~)(vertrauenswürdig ?) ein Scope reichen würde. Und kommen dabei eigentlich Zollgebühren in der Schweiz auf, abgesehen von den möglichen Kuriergebühren?
Impandence: 1MΩ 25pF Max Sample Rate: 48MS/s Vertical Resolution: 8 Bit Gain Range: 20mV-5V, 8Steps DC Accuracy: ±3% Timebase Range: 1ns-9000s, 39 Steps Vertical Adjustable: Yes Input Protection: Diode clamping
-
Thread
Ätz-Start-Set und diverse Fragen dazu
Weiter oben hat mal jemand geschrieben: Prozesskontrolle Man muss schon wissen, was man tut. Auf µs, ms kommt es nicht an, aber auf 15 Sekunden mehr oder weniger beim Belichten schon. Beim Entwickeln: uninteressant Lesen hilft viel, aber 100 Fragen (hier) ergeben 150 Antworten. Viel Glück. 73
keine chemischen Lösungen, die genauer als +- 10% sind und auch meinem Ätzbad ist es egal, ob es 47, 51,6 oder was auch immer für Grad Celsius es sein mögen. Dann wollen sie hier das Ätzbad auf 1/10tel Grad genau temperieren. '51,6 mag ja noch angehen, aber 51,7..?'...oh Gott... ' Wälzt man das Ätzbad
-
Thread
Festplatte im netzwerk freigben 486er
brauchte. Vom DOS-Speicher ließ das deutlich mehr übrig als der (deutlich neuere) LanManager von MS.
, weil es doch für manche noch nützlich sein kann. Ich kenne noch einige Industrieanlagen, die mit MS-DOS 6.22 und WfW 3.11 laufen und auch ins Netzwerk eingebunden sind.
-
Thread
Sleep Mode Probleme -Atmega169P
t i; if( (PINE & FLAG_CODE_Taster) == i ) { //DISABLE_S1_S2; OCR2A = TCNT2 +5; //20ms TIMSK2 |= (1<<OCIE2A); //Starte Capture-Interrupt fuer Entprellroutine } } Welchen Wert hat i ?
OCIE2A); //Stoppe Overflow counter = 0; } else { OCR2A = TCNT2 + 51; //200ms } } if( --rpt == 0 ) { FLAG1_LOC |= (1<<FLAG_S1_LONG); TIMSK2 &= ~(1<<OCIE2A); //Stoppe Overflow } } [/c] Vielen Dank für eure schnellen Antworten :-) Grüße
-
Thread
Expertenmeinung über Schwingungen am CAN-Bus
anderes Gerät auf dem CAN-Bus angeschlossen ist. Die nächsten Bilder zeigen CANH und CANL vor der 2x51µH-Drossel RS(432-4530) und dann immer danach. Bild 3 zeigt das Signal vor der Drossel. Was mir nicht gefällt ist die Tatsache, dass die Low-Phasen so schräg verlaufen. Könnte dies mit der Differenzübertragung
@MS 1.Die Sache ist lange verjährt, aber als abschreckendes Beispiel gut in Erinnerung! 2.Du wirst lachen: wir haben gemessen! Aber wenn bei mehr als 100m Kabel DREI Meter VOR dem Ende ein DAU den
-
Thread
SIGNAL in WINAVR
noch nicht verwendet und alle Aufrufe in einer Batch gemacht. Beim 8051 war mit z.B.: #include <reg51.h> eben schon alles geregelt, was den Typ betrifft. Beim AVR muß ich dann also nicht nur *.c, *.h sondern auch die *.bat für jedes Projekt sichern. 2a) Da sollte man wohl diese beiden Includes
Nun, sie bringen Modularisierung. Compilezeit? Weiß nicht, ob das nun 200 oder 250 ms dauert, ist mir dabei eher egal...
-
Thread
Standard COM-PIN-Belegung des Win2003 USV-DIenstes?
Das hat MS selbst mal vor Äonen veröffentlicht, finde jetzt aber gerade keinen Link mehr. Folgendes ohne Gewähr: CTS (8 an 9pol.) ist Stromausfall (Eingang) DCD (1 an 9pol.) ist Akku-Leer (Eingang) DTR
Ereignisse beziehen. Genau das habe ich Dir aber erklärt. Vor Äonen (also irgendwann so zwischen NT 3.51 und NT4.0) hat MS auch mal eine "Schaltung" veröffentlicht, die mit zwei Umschaltern die Signale für Netzausfall und Batterie leer simulierbar macht. Mit den von mir gelieferten Informationen und
-
Thread
Programme in Basic
@Ingo: Nichts gegen Basic, für schnelle, einfache Sachen benutze ich auch gerne Bascom51, was Du allerdings nicht bedenkst, ist, dass sich jeder Assembler- oder C-Programmierer ziemlich schnell sehr umfangreiche Bibliotheken erstellt, die er immer wieder verwendet. Meine 8051-Bibliotheken
eckige Rad erfinden - das wird nie rund laufen....! BASIC auf dem MC erinnert mich ein wenig an MS auf dem PC - Warum brauche ich heute über 1GHz für eine annehmbare Arbeitsgeschwindigkeit für eine Textanwendung, derrer gleichen Ergebnisse ich bereits auf einem 286er mit 16MHz schon hatte? Aber
-
Thread
RTC verliert Daten
es auch sein soll), nur der RAM enthält danach nur noch 0xFF. Mache ich nur einen Rest beim AT89C51RC2, dann bleiben die Einstellungen erhalten. Die Software ist also OK...
nur an der Zeit. Ich habe nochmals das Datenblatt des 1287 gelesen und bin ziemlich am Ende auf 200ms zwischen Vcc>4,25V und CE\ auf Low gestoßen. Jetzt macht der uC erst eine Pause zwischen dem Einschalten und dem Datentransfer zur RTC und es geht...
-
Thread
China SUPER Bauteile-Schnäppchen Thread [V4]
weiterverticken, damit ihn jemand so nutzt, wie vorgesehen... ---- Update: Offenbar ist in manchen/allen MS309 Clones ein STC 8051er sowie ein Microchip CAN-Controller MCP2515: https://mysku.club/blog/china-stores/42583.html In dem Fall, wie auf der russischen Seite gezeigt, ein STC89LE51RD-40C: 61
Dongle laufen) Mit dem CH552G habe ich schon was gemacht anhand der HID-Beispiele und mit Keil C51
-
Thread
Erzielbare DCM Genauigkeit
Urgs, Peinlicher Rechenfehler, 2*25,6 gibt natürlich 51,2 MHz (und nicht etwa 52,2). 51,2 MHz sind wunderbar per PLL synthesierbar. Mit der richtigen Frequenz gibt es in der Simulation über 10 ms keine signifikante Verschiebung und die Implementierung auf
-
Thread
Schukostecker für Balkonsolaranlage ausreichend
Einspeisewechselrichter die nach Trennung kurzzeitig Spannung halten, Wie soll das denn länger als 10ms gehen? Welcher Einspeisewechselrichter macht das?
Michael B. schrieb im Beitrag #7300389: > Nein. > > 10ms Abschaltzeit sind drastisch schneller als du je an die Kontakte > kommen kannst und dazu muss der Wechselrichter auch nicht wissen wo N > bzw. L ist. Gibt genügend solche Kleinwechselrichter bei
-
Thread
1000 Leds an Atmega32
für ein Bit 1,25µs mit fastLED2! weder ws2811 noch fastled1 erreichte das, da brauchte ich ca. 300ms und für eine LED mit 24 bit sind das 30µs. Somit komme ich auf 100 LEDs auf ca. 3ms. sind aber nicht so billig mit 51€ für 300 LEDs, aber mit 17ct pro individuell einstellbarer LED doch noch günstig
-
Thread
8051 Ultraschall problem
wiederholt zaehler++; if(zaehler<101) .... Mit 50 Impulsen hast Du eine Impulsfolge, die 1,25ms lang ist. Damit ist der minimale Messabstand auf 330m/s*1,25ms = 41,25cm begrenzt. Ich habe mit enigen Impulsen bessere Erfahrungen gemacht. übrigens: sbit transmit0 = P1^0; ist alte RIDE-Syntax.
Einzelpins in der Include-Datei deklariert sein (bei neueren Chips eigentlich immer der Fall - siehe c51rx2.h) unn tschuess Bernhard
-
Thread
Projekt : GPS Tracker
while(1) { } } fopen_(fileName,'a',&logFile); fputs_(&logFile, "***START***"); _delay_ms(500); fclose_(&logFile); [/c]
ein paar kleine Abweichungen liegt der Pfad perfekt auf der Straße: http://maps.google.com/maps/ms?ie=UTF&msa=0&msid=102721812355516657756.00045138ef742b1089df3
-
Thread
avr adc hochfrequenz-messung auf mehreren kanälen
Du kannst auch den Takt runterskalieren, während du auf den ADC wartest. Aber die ca. 20µs alle 125ms machen das Kraut auch nicht fett.
Sample zu verwerfen sein... d.h. ADC noise cancelling mit main clock (ohne CPU core) muß für ~400ms aktiv sein, bei rund 70-80 uA (Fig. 20-10), idle. Wobei das wohl alles Werte ohne ADC sind (der bis zu 107 uA nimmt @ 5V,8MHz, oder +27% Leistung, wenn aktiv - also rund 100 uA). 100 uA * 200 ms @
-
Thread
Interrupts SAVING STATUS AND W REGISTERS IN RAM
SCHLEIFER: call UHR movlw .150 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms warten call VERZ100US movlw .250 ; und anschließend 15ms
-
Thread
Zugriff auf SRAM Speicher in Assembler
test_byte: .byte 0x3A ;; Ein Doppelpunkt .text .global main .extern delay_ms, init_usart, usart_transmit_byte, usart_transmit_string main: ldi r16, hi8(RAMEND) ldi r17, lo8(RAMEND) out SPL, r17 out SPH, r16 rcall init_usart
include <avr/io.h> .text .global init_usart, usart_transmit_byte init_usart: ldi r16, lo8(51) out UBRRL, r16 ldi r16, hi8(51) out UBRRH, r16 ldi r16, (1<<RXEN) | (1<<TXEN) | (1<<RXCIE) out UCSRB, r16 ldi r16, (1<<URSEL)|(1<<USBS)|(3<<UCSZ0) out UCSRC, r16
-
Thread
Warte-Befehl in Assembler?
ist, ist die Lösung über den Timer weitaus eleganter als den Prozessor nop'en zu lassen, bis die 500ms vorbei sind (denn was anderes zum warten gibts eigentlich nicht).
von 15µs und 60µs. Bei Deiner Anwendung kommt es warscheinlich nicht darauf an, ob es 500 oder 600ms sind. Da würde ich dann einen Timerinterrupt nehmen, der einen Takt von etwa 100ms erzeugt. Und wenn das Relais eingeschaltet wurde, wird ein Register auf 6 gesetzt und der Timerinterrupt zählt es runter
-
Thread
Ampelsteuerung mit 80C552 und µvision3 in Assembler
es > klappen kann. Nimm einen Simulator und probier es aus. http://www.dontronics.com/zip/sim51.zip Wenn Die Autofahrer aber rauskriegen, daß Du es bist, der sie 60s warten läßt, wirst Du regelmäßig zerstochene Reifen haben. Eine ISR mit RET ist ganz schlecht. Und eine ISR mit LJMP zum
table ;-------------------------------------------- delay_val equ 50000 ; 50.000 cycle = 50ms at 12MHz ;input: A = delay [1..255sec] delay_sec: mov r5, #20 ; 20 * 50ms = 1s _dse1: mov r6, #high(delay_val/2+253) mov r7, #low(delay_val/2-2) _dse2: djnz r7, _dse2
-
Thread
Temperaturmessung mit Temperatur-Zeitmodul
mit dem Temperatur-Zeitmodul von Conrad (19 55 88) realisiert? Dazu möchte ich einen Atmel AT89C51AC2 verwenden. Wäre sehr dankbar für einen kleinen Denkanstoß. Ciao Ingo
serielle Signal halte ich nichtfür 'UART-geeignet'. Es hat einen verlängerten 1. Clockimpuls, von 1,25 ms Dauer, die Folgeimpulse sind dagegen nur 0,125 lang. Man scant mittels Timer die Impulslänge und beginnt die Datenübernahme ab einem erkannten 1,25 ms Impuls. Eine andere schnelle Lösung, die bei mir
-
Thread
Dataflash and MEGA32 geht nicht
Voltage: 3.3V Mega Clock: 8 MHz SPI - Clock: 1 MHz Codeschnipsel fuer das SPI init SPCR=0x51; SPSR=0x00; Codeschnipsel zum lesen der Device ID (erstes Byte) PORTB.2=1; //von vorher - zieht CS auf High delay_ms(1); PORTB.2=0; // CS low spi(0x9F); // sended read device id x
0xFF); // dummy byte hinterher um daten rauszusaugen PORTB.2=1; // CS zurueck auf high delay_ms(1); PORTC=x; und Port C bleibt dunkel (DDRC=0xFF) irgendwer ideen? Tobi