-
Thread
PORTC geht nicht auf High
Hallo Ich programmiere einen ATmega 16, jedoch bringe ich Pin C5-C2 nicht auf high! Am Controller liegt es nicht, den habe ich schon ausgetauscht! Hier mein C-Code [C] #include <avr/io.h> int main (void) { DDRC = 0xFF; while(1) { PORTC = 0xFF; } return 0; } [/c] Auch wenn ich es so schreibe, bekomme ich die LED's nicht zum leuchten.. [c]#include <avr/io.h> int main (void) { DDRC = 0xFF; while(1) { PORTC |= (1<<PINC5
-
Thread
If Else geht nicht
Wieso geht das nicht ? while(1) { if (licht==1) { for(i=0;i<10000;i++) { PORTB=0b00111000; PORTC=0b00111111; PORTD=0b11100000; _delay_ms(
Ich D. schrieb im Beitrag #4478223: > Wieso geht das nicht ? Tolle Frage. Was geht nicht? Natürlich geht das. Es kommt nur nicht das raus, was du erwartest, oder? Du wirst uns schon erzählen müssen, was das ist, was du erwartest.
-
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
switch geht nicht
Hallo, der folgende Quellcode funktioniert nicht, und ich weiß nicht wieso. Eigentlich sollte der richtig sein, doch bei der switch-Anweisung springt er immer zur Default. und wird auch korrekt aufgerufen. [c] #include <stdlib.h> #include <avr/io.h> #include <util/delay.h> unsigned int iState; int main(void) { PORTB = 0xFF; // pull ups for key inputs PortD2 and portD3 DDRC = 0xFF; // outputs for LEDs PORTC = 0xFF; // LEDs off iState = 0; for(;;) { if (iState != PINB) // Key state changed ? { _delay_ms(50); // dirty "debounce
-
Thread
Display geht immernoch nicht.
So habe nun Kabel an das Display gelötet werde nun lcd.h von PortB auf PortC ändern und das Programm kompilieren übertragen und testen. Ich gebe dann bescheid!
das Poti auf Linksanschlag ist. Wie soll ich nun vorgehen? in der lcd.h hab ich von PORTB auf PORTC umgestellt.
-
Thread
Drehregler an uC - geht das?
Und PORTC geht schonmal garnicht. Peter
andere gibt, die anders funktionieren :-) Wichtig erscheint mir der Hinweis mit _PINC_ anstelle _PORTC_, einlesen geht doch nur über die PINx-Ports denke ich! Gruß Ingo
-
Thread
Wie geht das denn?!
c]PORTC = PINB;[/c]
Ich habe das Fusebit selber gelöscht. Mit PINB geht es! Danke Euch! ;)
-
Thread
Ampelschaltung PORTC
Community, Ich möchte gerne eine sehr einfach Ampelschaltung programmieren. Dabei soll bei rot PORTC 3 gesetzt sein, bei gelb PORTC 2 und bei grün PORTC 1. Außerdem soll wenn die Ampel wenn sie grün ist blinken und zwischen dem Wechseln ein delay von 1 sec. also 1000ms haben. Das ganze sollte dann
> PORTC = 3
-
Thread
geht es noch schneller in ASM?
so sieht es jetzt aus (das Datenregister R17 sei vorher geladen): 'init: 'portb.4 ist data 'portc.2 ist clock in R19, portb '1 in R20, portc '1 andi R20, &HFB '1 für clock=0 in R21, portc '1 ori R21, &H04 '1 für clock=1 out portc, R20 '1 'erstes bit bst R17, 7 '1 bld R19, 4 '1 out portb, R19 '1 out portc, R21 '1 out portc, R20 '1 'zweites bis 8. bit genauso.. das macht also 6 Takte für die Init und 8*5 für die Bits = 46 Takte. Ich glaube, schneller geht's nicht. Wer unter 44 kommt, kriegt
-
Thread
Vergleich von Variable mit Zahl geht nicht
Stück code: [c] test = result; //ist beides uint16_t if(test*1000 > test*100) { PORTC |= (1<<PORTC5); //LED an } else { PORTC &= ~(1<<PORTC5); //LED aus } [/c] jetzt sollte die LED immer leuchten, oder? Nun, das tut sie aber nicht immer: wenn die Variable "test"
weil mein eigentlicher code so aussieht: [c] if(var1 + var2 + var3*20000 > var4*1000) { PORTC |= (1<<PORTC5); //LED an } else { PORTC &= ~(1<<PORTC5); //LED aus } [/c] Die Multiplikation braucht es bei meinem Programm. Da ich aber nicht verstanden habe, wieso es bei grossen
-
Thread
AVR für wenig Geld im LAN
soweit ich mich erinnern kann, die ports in config.h anpassen, wegen dem lcd, welches sonst auf dem portc liegt. in der webpage ?? oder http ?? jedenfalls dort, wo die schaltvariablen sind, auf portc ändern. Bin in 2 Wochen wieder da, dann gehts bei mir weiter..... gruss Stephan
ein/aus wird nun mit "checked" dargestellt bzw. geschaltet cmd.c/h: Auslesen und Schalten von PORTC, wenn kein LCD dort angeschlossen ist PORTC 0 1 -> PORTC0 geht auf 1 (high, +5V) -> main.c: Fehler bei der Schaltautomatik behoben (Steht im Verzeichnis "Infos"!) V1.5 ---- Mal sehen
-
Thread
WinAVR LED steuern geht nicht?
wie den Schaltplan > hier) ist völlig unpassend: es wird größer als nötig und unscharf. doch es geht mußt schauen wo der led angeschlossen ist und mußt schauen was der befehl PORTC = 0x03 aussagt
K. k. schrieb im Beitrag #2553793: > doch es geht mußt schauen wo der led angeschlossen ist > und mußt schauen was der befehl > PORTC = 0x03 aussagt Sinnlos, weiterzuschreiben: . fullquote (wofür?) . "alles geht", auch wenn es in sich widersprüchlich
-
Thread
DMX Board geht nicht :/
dmx_buffer[24]=255; dmx_buffer[25]=255; dmx_buffer[26]=255; dmx_buffer[27]=255; PORTC |=(1<<PC5); _delay_ms(1000); dmx_buffer[24]=0; dmx_buffer[25]=0; dmx_buffer[26]=0; dmx_buffer[27]=0; PORTC &=~(1<<PC5); _delay_ms(1000); } } [/avrasm
Der C der Quer über den AVR geht, da fehlt doch noch ein kabel drann.
-
Thread
Pin geht nicht auf 5V
Hallo liebes Forum! Ich scheitere gerade an einem relativ simplen Problem, und zwar folgendes: Ich will über ein Programm (in Bascom) den Pin PortC.0 auf 5V bzw. 0V setzen. Vom Programm her müsste das stimmen, allerdings wenn ich das Oszilloskop dranhalte bekomme ich einen merkwürdigen wellenartigen Verlauf, der im Millivolt Bereich liegt. Ich weiß leider gerade nicht weiter. Kann mir jemand schnell helfen? Das wäre super! :-) Hier der Programmschnipsel: regfile = "8515def.dat" $crystal = 8000000 $baud = 9600 '$sim 'simulation $hwstack
-
Thread
LCD am PORTC
hallo, ich kriege mien lcd-display am PORTC nicht zum laufen, obwohl es am PORTA ohne Probleme funktioniert. Ich verwende die LCD library von Peter Fleury und einen Mega16. Kann mir jemand helfen? mfg anton
PonyProg so eine schlechtes Mensch-Maschine Interface hat. AVRStudio zeigt, wie es auch intuitiv geht.
-
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
Porteilesen geht nicht
das geht ja aber mit der ~ geht es nicht
JTAG-Deaktivierung geht über die Fuses. Sollte Dein Programmiergerät unterstützen. Einfach mal das Dateblatt des AVRs lesen. Grüße, Freakazoid
-
Thread
timer geht nicht
ovf_isr(void) { TCNT0=0xDC; i++; } void main(void) { PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x02; TCCR0=0x05; TCNT0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00
Lass dann doch mal einen Pin togglen. Dann könnte man auch überprüfen, ob deine Timer-ISR richtig geht.
-
Thread
Atmega32 - PortPin geht nicht auf High wenn Pullup gesetzt
zu deaktivieren, geht der PC5 wieder auf Lo (0). Setze ich nun den Pullup, geht krzfristig der Pin auf High, dann aber ist er Lo. Es ist nur das Messgerät auf dem Pin. Was ist falsch? oder habe ich den Pin geschossen
Gleich Wastl, habe nun mal ein Testprogramm geschrieben. Da geht der Pin auf High. [c] * * Atmega32_Test.c * * Created: 06.04.25 20:20:37 * Author: Thomas */ #include <avr/io.h> int main(void) { DDRC = 0b11011111; // PortC Ausgänge -
-
Thread
Pin abfrage geht nicht
soll bei nem Mega32 eine Tasterturmatrix auslesen aber schon die einfache Pinabfrage über 1 Taste geht nicht!! PINB2-4 Spalten PINC2-5 Zeilen Aktuell ist die Zeile 1 (PINC2) active und wenn dedrückt soll der PortB1 da ganze auslesen (high sein) ! Stimmt was mit den Pull Up Einstellungen nicht.
[c] PORTC = (1<<PC2); if (PINB & (1<<PINB1))[/c]Zwischen diese beiden Zeilen muss ein NOP.
-
Thread
delay geht nicht...
delay.h> int main(void) { DDRA = 0xff; PORTA = 0xff; DDRB = 0xff; PORTB = 0xff; DDRC = 0xff; PORTC = 0xff; DDRD = 0xff; PORTD = 0xff; _delay_ms(1000); PORTA=0; PORTB=0; PORTC=0; PORTD=0; _delay_ms(1000); PORTA=0xff; PORTB=0xff; PORTC=0xff; PORTD=0xff; _delay_ms(1000); PORTA=0; PORTB
Hi Danke, so gehts! Hätte nicht gedacht, dass die Funktion schon bei ca. 30 ms ausgereizt ist! Ciao Tobias
-
Thread
PINC.0 Geht ständig kaputt
Da der PIN von außen kaputt geht, ist die Schaltung wichtig.
Als Eingang geht er aber als Ausgang ist er kaputt? Einmal bitte die komplette Beschaltung zeigen.
-
Thread
Beamer RS232 vom AVR aus (von PC geht)
$framesize = 40 $baud = 38400 Config Rc5 = Pind.6 Config Lcdpin = Pin , Db4 = Portc.4 , Db5 = Portc.3 , Db6 = Portc.2 , Db7 = Portc.1 , E = Portc.0 , Rs = Portd.7 Config Lcd = 16 * 2 Config Lcdbus = 4 Cursor Off Cls Enable Interrupts Dim Address As Byte
Siehst, geht doch. Und jetzt das Ganze bitte noch in Assembler. Nee, schon gut, für Deinen Zweck ist Bascom in Ordnung. ;-)
-
Thread
LED-Fading geht nicht
Ah ok beim ATmega8 ist der OC1A nicht auf PD5 sondern PB1. Umgestellt -> geht Aber jetz seh ich das flackert ja wie bescheuert beim dimmen. Gibts da nich was besseres, oder geht das nicht besser mit PWM?
void wait_us(int mikroSec) { _delay_loop_2(1*(F_CPU/(1000000/4))*mikroSec); } while(1){ PORTC =0b00000001; wait_us(1667); PORTC=0b00000000; wait_us(1667); [/code] Erst wenn ich wait auf 1520 setze erhalte ich genaue 300Hz.
-
Thread
LEDs unterschiedlich hell funktioniert geht nicht per Methodenaufruf
// setBrightness(30,2); PORTC &= ~(1<<0); //dieselben Befehle der Methode mit eingesetzten Werten --> Funktioniert, LEDs leuchten unterschiedlich hell. _delay_us(1); PORTC |= (1<<0); PORTC &= ~(1<<1); _delay_us(15); PORTC |= (1<<1); PORTC &= ~(1<<2); _delay_us(30); PORTC |= (1<<2); // PORTC &= ~(1<<7); }; VG, partx
-
Thread
ATmega32 und PORTC
0 ; cnt2 < 0xFFFF ; cnt2++) nop(); } int main(void) { DDRC = 0xFF; while(1) { PORTC = 0xFF; Delay(); PORTC = 0x00; Delay(); }; } [/c] Aber die Pins haben meist statische Pegel, egal was ich mache. PC0 = T, PC1 = T, PC2 = 1, PC3 = 1 , PC4 = 0, PC5 = 0, PC6 =
, was in der Schaltung geht, also z.B. SPI-, JTAG-, Debugwire-, Bootloader-Programming. Peter
-
Thread
Schrittmotor mit Atmega 8 warum geht PD0 als Eingang nicht?
t i; void rueck_vor_fahrt (void) { while(1) { if ( PIND & (1<<PIND1)) { PORTC = NARANJA; _delay_ms(DELAY); PORTC = GRIS; _delay_ms(DELAY); PORTC = AMARILLO; _delay_ms(DELAY); PORTC = NEGRO; _delay_ms(DELAY); } if ( PIND & (1<<PIND4)) { PORTC = NEGRO; _delay_ms(DELAY); PORTC = AMARILLO; _delay_ms(DELAY); PORTC = GRIS; _delay_ms(DELAY); PORTC = NARANJA; _delay_ms(DELAY);
-
Thread
MAX7219 geht bei manchen Zeichen aus.
for(x=4;x>0;x--){ /*if(bit_test(adresse,x-1)){*/ if(adresse & (1<<(x-1))){ PORTC |= (1<<PDIN); //_delay_us(3); }else{ PORTC &= ~(1<<PDIN); //_delay_us(3); } PORTC |= (1<<CLK); //_delay_us(3); PORTC &= ~(1<<CLK); //_delay_us(
for (x=8;x>0;x--){ /*#if (bit_test(wert,x-1)){*/ if(wert & (1<<(x-1))){ PORTC |= (1<<PDIN); //_delay_us(3); }else{ PORTC &= ~(1<<PDIN); //_delay_us(3); } PORTC |= (1<<CLK); //_delay_us(3); PORTC &= ~(1<<CLK); //_delay_us(
-
Thread
Pin an PortC
folgendem Code einfach nicht: DDRC = (1 << DDC0) | (1 << DDC1) | (1 << DDC2); //Port C Ausgänge PORTC |= (1<<PC2); Der Pin geht nicht auf High :-(
Dann ist dein Ausgangstreiber von PORTC2 kaputt...
-
Thread
Servo BASCOM geht nicht mehr
Pause oder so etwas ändern , oder geht der Port garnicht ? Weil es tut sich garnichts mehr =(. Ich hab einfach folgendes festgelegt : [code] Dim PORTC = OUTPUT Dim PIND.2 = OUTOUT Dim PIND.5 = OUTOUT Dim PIND.6 = OUTOUT Dim PIND
Mit DIM kannst Du nur Variablen definieren. DIM Port....geht nicht. Du mußt "CONFIG Portc = Output" schreiben, oder für einzelne Portpins: Config Pind.2 = Output MfG Paul
-
Thread
ATMEGA88 BOD wird ausgelöst sobald PINC2 auf low geht
Ausgänge. Habs gegengecheckt. [c] DDRC &= ~((1<<DDC0) | (1<<DDC1) | (1<<DDC2) | (1<<DDC3)); PORTC |= (1<<PORTC0) | (1<<PORTC1) | (1<<PORTC2) | (1<<PORTC3); [/c] Das ist die Einstellung für den Port. Wenn es Ausgänge wären, dann würde das Drehencoderinterface ja auch mit ausgeschalteter BOD
wird dann wäre es kein Wunder wenn die Spannung einbricht oder das Netzteil in die Strombegrenzung geht.
-
Thread
Sret geht nicht an Atmega 32, jedoch bei Atmega8!
'rote led beim Taster links Config Porta.1 = Output Config Portc.3 = Input Config Portc.2 = Output Config Portc.1 = Output Config Porta.4 = Input Config Portd.2 = Output Portc.0 = 1 Portd.2 = 1 Grun Alias Porta.0
seriellen Auslesen den Wert von Getline einnimmt. Hab die Überschrift nur so geneannt worums direkt geht. Du kannst sret auch anders nennen ;-) guck mal in den Text da steht worums geht. Viele Grüße!
-
Thread
90S4433 - PortC geht/geht nicht ?
0xFF; delay_ms(500); PORTC = 0x00; PORTB = 0x00; } Wenn ich an einem PORT-B Pin die Spannung messe, dann habe ich immer 0V...5V...0V...5V. Aber an PORTC nicht. Da ist es immer 0V. Der Fehler muss irgendwo im Programm
mit 2 4433's getestet. Klappt bei beiden nicht. Jedoch, wenn ich eine fertige LCD-Display-Lib an PORTC verwende, dann geht's. ...strange Hoffentlich kann mir eine von euch helfen! MfG Sascha
-
Thread
LCD Library T6963c
Befehl cleartext oder cleargraph (also die speicher-Überschreib befehle) messe, am Datenbus (D0...D7 geht auf PORTC) e-Funktionen(!) messe. Daher denke ich, dass irgendwas mit dem Daten-Port nicht stimmt, also Direction oder sowas. Währe echt klasse, wenn mir jemand von euch weiter helfen koennte.
PORTA3 PIN9 Vee - 16V am Poti... PIN10 /RESET PORTA4 PIN11 DATA0 PORTC0 PIN12 DATA1 PORTC1 PIN13 DATA2 PORTC2 PIN14 DATA3 PORTC3 PIN15 DATA4 PORTC4 PIN16 DATA5 PORTC5 PIN17 DATA6 PORTC6 PIN18 DATA7
-
Thread
Display (HD4478099) zeigt nur Kästchen
PC0); i=0; while(i<150) {i++;}; PORTC &= ~(1<<PC0); PORTC &= ~(1<<PC3); PORTC &= ~(1<<PC5); PORTC |= (1<<PC4); PORTC |= (1<<PC0); i=0; while(i<150) {i++;}; PORTC &= ~(1<<PC0); } Hat jemand eine Idee, warum
die LCD-Ansteuerung zu verwenden, bei mir funktioniert dieser einwandfrei. Wenn es auch damit nicht geht liegt das Problem woanders. [C] #include <util/delay.h> #define ENABLE_PIN 6 #define RS_PIN 5 void LCDenable(void) { PORTC |= (1 << ENABLE_PIN); _delay_loop_1(2); PORTC &= ~(1 <
-
Thread
GLCD geht nicht
* 64sed , Dataport = Porta , Controlport = Portc , Ce = 0 , Ce2 = 1 , Cd = 2 , Rd = 3 , Reset = 5 , Enable = 4 'The dataport is the portname that is connected to the data lines of the LCD 'The controlport is the portname which pins are used to
geht leider auch nicht
-
Thread
RS232 Übertragung geht nicht - Hilfe
Befehl movwf loops2 ; 1 Befehl btfsc senddatatopc,7 ; 1 Befehl bcf PORTC,1 ; 1 Befehl btfss senddatatopc,7 ; 1 Befehl bsf PORTC,1 ; 1 Befehl waiting nop ; 1 Befehl nop
und am max232 kann auch nicht liegen, der funktioniert. den quarz hab ich auch ausgetausch und es geht immer noch nicht, also schliess ich den auch aus. bleibt nur noch das programm. was is da falsch?
-
Thread
Ein kleines Projekt für BASCOM Änfänger Vol2
.2 Else Reset Portc.2 If Blau > Pwm Then Set Portd.5 Else Reset Portd.5 If Blau > Pwm Then Set Portd.2 Else Reset Portd.2 If Blau > Pwm Then Set Portc.3 Else Reset Portc.3 If Blau > Pwm Then Set Portc.0 Else Reset Portc.0 Return [/code]
-
Thread
TWI, int geht nicht
(1<<TWINT)|(1<<TWSTA)|(1<<TWEN)|(1<<TWIE) out TWCR, r16 ell: rjmp ell TWI: sbi portc,7 reti Der TWI-int wird nie aufgerufen (portc,7 ist zum debuggen). Wenn ich sbi portc,7 direkt vor ell: setze geht die LED an dem Pin an (also am port i/O liegts nich ;) ). Wo ist in dem Code
Der Code geht. Peinlich,Peinlich. Ich hab die Pullup-R zwar angeloetet, aber die verbindung zu Vcc fehlte an den R's. Stundenlange Fehlersuche, und dann sowas.
-
Thread
Nulldurchgangserkennung "geht aus"
TIFR1 = TIFR1 | (1<<OCF1A); // Eventuell schon wieder aufgetretene Interrupts unterbinden PORTC = 0b00100000; asm volatile ("nop"); // gekürzt: insgesamt 20 Stück PORTC = 0b00000000; } [/c] Nur, wenn es ein Softwarefehler wäre, wieso gehts dann, wenn ich einen Pin berühre?
sei mal nicht ganz auszuschließen, aber was hat das ganze mit dem Berühren der Pins zu tun? Warum gehts damit?
-
Thread
ATMega8: Ausgang geht nicht an
Hallo, ich mache gerade die ersten Versuche in Assembler-Programmierung des ATMega8 im STK500. Eigentlich eine ganz einfache Aufgabe: ich möchte alle 8 LEDs auf dem Bord über PortB des ATMega8 anschalten, es gehen aber nur LED0 bis LED5 an. LED6 und LED7 bleiben dunkel. Gleiches Ergebnis auch, wenn ich statt PortB den PortC verwende. Fusebit ist auf interner RC-Oszillator gesetzt. Wer kann helfen? DANKE
-
Thread
F1-Drehzahlanzeige selber programmieren
case 4: PORTC = 0b00001111; PORTD = 0b00000000; break; case 5: PORTC = 0b00011111; PORTD = 0b00000000; break; case 6: PORTC = 0b00111111; PORTD = 0b00000000; break; case 7: PORTC = 0b01111111; PORTD = 0b00000000; break; case 8: PORTC = 0b11111111; PORTD = 0b00000000; break; case 9: PORTC = 0b11111111; PORTD = 0b00000001; break;
-
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
Interrupt: Simulation OK - in Hardware gehts nicht
interrupt.h> void init (void); int main (void) { init(); PORTA=0x15; PORTC=0xff; while (1) { } } void init (void) { DDRA = 0xff; DDRC =0xff; PORTC =0xff; sei(); TIMSK |= 0x01; // Timer 0 overflow interrupt enable TCCR0 &= 0xF8;
ich tipp mal drauf dass die Fuse JTAGEN falsch gesetzt ist und sich PortC noch im jtag Modus befindet
-
Thread
PPS5330 Labor-Netzteil hack
Die Zeiten habe ich mit dem Scope gemessen. [c] void start_ADC() { // clear intecrator PORTC |= (1<<ADC_AD0); PORTC &= ~(1<<ADC_AD1); PORTC |= (1<<ADC_AD2); _delay_ms(1); // Voltage measurement PORTC &= ~(1<<ADC_AD0); PORTC &= ~(1<<ADC_AD1); PORTC &= ~(1<<ADC_AD2);
/* // Temp1 measurement PORTC |= (1<<ADC_AD0); PORTC |= (1<<ADC_AD1); PORTC &= ~(1<<ADC_AD2); PORTC |= (1<<Test_flag); // Test_flag = High while (!(PINC & (1<<ADC_ADW))); PORTC &= ~(1<<Test_flag); // Test_flag
-
Thread
ATmega 1284P PA4 geht nicht
/ waiting PORTC &= ~(1 << PC7); // set PC7 low PORTA &= ~((1 << PA3) | (1 << PA4)); // set PA3 and PA4 low for (counter1=0;counter1<255;counter1++){for(counter2=0;counter2<255;counter2++)
dann hat sich entweder der Thread- Ersteller in den Tod gestürzt ..... ..... oder ATmega 1284P geht jetzt *nicht nicht*.
-
Thread
PORTD vom ATMega8 geht nicht
irgendwelche Besonderheiten des PORTD beim ATMega8 gegenüber PORTB und C ? Ich möchte PD6 und PD7 einlesen, geht aber leider nicht. Genauso kann ich die Pins von PORTD auch nicht auf high setzen. Beides klappt mit den anderen beiden Ports problemlos. Es kann also kein Syntax-Fehler sein. Oder muss ich davon
Besonderheiten des PORTD beim ATMega8 gegenüber > PORTB und C ? Ich möchte PD6 und PD7 einlesen, geht aber leider nicht. Was sagt denn das Datenblatt des Mega8 über PD6 und PD7. Welche alternativfunktionen sind hier drauf?
-
Thread
AVR Studio Code geht nicht richtig
Hallo! Ich versuche verzweifelt (virtuell) knöpfe an PORTC and den pins 2 und 3 auszulesen und and leds an den pins 0 und 1 wieder auszugeben. Das Programm ist zwar noch nicht fertig, ich habe aber jetzt schon ein gravierendes Problem. Sobald PIN 2 oder 3 aktiviert werden springt er in eine der letzen 2 Subroutinen. DANN hüpft er bei dem RET befehl aber immer wieder auf "rjmp main". Wieso? Sollte er nicht nach dem Sprungbefehl (z.B. rjmp bit3set1) wieder fortsetzen? Vielen Dank im Voraus, Thomas K .NOLIST .include "m16def.inc" .LIST ; Name the registers we are using. ;
-
Thread
AM oder FM Fernbedinung Rohrmotor -> bild
CALL LADR_0x0029 CALL LADR_0x0029 DECFSZ LRAM_0x36,F GOTO LADR_0x0108 BCF PORTC,5 ; $ PORTC - TRISC BSF PORTC,0 ; $ PORTC - TRISC RETURN LADR_0x0108 MOVF LRAM_0x27,W MOVWF LRAM_0x35 MOVLW 0x00 MOVWF LRAM_0x28 CALL LADR_0x0370
BCF PORTC,5 ; $ PORTC - TRISC CALL LADR_0x003E GOTO LADR_0x011E LADR_0x012D CALL LADR_0x0043 BCF PORTC,5 ; $ PORTC - TRISC CALL LADR_0x0032 GOTO LADR_0x011E
-
Thread
PORT/Register Beschreibung in AVR
euch wirklich sehr verbunden wenn ihr mir bei meiner Problemloesung zuseite stehen koenntet. Es geht schlichtweg um die PORT Register und PIN Adressierung und BIT Manipulation, z.b DDRC &= ~(0 << PC5); PORTC=0b00000000; Ich habe mittlerweile herausgefunden wie ich die PINS uber die PC0-6 bezeichnung
mitunter aus einem PORTC |= 1<<PC5 ein sbi PORTC, PC5 machen, weil sie merken dass Du nur einen Portpin änderst.