-
Thread
Digital-Servo Futaba S3151 am ATMega48
freiem Auge und ohne Messgerät erkennbar abweichend von 1 Sekunde. Habe den Test gemacht. LED geht regelmäßig nach einer Sekunde an und wieder aus. Scheint taktmäßig alles OK zu sein. Folgenden Code habe ich dazu verwendet: [c] void delay_ms(int ms) { TCCR0B |= (1<<CS01) | (1<<CS00)
) ; TCNT0=0; } TCCR0B=0; } int main() { DDRC = 0b00100000; while (1) { PORTC |= (1<<PC5) ; delay_ms(1000); PORTC &= ~(1<<PC5) ; delay_ms(1000); } } [/c]
-
Thread
ADC Wandler ADCL
if ((RegelspannungL & 0x02)== 1) PORTD |= (1<<7); else PORTD &= ~(1<<7); PORTC = RegelspannungH;
Ich habe zum test ADCL auf PortC ausgeben, (ADCH auf PortC ging ohne Probleme) dann mit dem Oszi jeden Pin gemesen keine Änderungen alle bleiben auf 0.(ich habe natürlich die eingelesene Spannung verändert)
-
Thread
ATMega128 stürzt ab nachdem man Interrupts einschaltet.
unsigned int i; ISR( TIMER0_OVF_vect ) { Counter++; if( Counter == 10000 ) { i++; PORTC=(1<<i); if (i==7) i=0; Counter = 0; } } int main() { Counter = 0; DDRA=0xff; DDRB=0xFF; DDRC=0xff; PORTA=0x01; PORTB=0x01; PORTC=0; TCCR0 = ( 1 <<
// Interrupts an while( 1 ){} } [/c] Dieses soll einfach nur den PortC der Reihe nach durchschalten. Bei Debuggen passiert folgendes (Ich gehe mit F11 Schritt für Schritt jede Zeile durch): Programm läuft bis zum sei();. Drücke ich dann ein weiteres Mal F11 bleiben
-
Thread
LCD an ATmega 8 Routine, die das Busy Flag abfragt, läuft nicht!
das Busy-Bit kannst du erst NACH einem (ganzen!) Befehl abfragen. Zwischen den beiden 4Bit-Nibbels geht das nicht. Und erst recht nicht geht das während der E-Puls gerade läuft. (Der E-Puls muss eh nur sehr sehr kurz sein, da waren die NOPs schon richtig)
macht man >LCD-Ausgaben mit Absicht viel langsamer, als sie (auch mit Waits) >benötigen. Darum geht es doch gar nicht. MfG Spess
-
Thread
ATMEGA8 in C: 1 Tastendruck --> 2 verschiedene Funktionen -->Hilfe!
TURN_ON_MOTOR( CLOSE ); liest sich nun mal schon viel besser und aussagekräftiger als PORTC |= ( 1 << PC0 ); PORTC &= ~( ( 1 << PC0 ) | ( 1 << PC1 ) ); PORTC |= ( 1 << PC1 ); obwohl es genau dasselbe in anderer Verpackung ist.
Beitrag #2025500: > liest sich nun mal schon viel besser und aussagekräftiger als > PORTC |= ( 1 << PC0 ); > > PORTC &= ~( ( 1 << PC0 ) | ( 1 << PC1 ) ); > > PORTC |= ( 1 << PC1 ); das stimmt, allerdings - muss selber ständig nachschaun! mfg
-
Thread
ADC 10bit auslesen
die Frage: Wie krieg ich den inhalt von ADCL auf die zwei PINS? Bis jetzt habe ich einfach (ADCH = PORTC) benutzt. Schon mal danke für die Antworten die hoffentlich kommen. mfg peter
und PIN7 zum DA-Wandler dazu >schalten. Zum Glück willst du die unteren Bits damit umschalten. PORTC und PORTD können nicht gleichzeitig gesetzt werden. Es geht zwar relativ schnell, aber beim umschalten der unteren Bits wird es zu so was wie Umschaltrauschen kommen. Ein kleiner Kondensator um
-
Thread
Timer Output Compare Pin tut nichts
des Programmes quer schiesst. Um ein Hardwareproblem auszuschliessen: Gelingt es dir eine LED an PORTC6 definiert blinken zu lassen?
Outpurt im register TCCR1A aktiviert habe und dann das DDR verändert habe. in der reihenfolge wie oben gehts gut. übrigens danke für den vorschlag dass ich mit ner LED testen soll. das war zur ersten klärung ob der ausgang überhaupt geht sehr gut.
-
Thread
EEPROM mit TWI Schnittstelle beschreiben und lesen
TWCR = (1<<TWINT)|(1<<TWEN)|(1<<TWSTO); //Transmit Stop condition while (TWCR & (1<<TWINT)); PORTC &= ~(1 << DDC2);[/c] Jetzt habe ich versucht, meine Bytes wieder auszulesen, es wird mir über meine USB am Terminal, der error11 und error12 ausgegeben. Der Code sieht so aus: SLA_W =
Geht jetzt, man sollte nur [c] PORTC |=(1<<DDC2); [/c] zu beginn, mit dem hier ersetzen [c] PORTC &=~(1<<DDC2); [/c] Falls es jemand jemals brauchen sollte. Vielen Dank nochmal. Warst
-
Thread
RB6,RB7 und ICD2 mit pic18f
(1=input, 0=output) TRISB=0x00; PORTB=0x00; // Configure port C output TRISC=0x00; PORTC=0x00; Habe es mit und ohne angeschlossenem ICD2 probiert. Mit angeschlossenem Debugger sehe ich das zwar TRISB auf z.B. 0x55 geht PORTB aber nur auf 0x15 bzw. TRISB=0xaa und PORTB nur auf 0x2a.
-
Thread
Atmega8 ADC Frustration (Assembler)
initialisieren sei ;Interrupts zulassen main: SBI portc, 1 rcall wait CBI portc, 1 rcall wait ldi r18, 0b11001111 out ADCSRA, r18 ;ADC conversion start rjmp main
dann keine PullDown-Verbraucher dranhängen. Du hast nicht geschrieben, ob Deine LED an +5V oder Gnd geht.
-
Thread
ATmega48 Hardware-PWM - Zu kurzer Servoweg
include <iom48v.h> #include "Taster.h" void port_init(void) { PORTB = 0xF1; DDRB = 0x0E; PORTC = 0x43; DDRC = 0xBC; PORTD = 0x00; DDRD = 0xFF; } //TIMER1 initialize - prescale:8 // WGM: 10) PWM phz correct, TOP= ICRn // desired value: 50Hz // actual value: 50,000Hz (0,0%)
um das Interrupt vom Timer1 ausführen zu >lassen und die Funktion des Tasters durchzuführen. Oder geht das anders >besser? Es geht vieles besser . . Für einen Einfachen Test kann man auch mit _delay_ms() arbeiten, ohne Interrupts. >Und dann habe ich das mit dem ISR wohl noch nicht richtig verstanden
-
Thread
Wie viel LCD´s kann man gleichzeitig mit dem Atmega32 ansteuern ?
so einfach geht das nicht. Schreib erst mal ein Programm in dem nur ein LCD vorkommt und bring das ans Laufen. Da such in dem Programm wo überall auf die E Leitung zugegriffen wird und schalte dann Displayabhängig
die funktion lcd2 dann funktioniert alles auch einwandfrei -.- aber sobald ein zweites dazu kommt, geht gar nix mehr xD
-
Thread
Mega8 Temperatur Drehzahlregler
glaube ich hab es verstanden.Da Int0 ja bei jeden feststellen einer Änderung am Pin ins Unterprogramm geht brauche ich ja garnicht auf ein Signal warten sondern nur den Timerwert speichern.Diesen dann als sagen wir mal wertneu und wertalt speichern und vergleichen.
--------- Config Portb.1 = Output 'Test Output Motor Config Portc.0 = Input 'ADC0 Input Config Portc.1 = Input 'ADC1 Input Config Portb.3 = Output 'Outpu
-
Thread
Kürzest möglicher Interrupt, brauche eure Hilfe!
nicht zu blockieren) lediglich ein Zählerstand (Timer1) in ein Array geschrieben und dazu der ganze PORTC eingelesen und in ein weiteres Array gespeichert werden. Und das jedesmal wenn sich an einem der 4 Pins was ändert. Der Timer soll dabei mit 1MHz takten (prescaler 8 bei 8MHz Systemtakt). ich möchte
weitergeleitet werden. Dann kann man die Mischer auch im Flug einstellen und auch zu und abschalten. Das geht sowieso viel besser als sich mit einem falsch eingestellten Mischer durch den Flug zu quälen. Nächster Versuch, neues Glück mit leicht geänderter Einstellung.
-
Thread
Lüfterregelung Bascom
Word Dim Isttemp As Word Dim Temperatur As String * 3 Dim Temp As String * 3 Config 1wire = Portc.5 Tempsensor1(1) = 1wsearchfirst() Config Timer1 = Pwm , Pwm = 8 , Compare A Pwm = Clear Down , Prescale = 256 Enable Timer1 Enable Interrupts Solltemp = 30 Do Gosub Digital
Wert einfach nicht weiter hoch gehen kann. Nur berücksichtigst du das hier nicht. Wenn es nach dir geht, könnte der PWM Wert auch auf 2 Millionen hochlaufen oder auf 5 Millionen! Das Problem: Als 16 Bit Wert kann Pwm1a diese Werte gar nicht annehmen. Bei 65535 ist Schluss. Wenn deine Regelung daher
-
Thread
Welche Hardware für Microcontroller Programmierung?
Jtag aktiviert wenn Du in den Fuse einstellungen "Jtag enable" deaktivierst dann funktioniert auch PortC
An sich geht C ja nur er gibt immer 16 (bzw 16+eingabe) aus das mit den Jtag schaltet das ab? (werde ich morgen mal ausprobieren)
-
Thread
switch-case-Anweisung zu langsam
mit [c] volatile uint8_t * PORT[3]={ &PORTB, &PORTC, &PORTD }; [/c] bekomme ich die Meldung: Build succeeded with 0 Warnings. Ohne das *volatile* bekomme ich allerdings die Warnung: *initialisation discards qualfiers from pointer target type*
schrieb im Beitrag #2011672: > du kannst ja immer noch ein sei/cli drum herum machen :-) Wie geht das?
-
Thread
Atmega 48 - und alles ist anders.
q = ~q; while(1){ DDRB = 0xff; PORTB = 0xff; _delay_ms(time); DDRC = 0xff; PORTC = 0xff; _delay_ms(time); DDRD = 0xff; PORTD = 0xff; _delay_ms(time); DDRB = 0xff; PORTB = 0x00; _delay_ms(time); DDRC = 0xff; PORTC = 0x00; _delay_ms(time); DDRD =
0x00; _delay_ms(time); DDRB = 0xff; PORTB = p; _delay_ms(time); DDRC = 0xff; PORTC = p; _delay_ms(time); DDRD = 0xff; PORTD = p; _delay_ms(time); DDRB = 0xff; PORTB = q; _delay_ms(time); DDRC = 0xff; PORTC = q; _delay_ms(time); DDRD = 0xff; PORTD
-
Thread
ATmega32L tut nix, ISP geht
Hallo, hier meldet sich mal wieder ein Newbie mit Anfängerproblemen. Ich versuche einen ATmega32L dazu zu bringen, irgendetwas zu tun. Ich sag mal was funktioniert. (Ich nutze AVR Studio 4 unter Windows) a) ich kann via ISP seine Signature auslesen, wobei ich im AVR Studio in der device Liste nur den "ATmega32" und nicht den "ATmega32L" finden kann. Dennoch meckert AVR Studio nicht, die Signature scheint also zu passen. b) Ich kann die Fuses programmieren. Ich habe einen 8MHz Quarzt dran und ich sehe schön, dass der Quarz anschwingt, wenn ich die SUT_CKSEL entsprechend programmieren
-
Thread
ATMega8 Externer Interrupt INT0
PORTC=0x02; _delay_ms(40); PORTC=0x00; _delay_ms(40); } } void tuwas3 (void) { // toggle c2 80 msec sei(); PORTC=0; while(1){ PORTC=0x04; _delay_ms
PORTC = 0x00; } return 1; } [/C]
-
Thread
sizeof() funktioniert nicht bei Array im EEPROM
> > Ausgabe bis Zeichen gleich '\0' NUL-Byte ist, dann stop. > Spart ne Menge Probleme. :-) Geht aber schon bei rechtsbündiger Ausgabe nicht mehr so einfach. Matthias
{ uart_send_byte(eeprom_read_byte(&a[x])); } } void relais_on() { if((PORTC &~ 0b00010000 )){ PORTC = 0b00010000; } else{ send_eemem_string(help_1); uart_send_lf(); uart_send_string(relais); } uart_send_string(r_on); uart_send_lf();
-
Thread
LED leuchten lassen
; _delay_ms(500); PORTC ^= (1<<PC1); _delay_ms(500); //GElb aus PORTD |= (1<<PD7); //alle Ampeln sind aus PORTC |= (1<<PC4); PORTC |= (1<<PC1); PORTB ^= (1<<PB0); _delay_ms(500); //Fußgänger 1 Rot Ein PORTD ^= (1<<PD6); //Fußgänger 2 Rot Ein _delay_ms(500); PORTC ^= (1<<PC5); //Auto 1 Rot Ein _delay_ms(500); PORTC ^= (1<<PC2); //Auto 2 Rot Ein _delay_ms(500); PORTC ^= (1<<PC4); //Auto A1 und A3 kommt gelb dazu _delay_ms(500); PORTD |
-
Thread
"Big C" Pong und IC2 Bus. Wie?
/Ausgänge) *---------------------------------------------------*/ DDRC = 0x0f; // ( 0x0f PORTC als AD-Eingang) DDRB = 0xff; // Portb = Output DDRD = 0xff; // Portd = Output /*--------------------------------------------------------------------------- * 8-Bit Timer TCCR0
low nibble */ portdout = portdout & 0xf0; /* high nibble */ PORTD = portdout & 0xff; PORTC = portcout & 0xff; PORTB = (ledval >> 8) & 0x03; /* high byte */ sei(); /* Interrupts wieder erlauben */ } </code>
-
Thread
DOG-M 162 will nichts anzeigen
Sobald du es mit 5V versorgt hast (genau 5V nicht weniger sonst geht das Display nicht an) Sobald es mit 5V versorgt wurde siehst du einen schwarzen Balken und erst dann kannst du das Display mit dem ATmega8 initialisieren.
oh wow es geht :) tausend dank :) bei mir erscheint ein test auf dem Bildschirm! Da fällt mir ein Stein vom Herzen! Vielen dank für die Mühen :)
-
Thread
PWM mit Poti steuern, Problem im Code
// falls Poti 0 zugeschaltet { // LED fuer Poti 0 an, Poti 1 aus PORTC |= ( 1<<PC1 ); PORTC &= ~( 1<<PC0 ); uint16_t ADCvalue0; ADCvalue0 = get_ADC(triggerflag_poti); // channel ADC0 ICR1 += (500 - ADCvalue0)*timefactor
// falls Poti 1 zugeschaltet { // LED fuer Poti 1 an, Poti 0 aus PORTC |= ( 1<<PC0 ); PORTC &= ~( 1<<PC1 ); // Werte messen und voneinander abziehen uint16_t ADCvalue1; ADCvalue1 = get_ADC(triggerflag_poti); // channel ADC1
-
Thread
LCD Hängt immer Datenmüll an
Jetzt gehts! Danke!
@ Sören Timm (stimmy) > DSCI1467.JPG > 1.7 MB, 49 Downloads >Jetzt gehts! Ja, jetzt geht's mal wieder los. Hirn aus, Spass rein. Ohje! Lies mal was über [[Bildformate]]! Und [[Netiquette]], lange Quelltexte gehören in den Anhang! MfG Falk
-
Thread
Bascom Unerklärlicher Fehler im Programm
deklarieren Declare Sub On_int0 Declare Sub On_int1 'LCD Initialisieren Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , _ Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 2 Cls Cursor Off 'PD2(Int0) und PD3(INT1) als Eingang , PD7 und PD7 als Servo und PB0 als
deklarieren Declare Sub On_int0 Declare Sub On_int1 'LCD Initialisieren Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , _ Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 2 Cls Cursor Off 'PD2(Int0) und PD3(INT1) als Eingang , PD7 und PD7 als PB0(Servo) und PB0
-
Thread
AVR Bascom Befehl Case div. Pins abfragen
: Portc.5 = 1 'LED an (Pin PC5) wait 6 End Select Loop End
Würd' mal sagen: [code]If Eingabe <> PortC Then Geht Nicht Else Nix kapiert End If[/code]
-
Thread
Drehzahl über ICP
Das versuche ich gerade mit: [c] //LED einschalten PORTC |= (1<<PC0); PORTB |= (1<<PB4); _delay_ms(2000); PORTB &= ~(1<<PB4); PORTC &= ~(1<<PC0); [/c] Die LED geht zwar an aber nichtmehr aus. Btw ich benutze myAVR Workpad
weil der Watchdogtimer ständig aktiv war. Über die Sofware die Fuses umgestellt und siehe da es geht :)
-
Thread
Displaytech 64128c Osama's lab GLCD-Lib
anzusprechen! CS richtig verbunden? Tausche mal beide CS und schau ob dann die rechte Hälfte nicht geht. und überprüf das mal: //#define CS_ACTIVE_LOW 1 //Define this if your GLCD CS //is active low (refer to datasheet)
#1988611: > CS richtig verbunden? Tausche mal beide CS und schau ob dann die rechte > Hälfte nicht geht. Habe ich schon probiert, gleiches ergebnis: nur rechte hälfte geht. Nils S. schrieb im Beitrag #1988611: > und überprüf das mal: > //#define CS_ACTIVE_LOW 1 //Define this if your GLCD CS
-
Thread
AVR Studio Zahlenschloss Programm Problem
nicht - da gibts probleme... erstmal zur Funktion selbst: Es gibt 2 Leds, Rot und Grün. Rot an PORTC 0x02; grün an PORTC 0x01; dann ein Relais an 0x04. als "Tastatur" habe ich erstmal einen BCD-Dekodierschalter genommen, welcher mit einem druck auf einen Taster an PINC 0x08 bestätigt wird.
} if (PINC==0x00) i++; } if (code=='1990') { PORTC=0x05; _delay_ms(3000); PORTC=0x00; i=0; } else { PORTC=0x02; _delay_ms(3000); i=0; } } }
-
Thread
Verstehe meinen Pic nicht!
an PB6 und PB7 bringen gar nichts. Du musst verhindern das das Display beim brennen auf auslesen geht. Dann liegen die Ausgänge des Displays auf PB6 und PB7. Die Pullups gehören an CE oder RD. Nur da bringen sie was. Debuggen mit angeschlossenem Display kannste wohl knicken. Evtl. gehts doch wenn
PB6 und PB7 bringen gar nichts. Du musst > verhindern das das Display beim brennen auf auslesen > geht. Dann liegen die Ausgänge des Displays auf PB6 und PB7. > Die Pullups gehören an CE oder RD. Nur da bringen sie was. > Debuggen mit angeschlossenem Display kannste wohl knicken. > Evtl. gehts doch
-
Thread
Frage zu C-Syntax
> sbit(PORTC,0); PORTC |= (1<<0); > sbit(DDRD,4); DDRD |= (1<<4); > cbit(PORTD,4); PORTD &= ~(1<<4); > Frage: Was machen diese beiden define Statements? Definieren Makros (Regeln) für den
Verhalten (und der einen oder anderen kleinen Erweiterung für Spezialsachen, wenns gar nicht anders geht) Auch dein BASCOM muss ja letztendes bei SET Portc.0 für den µC die entsprechenden Assembler-Anweisungen generieren. Ob du nun SET Portc.0 oder PORTC |= ( 1 << PC0 ); schreibst
-
Thread
FFT auf ATmega128
Video =/ *picture attached* Hab die lcd.h an meine Ports angepasst ... [c]#define DATA_PORT PORTC #define DATA_DDR DDRC #define CTRL_PORT PORTE #define CTRL_DDR DDRE #define CTRL_RST 7 #define CTRL_CS2 4 #define CTRL_CS1 3 #define CTRL_E 2 #define CTRL_RW
aus lcd_print_point(), lcd_print_signal() und lcd_print_column() mal das lcd_update() raus. Dann gehts zügiger zur Sache.
-
Thread
4x20 Zeichen mit KS0066 funktioniert nicht (4-Bit)
_delay_us(40); PORTC = 0b01100001; //Function set Zeile 1 oberes Nibble _delay_us(40); PORTC = 0b01100000; //Enable AUS _delay_us(40); PORTC = 0b01100001; //Enable EIN _delay_us(40); PORTC
(40); PORTC = 0b00111000; //Enable AUS _delay_us(40); PORTC = 0b00111001; //Enable EIN _delay_us(40); PORTC = 0b00000001; //Entry Mode Zeile 1 unteres Nibble _delay_us(40); PORTC =
-
Thread
portc.4 nur 1.5V
ach ja und ich programmiere in basic also a la portc.4 = 1 :)
JTAG Fuse abschalten, dann sollte es laufen. > ach ja und ich programmiere in basic also a la portc.4 = 1 :) Falls es um BASCOM geht: damit kann man auch die Fusebits programmieren.
-
Thread
Programm hängt sich auf (bascom)
swstack = 80 $framesize = 90 Config Pinc.0 = Input Portc.0 = 1 Config Portb.1 = Output Taster Alias Pinc.0 Led Alias Portb.1 Do Debounce Pinc.0 , 0 , LED , Sub Loop End LED: Led = 1 Gosub warten Led = 0 Return Warten: wait 2 return
eigentlich soweit, aber ab und zu (ziehmlich selten) hängt sich das Programm auf. Die LED Bleibt an, und geht nicht mehr aus, oder die geht beim Tasten nicht an usw. Was kann das sein? Danke mfG Alex
-
Thread
Zahl >1Byte über USART-Interrupt auswerten
(udr) in R5, LOW(udr) //rcall binBCD OUT PORTA, R3 OUT PORTC, R2 RETI
Das UDR ein high-byte hat, ist mir neu. Falls du an das 8. Datenbit heran möchtest, geht der Weg über ein "UART Control and Status Register". Schau dazu am besten mal ins Datenblatt: USART-->Register Description Gruß Skriptkiddy
-
Thread
1V am Ausgangsport des Atmega8
einen Eingang und 6 Ausgänge konfiguriert habe und ich dann ein Register auf dem Port ausgebe (out portc, r16). Was passiert da mit meinem Eingang? Danke nochmal. Gruß, Russell
Hi Es geht aber um PortB Pin6. MfG Spess
-
Thread
Kommunikations FPGA<-PIC: Fehlerhafte Erkennung der Daten
delay_ms(500); if(portc.2==1) //Wenn shake=1, sende Daten { portd=0x01; //Sende Daten delay_ms(500); portb=0x0; //setze Hand-Signale wieder auf 0 } } [/c] EDIT: Nur, dass du mich nicht falsch
auf Datenbus portb=0x01; // Setze Bits auf Kombination für send:Adresse "01" (Hand-Signal) portc.2 = 1; // Datenübergabe delay_us(10); portc.2 = 1; [/c] Und auf der FPGA-Seite: [vhdl] Use IEEE.Std_Logic_1164.All; Use IEEE.Numeric_Std.All; entity uCread_topModule is Port ( clock
-
Thread
Drei 7-Segment-Anzeigen über nur einen Port ansteuern
Latch-Eingang für je ein Segment. void dsp_char(unsigned char char2display) { /* set MSB digit */ PORTC = (PORTC & 0xf0) | (char2display / 100); /* latch to 7seg driver */ PORTC |= (1<<PC4); PORTC &= ~(1<<PC4); /* set mid digit */ PORTC = (PORTC & 0xf0) | ((char2display % 100)/10); /* latch to 7seg driver */ PORTC |= (1<<PC5); PORTC &= ~(1<<PC5); /* set LSB digit */ PORTC = (PORTC & 0xf0) | ((char2display % 10); /* latch to 7seg driver */ PORTC |= (1<<PC6); PORTC &= ~(1<<PC6); } Als Treiber-IC
-
Thread
Atmega8 langsam, viel versucht = ratlos
Die PWM funktioniert sehr gut mit den Ports PortB 2-7 PORTC 0-7 PORTD 0-2 [c]uint8_t led, t; pb = 0; pc = 0; pd = 0; //fuer alle Zeitschritte in einem Zyklus der PWM //fange mit t=255 an und schalte an ab erreichter
als Ganzes setzen * oder nur mit etwas konstantem an die Portbits ran. * wenns gar nicht anders geht, dann willst du dir erst im Speicher die Einzelteile zurecht legen und dann in einem Rutsch auf den Port raus Alles andere ist für den µC Aufwand!
-
Thread
EA DIP162-D / STK500 / ATmega8 initialisierung
einem Mal wieder aktiv. Deshalb probier's mal. Ciao, mare_crisium Edit: Ich sehe gerade: PORTC hat nicht genug Pins - also versuch' mal PORTB. Edit: Geht auch nicht, weil da ja der Quarz dran hängt :-(. Kein guter Rat.
mode angesteuert hat (und funktionierte) hoch gefahren. ISP Mode gecheckt Alle Fuses gecheckt. Geht nicht! Nur der schon oft besagte Balken. Ob ne Therapie wohl hilft? Oder ein anderes Hobby?
-
Thread
DS1820 schwankungen von -1 bis +110
Gosub Temp 1wreset 1wwrite &HCC 'alle Sensoren ansprechen 1wwrite &H44 Endif geht nicht, weil alle Sensoren einzeln abgefragt werden die durch die Dsid(1) zugewiesen sind. 1wwrite Dsid(1) , 8 1wwrite Dsid(9) , 8 Ich habe schon andere Programme zu laufen wo ich den Timer
Ritzel schrieb im Beitrag #1960856: > geht nicht, weil alle Sensoren einzeln abgefragt werden die durch die > > Dsid(1) zugewiesen sind. Du kannst alle Sensoren gleichzeitig konvertieren lassen. Nur das Auslesen muss natürlich nacheinander
-
Thread
netIO geht nicht mit Browser IE+Safari
Hallo zusammen, ich habe die webpage.h von U.Radig für den netIO genommen und an meine Bedürfnisse angepasst. Im Webbrowser "Chrome" + "Firefox" funktioniert das ganze prima. Will ich aber im "IE7" + "Safari" den Server steuern, bleibt der Browser in einer Endlosschleife stehen und der Steuerbefehl wird nicht ausgeführt/übertragen. Ich habe die Seite bereits validieren lassen, aber es funktioniert trotzdem nicht mit den beiden o.g. Browsern. Seht ihr den Fehler? Gruß dr.schlau
-
Thread
Problem mit C Programm
Vielleicht gehts nicht weil du die "break;"'s in der Switch-Anweisung vergessen hast.
jetzt nicht mehr. > > set=PORTD; Wenn du damit die Taster einlesen willst, ist das falsch. Das geht mit PIND. :-)
-
Thread
RFM 12, Bascom und Interrupts
framesize = 100 $baud = 19200 Baud = 19200 Print "Start..." Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.5 , Db6 = Portc.6 , Db7 = Portc.7 , E = Porta.1 , Rs = Porta.0 Config Lcd = 16 * 2 Cursor Off Config Spi = Hard , Interrupt = Off , Data
######################## Rck Alias Porta.3 Sck Alias Portc.0 Si Alias Porta.2 Config Portb.0 = Input Config Portb.2 = Input Config Portb.3 = Input Config Portd.3 = Input Config Portd.2 = Input Config Portb
-
Thread
mega8 Port "C" tot
Bitte was? ;-) Ich kann damit leider nur begrenzt was anfangen....gehts nen bisschen genauer?!
Vielleicht ist die Adresse des Daten-Richtungsregisters (0x14 )falsch eingegeben ? Außerdem bekommt portc sein VCC über den Anschluss AVCC, soweit ich weiß. Ist also auch an AVCC Spannung angelegt ?