-
Thread
Cocktailmixer Steuerung
ich mich vorher schon halbwegs ausgekannt habe oder zumindest eine leise Ahnung hatte, wodrum es da geht. Und selbst dabei tauchen genug Probleme auf, mit denen ich vorher nicht gerechnet hatte. Das Projekt ist sicherlich interessant. Grundsätzlich ist das eine machbare Sache. Ich wills dir nicht kaputtreden
m8adef.dat" $crystal = 1000000 $hwstack = 100 $swstack = 100 $framesize = 100 'Ausgänge Led1 Alias Portc.1 Config Led1 = Output Led2 Alias Portc.2 Config Led2 = Output Led3 Alias Portc.3 Config Led3 = Output Led4 Alias Portc.4 Config Led4 = Output Led5 Alias Portc.5 Config Led5 = Output
-
Thread
Atmega 16 PWM über Komparator unterbrechen
lcd_string("Akku"); lcd_setcursor( 0, 2); lcd_string("leer!"); _delay_ms(1000); PORTC &= ~(1 << PC0); } return 0; } [/c]
in der Nullposition ist while(1) { if (pwm == unten) { break; } } PORTC |= (1 << PC0); } [/C] kann man ganz leicht machen [C] void Knueppelstellung(void) { while( pwm != unten ) ; PORTC |= (1 << PC0); } [/C] das ist erstens kürzer und zweitens
-
Thread
Bascom Programm
If Pinc.0 = 0 Then stimmt schon, mit Portc.0 würde er nur das Ausgaberegister auslesen, in diesem Fall den Status der Pullups.
Was soll denn an Port D passieren? Diese Schreibweise ist mir jedenfalls unbekannt, da gehts mir wie dem Compiler ;)
-
Thread
LCD Ausgabe Atmega 32 -16PU
Initialisiere kommt die Anweisung: > MCUCSR = (1<<JTD); Und die Initialisieung macht keine Ausgabe auf PORTC?
für dem Tip, ich werde dann am Freitag nochmal drüber lesen und mich dann nochmal melden ob es nun geht oder nicht.
-
Thread
MEGA32 nach C-Source Änderung tot :-(
); void DreiZweiEins_func(void); void DreiZweiEins_func(void) { if (DreiZweiEins == 1000) PORTC &= ~ (1<<PC7); if (DreiZweiEins == 2000) PORTC &= ~ (1<<PC6); if (DreiZweiEins == 3000) { PORTC &= ~ (1<<PC5); CountLedRot = 0; } DreiZweiEins ++; } void LedGelbAnAus(void)
120000) { PORTC |= (1<<PC6); } if (CountLedRot == 180000) { PORTC |= (1<<PC7); } if (CountLedRot == 240000) { PORTC &= ~ ((1<<PC5) | (1<<PC6) | (1<<PC7)); CountLedRot = 0; }
-
Thread
ATmega88 - Takt passt nicht mehr
[c] #include <avr/io.h> volatile unsigned int count; int main(void) { PORTB = 0x00; PORTC = 0x00; PORTD = 0x00; DDRD = 0xFF; DDRB = 0xFF; DDRC = 0xFF; while(1) { count++; if(count >= 25000) { PORTD ^= (1 << PD0); PORTD ^= (1 <<
blinkt, also als ob der Controller viel langsamer läuft. tritt das Problem ab dann immer auf? Oder gehts nach dem nächsten Einschalten wieder? Was passiert wenn du den Controller nur resetest - ohne die Spannungsversorgung zu unterbrechen? Sascha
-
Thread
PIC Port I/O mit HiTech C
PIC 16F1825 mit Hi-Tech C und bin auf diesem uC blutiger Anfänger. Ich möchte eine rote LED an PORTC und eine grüne LED an PORTA kurz aufblinken lassen, der Code ist unten angehängt. Wenn ich das nur mit PORTC mache, blinkt die LED einmal kurz auf, dann Pause, alles gut. Auch alles gut, wenn ich nur
Ports des PIC. THX 4 help Cheers Detlef int k ; TRISA = 0; TRISC = 0; PORTA=0x0; PORTC=0x0; for(;;) { for(k=0;k<1000;k++) _nop(); PORTC=0xff; for(k=0;k<1000;k++) _nop(); PORTC=0x0; for(k=0;k<1000;k++) _nop(); PORTA=0xff; for(k=0;k<1000;k++) _nop(); PORTA=0x0; for
-
Thread
Ausführungzeit / Zyklen von Schleifen ( Atmega/AVR)
PORT D => Digital-Analog-Wandler PORTD = 127; // Init PORT D DDRC = 0x00; // PORT C => Taster PORTC = 0x1F; // PC0..PC4 while(1) { setDisplay(fout, modus); //********** PHASENAKKUMULATOR *********** // SINUS if(modus == 1) { cycles = 19; fcw = (fout*bits)/(fxt1/cycles); while(PINC == 0x1F
gerade durchs PDF , ist aber gar nicht so leicht. Falls jemand einen Tip hat wie es AtmelStudio geht wäre das super. Vielleicht hat auch jemand einen Link zu einer Beschreibung der generellen Vorgehensweise
-
Thread
sbit bei AVR
das da passiert ist dann klar. Du könntest auch auf inline C Code zurückgreifen. inline void portc6(uint8_t value) { if (value) { // != 0 PORTC &= (1<<6); } else { // == 0 PORTC |= ~(1<<6); } }
sbi 0x15,6 sbrs r24,0 cbi 0x15,6 [/avrasm] Das sind gerade mal 5 Taktzyklen. Besser geht es nicht, wenn der Wert von i zur Compilezeit nicht bekannt ist.
-
Thread
TSIC und ATMega
einer neuen Übertragung! > (Die Abstände innerhalb der Übertragung sind unter 256 µs.) Na also, geht doch. Warum nicht gleich so?
reicht der Zustand beim Timer-Ereignis. bingo schrieb im Beitrag #3025721: > Der Modus mit ein/aus geht also wesentlich schneller > als der frei laufende Modus das stimmt so nicht. Das hängt davon ab, wann die Auswertung startet. Das kurz vor dem Satartbit sein, dann geht es schneller, oder während
-
Thread
Brauche mal Hilfe bei Mikrobasic programm
= 134 ' stelle 8 berechnen 80 db ausgabe = ausgabe - 2 'else portc =0 end if if ausgabe > 1 then portd = 135 ' stelle 8 berechnen 80 db ausgabe = ausgabe - 1 'else portc =0 end if if ausgabe > 0 then portd
ausgabe > 80 then portd = 128 ' stelle 8 berechnen 80 db ausgabe = ausgabe - 80 'else portc =0 end if [/c] du kannst (und willst) hier nicht den kompletten Port als ganzes mit einer Zahl bestücken, sondern nur EIN EINZIGES BIT daran umstellen. Wie das in Mikrobasic geht, kann
-
Thread
Atmel Studio 6 Erste Schritte: Debug / Watch
" verwendet wird: gleiches Bild Breakpoint auf "turns++" geht nicht.
1) > { > PORTC = turns; > turns++; > } > } > [/c] -> turns an PORTC zuweisen, turns inkrementieren.
-
Thread
Problem: AVR m8A/m8535 mit TG12864B-03 in Assembler
LCD ; 0b1111 für PortB ; 0b0011 für PortC sbi PORTB, 0 sbi PORTB, 1 sbi PORTB, 2 sbi PORTB, 3 sbi PORTC, 0 sbi PORTC, 1 cbi PORTC, 2 cbi PORTC, 3 cbi PORTD, TG12864_RW cbi PORTD, TG12864_DI rcall transmit_12 ; set LCD start
to 3 ; 0b[0011] für PORTB ; 0b01[00] für PORTC sbi PORTB, 0 sbi PORTB, 1 cbi PORTB, 2 cbi PORTB, 3 cbi PORTC, 0 cbi PORTC, 1 sbi PORTC, 2 cbi PORTC, 3 cbi PORTD, TG12864_RW cbi PORTD, TG12864_DI rcall transmit_12 ;================
-
Thread
ATMega8 und Diamex usb isp
meinen 4 MHz Quartz wieder angebaut habe und die Frequenz passend dazu im AVR Studio eingestellt habe, geht es plötzlich.
Mario, schön, wenn das jetzt alles funktionert. Bitte tue dir selbst einen Gefallen, wenn du an PortC eine LED hängst, versorge möglichst auch AVcc mit +5V. Der 100nF Kondensator zwischen +5V und GND an beiden Seiten des Atmega wurde schon erwähnt. Das löst zwar das Timing-Problem nicht, verhindert
-
Thread
DS18S20 auslesen (finde den fehler nicht)
ow_reset() stimmt also der ds18s20 antwortet So gesehen JA! Schmeiss mal diese Code Zeilen PORTC |= (1<<PC5) und das PORTC &= ~(1<<PC5); raus Es reicht völlig mit DDRC zuarbeiten. PULL-UP Ein- und Auschalterei ist völlig überflüssig. Und mach das hier endlich in main rein. PORTC =
Ist schon mal die halbe Miete. Der Sensor macht im Normalbetrieb 0,5°C Schritte. Mit dem Sensor geht auch 0,1 °C Schritte.
-
Thread
Ausgabe von Font aus Programm Memory Gesperrt
; cbi(LCD2,Enable); sbi(LCD2,CS); // LCDDD=255; LCDDD1 |= 0b11111100; // direction PortC mit 6 Bits von MSB LCDDD2 |= 0b11000000; // direction PortA mit 2 Bits von MSB return byte; } void lcd_setadress(unsigned char Spalte, unsigned char Zeile) //Set Adresspointer {
Dass der Neue Font mehr Speicher benötigt ist mir klar, aber anders geht es nicht. Ich Brauche große Schrift, sonst sehe ich gar nichts. ich weiß nicht genau was ich bei dem Aufruf alles machen soll. z.B. was die Zahl 80 in dem Fall : Font2[80] für Bedeutung hat.
-
Thread
ATMega88 Umgebungsscan
{ lcd_init(); initDisplay(); Init_Timer0(); adc_init(); DDRC&=~(1<<DDC5); PORTC&=~(1<<PINC5); DDRD|=(1<<PIND1)|(1<<PIND0); TCCR2A = 0; // Timer 2 auf "Normal Mode" schalten TCCR2B |= (1<<CS21); // mit Prescaler /8 betreiben TIMSK2 |= (1<<TOIE2);
suchen? 2. Code in [c ] [/ c] tags (ohne leerzeichen) posten 3. Problembeschreibung: was genau geht denn nicht?
-
Thread
Problem Zufallsgenerator
Kartoffelbauer schrieb im Beitrag #2985106: > Dein MC ist zu schnell,deine Hand zu langsam, darum gehts auch mit den > Verzögerungen. > > ... > > wie will man da etwas sehen Das ist ja der Witz an der Sache! Es geht so schnell das man nicht bei der Zahl anhalten kann, die man gerade möchte.
Warum einfach wenn es auch kompliziert geht :-) Die dümmsten Bauern ernten die dicksten ....
-
Thread
LCD-Display & Schwarze Balken
Mir ist nicht klar was du mit alter und neuer Port meinst, der PortD geht bis Pin21.
Der PD7 ist zwar auf der Seite von PortC (Pin21), wenn du aber genau schaust, dann siehst du das er unterhalb des Kontroller vorbei auf den Stecker von PortD geht.
-
Thread
LCD funktioniert nicht Atmega32
Schade dass du nicht PortC benutzt sonst hätte ich sofort das hier eingeworfen: http://www.mikrocontroller.net/topic/24490#new
> -v 'verbose'. 'geht nicht' (und Variationen) ist so ziemlich die schlechteste Fehlerbeschreibung, die man sich vorstellen kann.
-
Thread
LCD Display funktioniert nicht
was willst du genau sehen Kontrast 2 Ich nehme 5V geh auf nen Widerstand 27kOhm der widerum geht auf nen poti.. anschluss(ganz rechts) dann Mittelanzapfung (der in der Mitte) geht direkt auf VEE linke anschluss von poti geht auf ground
(ganz rechts) dann Mittelanzapfung (der in der Mitte) geht > direkt auf VEE linke anschluss von poti geht auf ground Welchen Wert hat das Poti ? Lass den Widerstand weg. Poti aeussere Pins auf 5V und GND, Schleifer auf Vo Wenn Du das gemacht hast
-
Thread
Garagentorsteuerung - Hörmannfunk nachrüsten
PINB4)) impuls=3; switch(impuls) { case 1://impuls=oeffnen PORTC |= (1<<PC4); PORTC &= ~(1<<PC5); break; case 3://impuls=schließen PORTC &= ~(1<<PC4); PORTC |= (1<<PC5); break; default: PINC=0x0;
Drahtbrücken spielen. Z.B. DDRC=0xff; DDRB=0x00; char Variable; for (;;){ Variable=PINB; PORTC=Variable; } Gibst Du jetzt auf Port B Pin 7 ein Signal, so sollte Port C Pin 7 diesen Status spiegeln. Oder so. Small is beautiful. So, jetzt geht's in die Heia.
-
Thread
C,Anfänger-taster
DDRD = (1<<PD5); //Data Direction Register auf Ausgang DDRC = (0<<PC3); // "......" auf Eingang PORTC = (1<<PC3);// Pull- up aktivieren while(1) { if(PINC& (0<<PINC3)) { PORTD = (0<<PD5); } } }
immer beschreiben was wie woran angeschlossen ist: In diesem Fall ein Taster und eine LED. Wann geht die LED an, LOW-aktiv oder HIGH-aktiv? Was passiert wenn Taste gedrückt, PIN auf LOW, oder PIN auf HIGH ? Da du den Pullup einschaltest, könnte man sich das denken, aber es wäre besser soetwas vorher
-
Thread
ADC-Initialisierung erhöht Stromverbrauch enorm
30mA fliessen). Ich konnte den Stromanstief auf die Zeile ADC_init eingrenzen. Ist die Zeile drin geht es in die Begrenzung, ansonsten liegt der Verbrauch bei ca.70mA (LEDs...). [c] int main(void) { /* DDRC = 0b11111111; PORTC = 0b00000000; */ DDRA = 0x00; uart_init0();
-
Thread
1 Servosignal - 4 Schaltzustände
'====================================================== 'Konfiguration der I/O-Ports´s Config Portc = Output Config Portd = Input Config Porta = Output 'Angabe der Display-Größe Config Lcd = 20 * 4 'Konfiguration des Timer1 Config Timer1 = Timer , Prescale = 1 'Konfiguration des INT0
Timer starten mit steigender Flanke If Reading = 0 Then Start Timer1 Reading = 1 Toggle Portc.0 'Den Timer stoppen mit fallender Flanke Else Stop Timer1 Rc_value = Timer1 Timer1 = 0 Reading = 0 Toggle Portc.1 End If 'Error-Bit rücksetzen Error = 0 Return '======
-
Thread
Probleme mit 74ACT573
Nikolaj > bsp... > PORTC.OUTSET = 0x00; // alle LE pin(74ACT573) auf L setzen > PORTE.OUTSET = 0xAA; // hiermit ich lade gewünschte Daten in Register > PORTC.OUTSET = 0x80; // ich lasse Latch daten übernehmen von > Register
hiermit ich lade gewünschte Daten in Register PORTC.OUT = 0x80; // ich lasse Latch daten übernehmen von Register.(aber nur für eine von 8) PORTC.OUT = 0x00; // und wieder Latch sperren
-
Thread
Microcontroller über Windows Applikation anpassen. Aber wie?
Sequence[nextNr]; nextNr++; if( nextNr == lenSequence ) { nextNr = 0; PORTC &= ~(1<<PC1); PORTC &= ~(1<<PC2); PORTC &= ~(1<<PC3); PORTC &= ~(1<<PC4); } if( command & ROT ) { PORTC |= (1<<PC4); // Turn On Red LED } if( command
nextNr]; nextNr++; if( nextNr == lenSequence ) { nextNr = 0; } PORTC &= ~(1<<PC1); PORTC &= ~(1<<PC2); PORTC &= ~(1<<PC3); PORTC &= ~(1<<PC4); if( command & ROT ) { PORTC |= (1<<PC4); // Turn On Red LED } if(
-
Thread
LCD Atmega 168 Problem initialisiert nicht, kann mir jemand compilieren?
Hi, Portc geht nicht... das klingt für mich schwer nach nem fabrikneuen Atmega, welcher noch mit JTAG Schnittstelle an gefused ist. Lese mal von einem anderen Gerät die Fuses aus und schau ob es geht. Tm
eigens kreierten makefile. Also Programm ist definitiv daher fehlerfrei. Im Programmers Notepad gehts aber nicht. Komisch...
-
Thread
LED Ansteuerung
Genau das ist falsch beschaltet. Das geht nur mit PNP oder P-Channle Fet
auch wenn ich sie aufteile....es geht nicht
-
Thread
Problem mit I2C
Turn on all port clocks SIM_SCGC5 = SIM_SCGC5_PORTA_MASK | SIM_SCGC5_PORTB_MASK | SIM_SCGC5_PORTC_MASK | SIM_SCGC5_PORTD_MASK | SIM_SCGC5_PORTE_MASK | SIM_SCGC5_PORTF_MASK; // Einstellen des Taktes MCGOUTCLK = 50 MHz MCG_C1 |= MCG_C1_CLKS(2); // Externer Takt als Quelle
baustein alleine am bus oder? Ich werds morgen auch mal mitn raspberry pi ausprobieren, vielleicht gehts so. Aber weshalb mein ACK bei halb Vcc liegt weiss keiner oder? Deshalb funzt die kommunikation leider nicht.
-
Thread
Timer0 bleibt "kleben/stehen"??
genügend elektromagnetische Felder eingesammelt hat, kommt es irgendwann zum Interrupt und alles geht den Bach runter. Man lässt unbenutzten bzw. unnötigen Code nicht im Programm stehen! Niemals! Und schon gar nicht aktiviert man Interrupts für nicht benutzte Komponenten.
Immer noch am gleichen [C] DDRC |= (1<<4); // Taster PORTC |= (1<<4); [/C] einen Portpin, den du auf Ausgang stellst, wirst du eher selten mit einem Taster beeinflussen können. OK. Du erzeugst mit dem Taster einen Kurzschluss, wenn du den Ausgangstreiber
-
Thread
ATMEGA8 assembler fehlermeldung
0b00000000 ;Zähler Wert für Entfernung auf 0 setzen in r16, 0b00000000 ;Gesamten PortC als Eingang konfigurieren out DDRC, r16 in r16, 0b11111111 ;Pullups verwenden out PORTC, r16 in r16, 0b11111111 ;PortB als Ausgang verwenden out DDRB, r16
Und wie gehts am Ende von SENDEN weiter, nachdem der TCCR2 mit einem neuen Wert versorgt wurde?
-
Thread
Xmega PWM zählt nicht richtig(?)
Counters ein. Das Problem: Wenn ein Ausgang der PWM über mehrere Perioden auf High bleiben soll, geht er am Ende (Anfang?) einer Periode kurz (einen PWM-Takt?) auf Low. Das, obwohl z.B. TCC0.CCABUF = TCC0.PERBUF gesetzt ist und laut Manual hier PIN0 an PORTC über mehrere Perioden kontinuierlich auf
#2959620: > Das Problem: Wenn ein Ausgang der PWM über mehrere Perioden auf High > bleiben soll, geht er am Ende (Anfang?) einer Periode kurz (einen > PWM-Takt?) auf Low. Das, obwohl z.B. TCC0.CCABUF = TCC0.PERBUF gesetzt > ist und laut Manual hier PIN0 an PORTC über mehrere Perioden > kontinuierlich
-
Thread
AVR/Atmega8 an STK500 - UART/USART
c = i + "0"; USART_TransmitC(c); } */ while (1) { DDRC = 0xff; PORTC = 0x00; _delay_ms(500); PORTC = 0xff; _delay_ms(500); USART_Transmit(0xFF); } return 0; // never reached } [/code]
c = i + "0"; USART_TransmitC(c); } */ while (1) { DDRC = 0xff; PORTC = 0x00; _delay_ms(500); PORTC = 0xff; _delay_ms(500); USART_Transmit(0x00); } return 0; // never reached } [/code]
-
Thread
SRAM auslesen zu langsam.
to disable the Write Enable Pin in SRAM (LOW active). _delay_us(0.05); //Time to set Data into PORTC from SRAM. Data = PINC; //Get Data from SRAM, saved in var Data. DDRC = 0xFF; //Set PORTC back to Output. PORTB = 0; //Clear Low Nibble Address. PORTA = 0; //Clear High Nibble Address
alle die etwas produktives geschriebenen haben, vielen dank! Hat mir geholfen. Gruß An den rest geht mein herzliches Beileid!
-
Thread
ATMega328P - Hardware SPI - SCK hoert nach ein paar Durchlaeufen auf zu wackeln
UART_BAUD_RATE 125000 #define CS_DDR DDRC // Chip Select fuer TI Temp Sensor #define CS_PORT PORTC #define P_CS PORTC4 volatile uint32_t Zehn_Millisekunden = 0; volatile uint32_t Mittelwert_ADC = 0; volatile uint8_t Mittelwert_Zaehler = 0; volatile uint8_t diesen_Mittelwert_ignorieren
Avr Noob schrieb im Beitrag #2955605: > Doch dann geht SCK zwischen zwei Übertragungen auf high und bleibt dort. Vermutlich der SPI-Standardfehler, wie hast Du den /SS Pin beschaltet bzw. definiert? Peter
-
Thread
ATmega16 PORTC prüfen welches Bit zuerst gesetzt wurde
Guten Tag Die acht Eingänge am PORTC sollen ständig überwacht werden. Sobald ein Bit gesetzt ist, soll festgestellt werden, an welchem Pin die Spannung anliegt. Alle später gesetzten Bits können ignoriert werden. Folgender einfacher
werden, welches Bit zuerst gesetzt wurde? Hiermit möchte ich prüfen welcher "Kanal" zuerst auf TRUE geht. Vielen Dank! Gruss Samuel
-
Thread
Multiplizieren geht schief
3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 ; ;.macro phi2_wrt cbi _SFR_IO_ADDR(PORTC),7 ;R/W ;7/1 generate R/-W - tcnt=7/OC2=1 sbi _SFR_IO_ADDR(PORTC),6 ;CS = 1 ;1/0 CS strobe high >300ns before phi2 nop2 ;3/0 nop2 ;5/0
funktioniert der Code. Nur wenn ich die ASM- Verschiebebefehle 'lsl' einflechte funktioniert es nicht. Mir geht's nicht um einen Workaround. Ich möchte einfach herausfinden was in diesem speziellen Fall quer läuft.
-
Thread
74HC595 geht nicht
Controllers. Habe mich beim 74HC595 an die Pin-Nr. gehalten) [c] // PORTS #define PORT_com74hc595 PORTC #define PORT_SER PC0 //74HC595 PIN 14 #define PORT_SCK PC1 //74HC595 PIN 12 #define PORT_RCK PC2 //74HC595 PIN 11 #define PORT_OE PB3 //74HC595 PIN 13 [/c] VCC und
noch ein Portdefine zu PortB geben. Check > auch mal nach ob dein OE wirklich PB3 ist... Das geht aber nicht. Der Code geht davon aus, dass ALLE Leitungen zum 595 am selben Port hängen. Einen Teil am PORTC und ein Teil am PORTB, das macht der Code so wie er ist, nicht mit. Entweder alles am B
-
Thread
problem mit #define
Wenn es nur darum geht, dass Du in Deinen Code NULL schreibst und daraus die beiden Anweisungen PORTC = 0b00000001 und PORTB = 0b00000001 werden sollen, kannst Du das so machen: [c] #define NULL \ PORTC = 0b00000001;
danke für eure antworten. jetzt gehts =) lg
-
Thread
LCD Dispaly initialisieren!
Nicht wir! > > war kein copy paste, da der code auf nem anderen rechner läuft! Genau darum geht es. Fährst du mit deinem Auto zum Mechaniker, wenn es klappert oder nimmst du das vom Nachbarn, weil es eh so ähnlich aussieht? > Config Lcdpin = Pin , Db4 = PORTC.2 , Db5 = PORTC.3 , Db6 = PORTC
von Karl-Heinz zu Recht bemängelte Code. >Db4 = PORT.2 >Db7 = PORTV.5 Um welchen Controller geht es überhaupt? Bei dei den 40pol. werden einige Leitungen des PortC im Auslieferzustand durch JTAG blockiert. MfG Spess
-
Thread
Timer Overflow Interrupt behindert Externen Interrupt?
Zeitdifferenz > 65535 then { Zeitdifferenz = Zeitdifferenz - 65535 } so einfach geht das dann wohl nicht, oder?
--> zwei Flanken --> Start s_2_Start = 1; // Startbit Spieler 2 gesetzt PORTC=~PORTC; } } if( !(PINA & (1<<PA3)) ) // Sensor 12 (Drehrichtung) für Spieler1 liegt an { zaehlerS2_Richt = TCNT1; // Richtungswert Spieler 2 setzen } } [/
-
Thread
Problem mit DCF 77,5 Modul
' default use 40 for the frame space 'Config Portb.0 = Output Config Lcdpin = Pin , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 , E = Portc.1 , Rs = Portc.0 Config Lcd = 16 * 4 'configure lcd screen Cursor Off Noblink Config Portd.5
rührt sich gar nix. Aber wieso ist der Ausgang des DCF Moduls immer low? Beim gleichem Standort geht das Modul ja mit dem Aldi Wecker.
-
Thread
Spannungskomperator über ATMEGA8
Hallo, ich bin gerade mitten in einem kleinen Projekt. Es geht um ein simples Programm was eine Spannungsdiverenz anzeigen soll und mir Visuell dann anzeigt. Hierzu habe ich auf der nicht invetierenden Seite eine variable Spannung von 10 - 3.3 Volt und auf
hoffentlich ein bissche aufschlussreicher für euch sein wird. Aaaabbber jetzt kommt das große Problem... es geht irgendwie nichts, ich habe das Programm schon auf mein uC (ATMEGA 8) geladen, aber es fäng nicht an zu blinken, wenn ich den nicht invertierenden Eingang auf high lege und den invertierenden auf low
-
Thread
Atmega Midi und Bascom
Onrxd Enable Urxc Enable Interrupts Dim Rxbyte As Byte Dim I As Integer I = 0 Led1 Alias Portc.5 Config Portc.5 = Output Led2 Alias Portc.4 Config Portc.4 = Output Led3 Alias Portc.3 Config Portc.3 = Output Led4 Alias Portc.2 Config Portc.2 = Output Led5 Alias Portc.1 Config Portc.1 = Output Led6 Alias Portc.0 Config Portc.0 = Output Cls Do Loop Onrxd: If I = 1 Then Rxbyte = Udr Led1 = Rxbyte.0 Led2 = Rxbyte.1
-
Thread
Es geht einfachnicht in meinen Kopf rein.
r16,PortC ist falsch da es ein IN r16,PINC sein muss. In dem Fall nicht. Er will die Bits am PORTC manipulieren. Dazu muss er sich den aktuellen Wert vom PORTC holen, die Bits entsprechend umdrehen und dann wieder auf PORTC rausschreiben. Ihm geht es nicht darum, was extern am PINC anliegt, sondern
werden. Und mit ein paar zusätzlichen .EQU wird dann zb daraus [avrasm] .equ GUI_PORT PORTC .equ SUMMER 1 .equ ERROR_LED 5 .equ READY_LED 7 .equ SHUTDOWN_LED 3 .... sbr r16, (1<<SUMMER) | (1<<ERROR_LED) out GUI_PORT, r16 [/avrasm] Und damit geht
-
Thread
Auswahl der Hardware durch Präprozessor
init_port(void) { #if defined(__AVR_ATmega88pa__) DDRB = 0x00; PORTB = 0xFF; DDRC = 0x03; PORTC = 0x4F; DDRD = 0x00; PORTD = 0xFF; #else //Atmega644/644pa DDRA = 0x07; PORTA = 0xF8; DDRB = 0x01; PORTB = 0xFF; DDRD = 0x00; PORTD = 0xFF; PORTC = 0x03; #endif
Das wissen wir schon. Aber dein Ausschnitt reicht einfach nicht, um auszutüfteln was da vor sich geht und warum in diesem Fall io.h dann doch nicht eingebunden wurde.
-
Thread
AVR Atmega32 Probleme Eingang abfragen
Auf PORTC sitzt JTAG. Per Fuse abschalten. Und delay_ms ist doof.
DDRD = 0x00; PORTD = 0xff; DDRC = 0xFF; while(1) { if ((PIND & 0x02)) PORTC |= (1<<PINC5); else PORTC &= ~(1<<PINC5); } } [/C] das reicht schon fürs erste um zu sehen, ob sich überhaupt was tut.