-
Thread
PIC 18f2550 und LCD mittels Maestro
auch wirklich geht. Nicht das der Watchdog läuft... Mit Maestro kenn ich mich ned aus. Ist das so n grafisches Codeerzeuger-Dingens?
>Display geht komplett aus (auch Hintergrundbeleuchtung) und wieder an Displaybeleuchtung hat nichts mit dem LCD-Modul zu tun. Wieso geht sie aus...? Das sind einfach nur n paar Leds die enorm viel Strom fressen
-
Thread
Hardware SPI Problem
falsch mache, denn den Code habe ich eingentlich aus dem entsprechenden Datenblatt entnommen. Es geht hierbei um den ATmega44a mit dem ich den CC1100 von TI ansprechen will. Ich habe vorher noch nicht mit Hardware SPI geareitet, daher bin ich erstmal dabei in dem CC1100 in die Register zu schreiben
// Port C2 - SI -> input without pullup // Port C3 - SCLK -> output default low */ PORTC = 0x02; DDRC = 0x0A; /* Port D Initialisierung // Port D0 - powersupply CC1100 -> output default low // Port D7 - LED -> output default low*/ PORTD = 0x00; DDRD = 0x81; }
-
Thread
Zeilenadressen LCD 4x20 blau
Bitte. Aber eine Frage noch: Mit welchen Adressen geht es denn nun?
: 1-Impuls für Daten) #define LCD_EN PC5 Alles neu kompiliert und Ergebnis: Geht nicht. Aber im Quellcode finde ich keine weitere Angabe von PORTD, es sollte also alles umgesetzt sein. Die Verdrahtung habe ich auch schon mehrfach überprüft. Wieso das jetzt ? Ist PortC anders zu
-
Thread
Mikrocontroller hängt Interrupt schuld?
for(;;){ Das ist eine Endlosschleife im Interrupt, sprich er geht einmal rein und nie wieder raus.
> Das ist eine Endlosschleife im Interrupt, sprich er geht einmal rein und > nie wieder raus. Die for-Anweisung ist in der main-Funktion.
-
Thread
I/O´s schalten (only bascom)
benutze Bascom AVR Demo mit einem 8535. so nun hab ich mal ne Frage: Ich habe 3 Led`s an Portc.5 - c.7. erst habe ich die Led's mittels Constante also &B00011111 eingeschaltet. Programmausschnitt: Const Ledson = &B00011111 Config Portc = Output portc = ledson end spaeter hab ich
Wenn es nur um 3 LEDs geht und nicht der ganze Port auf einmal geändert werden muss, dann ist die Methode Config Pinc.5 = Output Portc.5 = 0 wohl am besten. Wobei du die Richtungseinstellung des Ports natürlich nicht
-
Thread
Latch - nop notwendig?
diesen mittels eines AVRs (in Software) an. In meinem Code kommt (so ungefähr) Folgendes vor: [c] PORTC &= ~(_BV(PIN)); PORTC |= _BV(PIN); [/c] Funktioniert auch wunderbar. Ich meine allerdings irgendwo gelesen zu haben, dass man dazwischen ein nop stecken sollte. Da geht es wohl weniger ums Timing
K. B. schrieb im Beitrag #3066827: > sondern da geht es eher um das Problem, dass der > Compiler (je nach Einstellung) solche Abschnitte wegoptimieren könnte. Das sollte er nicht tun, wenn PORTC korrekt deklariert ist. Das ist als /volatile/ zu kennzeichnen
-
Thread
ext. Memory-Interface: Verwirrung mit phys. Adr.
>Adr._Bit[0-14] angeschlossen Wenn bit 15 nicht ausgewertet wird stimmt das was A.K. sagt dann geht dein Speicher bis A1FF.
jo ich sag ja sorry .. es geht ja darum dass die HW evtl. auch mal geändert werden kann ... also hat mir schon geholfen ...
-
Thread
OC1A steuern im CTC Mode
Zählt hoch bis compare match, fängt dann wieder bei 0 an. Wenn dann OC1A auf toggeln gestellt ist gehts doch. Was geht denn genau nicht bei dir?
>Was geht denn genau nicht bei dir? OC1A geht gar nicht an.
-
Thread
Attiny2313 programmieren
englisch bei mir auch nicht. wenn es das irgendwie gibt dann weiß ich wenigsten wie es so halbwegs geht. gruß maik
in den 4 Stunden Bahnfahrt ein Buch darüber lesen. Das musst du ja nicht zwingend kaufen, leihen geht auch.
-
Thread
Probleme mit der lcd.c von Ullrich Radig
declaration of function 'cbi' ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:59: error: 'PORTC' undeclared (first use in this function) ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:63: warning: implicit declaration of function 'sbi' ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0
first use in this function) ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:85: error: 'PORTC' undeclared (first use in this function) ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0/lcd.c:100: error: 'PINC' undeclared (first use in this function) ../Abschlussprojekt/Programmcode/LCD/SourceCode1.0
-
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
Volt-Celsius umrechnen mit Bascom Gesperrt
ein Problem, zwar habe ich einen LM335 per Spannungsteiler (Festwiederstand ist 2.2kOhm) mit dem Portc.2 (ADC2) Pin eines Atmega48 verbunden. Später soll die Temperatur über ein bereits angeschlossenes LCD display in °C ausgegeben werden. Jedoch habe ich keinen Plan, wie ich diese Volt Zahl in °C
(mittelschwer, mittelteuer) 3.) dig. Wetterstation mit ext. Messfühler kaufen (billig und geht schnell) man man man http://www.mikrocontroller.net/topic/117532#new
-
Thread
Leidiges Thema: LCD - Problem am Port C
allzuviel erkennen weil keine Labels gesetzt sind. Das Problem erscheint mir zu sein, dass Du PORTC und PORTD gemischt hast. Also E von PORTC kommt, RS aber von PORTD. Der Code benutzt aber nur einen Port. #define LCD_PORT PORTC #define LCD_DDR DDRC #define LCD_RS PD4 #define
umverdrahten die beste Lösung. Jedoch ist das umschreiben der Software etwas leichter :-) und geht auch schneller. Viel Spaß und Glück noch. Lass uns doch wissen ob dann alles geklappt hat.
-
Thread
DMX Empfangsproblem mit ATMega16 und Hennes lib @ ASM
in dem Interrupt Vector mal wieder ein reti rein machen. Passiert dann das selbe mit deiner LED? geht die dann trotzdem an?
UART_RECV_COMPLETE liegt bei beiden an 12. Stelle ;-) ) >Dann muss das gehen ;-) !!!! AUA! Das geht NICHT! Der Mega 8 hat 1 Word pro ISR Vektor, der Mega 16 ZWEI!!! MfG Falk
-
Thread
ADC-Wandlungs-Ergebnis als Bitfolge an einem Port ausgeben
meinung auf dem gesamten port auch dasselbe ausgangssignal anliegen oder? die restlichen pins von portc sind übrigens auf 0V. es ist aber auch immer noch ein und der selbe µc. habe es noch nicht geschafft einen neuen zu besorgen. mfg andre
Minimalprogramm? Einfach mal einen Port komplett auf 1 setzen int main() { DDRC = 0xFF; PORTC = 0xFF; while( 1 ) ; } machen die Pins mit? (So ein Testprogramm ist in 0 Komma Nix geschrieben und es geht nur darum festzustellen, ob den µC schon geschrottet ist oder nicht,
-
Thread
Atmega8A 1000ms != 1s ?
fixled_off(); _delay_ms(10000); } } void ioinit (void) { DDRC = 0b00111000; PORTC = 0b11000111; } void adcinit (void) { DDRC = 0b00111000; PORTC = 0b11000111; } void fixled_on(void) { PORTC |= _BV(PC3); } void fixled_off(void) { PORTC &= ~_BV(PC3); } void statled_on(void) { PORTC |= _BV(PC4); } void statled_off(void) { PORTC &= ~_BV(PC4); } void gps_on(void) { PORTC |= _BV(PC5); } void gps_off(void) { PORTC &= ~_BV(PC5); } [/c]
-
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
DS1990A und ATmega 8
iButton DS1990A zur Sicherheitsabfrage nutzen. Angeschlossen haben ich Ihnen wie folgt. an PB1 geht ein Kabel zur Kontakteinheit des iButtons "Leser" (Data) und auch ein 4,7 KOhm Wiederstand von PB1 zu 5 Volt. Die Masse ebend an Masse, soweit so gut. Mit folgendem Programm passiert rein garnichts
1wire = Portb.1 Config Lcd = 16 * 2 ' LCD 16x2 mit HD 44780 Controller Config Lcdpin = Pin , Rs = Portc.0 , E = Portc.1 , Db4 = Portc.2 , Db5 = Portc.3 , Db6 = Portc.4 , Db7 = Portc.5 Dim Rom_data(8) As Byte Dim I As Byte , W As Word Declare Sub Crc8_check() Cls Do Rom_data(1) = 1wsearchfirst
-
Thread
LCD an ATmega128 Port E
Hi, ich habe da ein kleines Problem: Ich hatte am PortC meines ATmega128 ein LCD und das lief. Alles war gut. Dann habe ich in Eagle ein Schaltplan erstellt und habe mich entschieden, das LCD von PortC auf PortE zu verlegen. Ich habe das natürlich erst
Hi > mir geht es bloß darum, daß mir evtl. die zwei timer mit den OC3X Ports, >die ich ja fürs LCD benutze, Ist das jetzt ein Quiz, wer am besten raten kann, wie dein Programm aussieht? MfG Spess
-
Thread
Variablenübergabe bei _delay_ms
arbeiten. Mögliche Lösung: [c]void Ebenen_ansteuern(unsigned char ebenen, unsigned char dauer) { PORTC=ebenen; while(dauer--) _delay_ms(1); } [/c]
ja, es geht nur mit Konstanten. Noch ne Möglichkeit: Makro (etwa so): [c] #define Ebenen_ansteuern(ebenen, dauer)\ do{\ PORTC = ebenen;\ _delay_ms(dauer);}\ while(0) [/c]
-
Thread
pc erkennt microcontroller nicht
Entlötlitze auch Flussmittel enthält sonst gehts nicht.
hast schick doch nochmal ein Bild wie die Platine nach deiner Rettungsaktion jetzt aussieht (wenns geht mach die jpeg Datei nicht zu groß). Würde mich wirklich interessieren! Gruß Andi
-
Thread
Setfont-Befehl in Bascom funzt net
Ich möchte großen Text anzeigen also z.B. 32x32 Geht das nicht?
Sebastian schrieb im Beitrag #2791106: > Ich möchte großen Text anzeigen also z.B. 32x32Geht das nicht? Geht schon, musst du aber mit einzelnen Pixeln selber zusammenbauen.
-
Thread
Ein "kleines" Problemchen in meinem Programm
Z1 und Z2 sind die 2 Zeilen im Display Ich verwende ein DS18S20 Sensor Plus Minus Ausgang am Portc.5 angeschlossen
das "einzige" Problem war , wenn man das Datenblatt nicht liest...der verkackte Pullup jetzt gehtes Perfekt !! Danke
-
Thread
Taster funktioniert nicht obwohl Simulation richtig abläuft
nicht gedrückt so ist der PortPin auf High (wegen interenen Pullups) und wenn der Taster gedrückt ist geht der Pin nach Low . Also so wie es sein sollte.
Probiere es mal mit: [c] if (!(PINA & (1<<PINA3))) //Taster an A3 gedrückt (PIN A3 low) { PORTC = (1<<PC5); //wenn Taster gedrückt LED an P5 an } else { PORTC = 0x00; //!!! LED ausschalten } [/c] lg, david
-
Thread
Atmega328P Firmware hängt nach Watchdog Reset
for(;;){ // main event loop wdt_reset(); //restart watchdog timer PORTC=(PORTC & ~0x3E) | ((counter >> 11) & 0x3E); //LED blinking action char key=PINB & 1; PORTC=(PORTC & ~1) | key; //output to LED, normally high counter--; if (key==0){
Anfang verursacht. Ist der auskommentiert, tut der Watchdog genau das, was er soll. Das Blinken geht nach Auslösen des Watchdog von vorne los. Hab ich den Delay aktiviert, dann hängt der Watchdog die Firmware auf, kein Blinken mehr nach Auslösen des Watchdog. Hat hierfür irgend jemand eine Erklärung
-
Thread
USART TXC Interrupt
/delay.h> int main(void) { DDRD = 0xFF; DDRB = 0xFF; DDRC = 0xFF; PORTC= 0xFF; //test led an //---USART config registers--- //UCSRA |= (1<<UDRE); UCSRB |= (1<<TXCIE) | (1<<TXEN); //rxc interrupt enable, transmitter enable alternative: 1<<TXCIE UCSRC |=
synchron, 8-bit, Rising XCK Edge UBRRL=25; //2400bps error 0.2% sei(); while(1) { PORTC=0xFF; } } ISR(USART_TXC_vect) { UDR=0xFF; while ( !(UCSRA & (1<<UDRE)) ); PORTB = 0x00; _delay_us(10); PORTB = 0x00; PORTC = 0x00; //schaltet test led aus }
-
Thread
Verschiedene Tastenzuweisungen
while( 1 ) { ..... if( nKeyPress ) { // Toggle die LED der betätigten Taste PORTC = PORTC ^ Pattern[ actConfig ][ actKey ]; } } } [/C]
Pattern[actConfig][1]; if( Input & 0x04 ) Summe |= Pattern[actConfig][2]; ... PORTC = Summe;
-
Thread
Empfange nur Kauderwelsch am UART (Computer)
pullup */ DDRB = ~0x01; PORTB = 0x01; /* PC0-5 as output, all off*/ DDRC = 0xff; PORTC = ~0x00; while(1) { /* PB0 high: transmit once and turn on LED*/ if((PINB & 0x01) == 0 ) { PORTC = ~(1<<PC0); uart_putc('a'); while((PINB & 0x01) == 0) {}
1 as output */ DDRD = 0xff; PORTD = ~0x00; /* set PC0-1 as output*/ DDRC = 0x03; PORTC = ~0x02; while(1) { if((PINB & 0x01) == 0 ) { break; } } PORTC = ~0x01; while(1) { PORTD = 0xff; _delay_ms(1000); PORTD = 0x00; _delay_ms(1000
-
Thread
Software UART Empfang (ATmega8)
INT0 Interrupts muss auch das entsprechende Flag gelöscht werden. Wenn es dann immer noch nicht geht, poste bitte mal, was genau gesendet und was genau statt dessen empfangen wird. PS: Wieso ist eigentlich 170 die Mitte?
001111 Ich glaub aber nicht, dass du daraus schlau wirst. Ich hab nur immer die ersten 6 Bits da PortC nicht mehr Pins hat.
-
Thread
LCD-Tutorial: LCD auf anderem Port funktioniert nicht
wunderbar (ATMEGA16). Ich brauche aber den PortB für die USART, also habe ich alles 1:1 auf die Pins am PortC angeklemmt: PC0-PC3 = DB4-DB7 PC4 = RS PC5 = E und im lcd-routines.h entsprechende Änderungen vorgenommen: // LCD DB4-DB7 <--> PORTD Bit PD0-PD3 #define LCD_PORT PORTC #define
Ok, spess53 war schneller und meine erste Vermutung richtig. Abschalten geht über Fusebits.
-
Thread
AVR: Ausgang und Eingang?
Du hast aber hoffentlich das JTAG-Interface deaktiviert (JTAG-Fuse)? Wenn nicht funktioniert der PortC nur teilweise. MfG Spess
hast aber hoffentlich das JTAG-Interface deaktiviert (JTAG-Fuse)? > Wenn nicht funktioniert der PortC nur teilweise. Allerdings betrifft das nur PC2-PC5. Hier geht es um PC1.
-
Thread
Stromsparen und Atmega8?
um wieivel strom geht es überhaupt? Bist du sicher das es dir um 1-2mA geht?
Hallo, außerdem. Finde es sowieso genial, wenns ums meckern geht finden sich auf ein mal Leute, herrlich.
-
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
PIC18F4550 minimale Beschaltung mit maximaler Portanzahl möglich?
unverändert... Beim PORTB, PORTD und PORTE funktioniert das alles wunderbar... Nur beim PORTA und PORTC lassen sich einige Pin's nicht schalten... Beim PORTC denke ich dass es an den Pin's für den USB liegt, aber den brauche ich nicht bei meinem Vorhaben... Kann mir vllt. hier jemand helfen und sagen
dein grösstes problem hier ist: du sagst nicht, was dein ziel ist. wenn es dir z.b. darum geht 100 LEDs unabhängig voneinander ein/auszuschlaten, dann brauchst du lediglich 3 pins deines PICs. -> stichwort: schieberegister wenn es dir z.b. darum geht, so wenig bauteile zu verbrauchen und du
-
Thread
C-Code für Fahrtregler anpassen
PINB6 = 6 ; Port B Input Pins bit 6 .equ PINB7 = 7 ; Port B Input Pins bit 7 ; ***** PORTC ************************ ; PORTC - Port C Data Register .equ PORTC0 = 0 ; Port C Data Register bit 0 .equ PC0 = 0 ; For compatibility .equ PORTC1 = 1 ; Port C Data Register bit 1 .equ PC1 = 1 ; For compatibility .equ PORTC2 = 2 ; Port C Data Register bit 2 .equ PC2 = 2 ; For compatibility .equ PORTC3 = 3 ; Port C Data Register bit 3 .equ PC3 = 3 ; For compatibility .equ PORTC4 = 4 ; Port C Data Register
-
Thread
pic das forum Gesperrt
PICs bekommen. Grund: 1. Sie sind billiger ;-) ( Samples; denn bei atmel die sample bestellung geht glaube ich nur für firmen oder etwa nicht?) 2. Sind sie robuster ;-) ( wir haben mal aus versehen 12V anstatt 5V an einem eingang angelegt. das einzige was war ist, dass der eingang defekt war, mehr
"1. Sie sind billiger ;-) ( Samples; denn bei atmel die sample bestellung geht glaube ich nur für firmen oder etwa nicht?)" Wenn jemandem einer abgeht, nur weil er was umsonst schnorren kann, dann von mir aus. Aber wenn man mal die Gesamtkosten eines Gerätes in Betracht
-
Thread
Timer soll Variabel löschen in Bascom.
Eingabe As String * 1 Dim Zähler As Byte Dim Länge As Byte Starten: Porta = 0 Portb = 0 Portc = 0 Wait 1 Portc.7 = 1 Empfangen = "" Print " Start " 'Rückmeldungstest '------------------------------------------------ Warten: Namen = Left(empfangen
Paketen Restore Map1 For T = 1 To 73 Read Pixel : Portb = Pixel Waitus 40 Next T Portc.7 = 1 Gosub Lied Portc.7 = 0 '------------------------------------------------ ' Ende nach Zeit '------------------------------------
-
Thread
74hc 299 richtig anscheuern
1 bit nun IO-0 oder IO-7 ist, ist mir egal [c] program Expander; var LED : sbit at PORTC0_bit; LED_dd : sbit at DDC0_bit; // Schreiberegister für die Relais // S0 = L; S1 = H; -Cler = H is_Out : sbit at PORTC1_bit; is_Out_dd : sbit at DDC1_bit; // Beide -OE bei beiden Out_dat: sbit at PORTC2_bit; Out_dat_dd: sbit at DDC2_bit; // SR (Chip2.sr = Chip1.q7) Out_Cl : sbit at PORTC3_bit; Out_cl_dd : sbit at DDC3_bit; // Clock Relai : word; procedure set_Out; var Low, Hig
-
Thread
Timer Problem
Impulslängen. (Siehe Anhang und noch mal vielen Dank an Karl Heinz Buchegger für die Hilfe) Nun geht es darum, dass ich bei einem empfangenen Zeichen über UART neue Werte ins Array schreiben will. Das klappt auch! Aber nur solange die Werte für die hinteren Lowimpulse größer sind als der erste Wert
wird, die dann beim nächsten Interrupt ins OCR geschrieben wird. if(NrOverflow % 2 == 0) PORTC &= ~(1 << PC0); else {PORTC |= (1 << PC0);} könnte man auch so machen: if(NrOverflow & 0x01) PORTC |= (1 << PC0); else {PORTC &= ~(1 << PC0);}
-
Thread
DRAM und Refresh
//reload timer outp(TI1_L, TCNT1L); for (i=0;i<1024;i++) // 1024 cycles { cbi(PORTC,PC3); // CAS lo cbi(PORTC,PC2); // RAS lo sbi(PORTC,PC3); // CAS hi sbi(PORTC,PC2); // RAS hi } } Siegfried
Hallo Markus, so wie das aussieht, gehts bei den hier vorgestellten Komponenten von Seiten der Software nicht schneller. Wie der Autor in seinem Beitrag auch geschrieben hat, kommt die Lösung nur da in Frage, wo der Controller noch Leerlaufzeiten
-
Thread
SD-Karten Initalisierung - ACMD41 gibt nur 0x01 zurück
einzugehen: 5A-5V- Spannungsregler 3,3V-1,5A Spannungsregler 74HC4050 Pegelwandler dann gehts.
Also wichtig ist auch folgendes: -Falls es mit einer SD-Karte geht und mit der anderen nicht, dann kann es daran liegen, dass eine eine dünne (1,4mm) und die andere ne dicke ist. Bei den dünnen geht CMD1 nicht glaub ich. Was aber bei SD-Karten immer geht ist CMD55/
-
Thread
Zirpende Feldgrille v3 (Atmel Tiny13)
anpassen, oben die Zeilen list p=16f1825 und #include <p16f1825.inc> sowie von Port C auf Port A. Es geht auch mit einem PIC12F683, dann muss man aber mehr ändern (CONFIG und Banks). Die Frequenz kann man mit dem Register OSCTUNE etwas ändern oder die Bursts von 8 auf 7 oder 9 stellen und die lange
Da ist ein fehler im Programm, es muss PORTA statt PORTC heissen oder man schliesst die Piezo-Scheibe an PORTC0 und PORTC5 an (dann geht das Programm aber nicht mit PIC16F1822 bzw PIC16F683). [code] ; PIEZO an PORTA0 (Pin 13) und PORTA5 (Pin 2) ;
-
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
Time interupt schneller machen
ohne cli/sei geht nicht es kommt zu starkem flimmern
Mike B. schrieb im Beitrag #2699839: > ohne cli/sei geht nicht es kommt zu starkem flimmern das hast du wo anders noch mehr fehler drin, das cli/sei sollte auf jeden Fall dort nicht rein.
-
Thread
Syntax-Highlighting Test
Mit M$-IE5 wird das auch nix, mit dem feurigen Fuchs geht es aber.
Nö, zweimal highlighten in einem Beitrag geht nicht...
-
Thread
Beschleunigungssensor
nie ausgelesen werden. Außerdem die Sache mit der CPU-Frequenz und der Baudrate. 115.2kBaud@8MHz geht eigentlich nicht. Stephan
funktionen genauer an, und überleg, ob die tatsächlich das machen, was die machen sollten (evtl. PORTC auf UART ausgeben lassen).
-
Thread
Probleme nach Optimierung
[counter]; // Jeweiligen Wert ausgeben PORTC = display[counter]; // Jeweilige Stelle einschalten } ISR(ADC_vect) { MyADCSRA |= (1 << ADIF); // Speicher für Interrupt Flag } ISR(USART_UDRE_vect) { static char* uart_tx_p = uart_tx_buffer
< ADIF))) // Solange Einlesen bis kein Interrupt Flag von ADC vorhanden [/c] ? Umständlicher geht es wohl kaum. Wenn Du schon in einer Schleife einliest, dann schalt den Interrupt komplett aus und frag entweder das ADSC oder das ADIF direkt ab. Beim Dummy-Read ist es doch genau so gemacht, warum
-
Thread
Transistortester AVR
Probleme mit dem EEprom > schreiben an einer schlechten Serie von AVR's ... Wahrscheinlichkeit geht gegen 0. > ... oder an meinem Programmer liegt. Wahrscheinlichkeit geht gegen 1.
noch hinbekomme. Allerdings wird das nichts an meinem LCD Problem ändern. EDIT 2: So Brenner geht, Hex erzeigt und gebrannt, Fuses gebrannt aber LCD geht wie erwartet nicht.
-
Thread
was ist an diesert Software falsch? ADC?
adcval5 = ReadChannel(5); ergebn5 = offset5 - adcval5; if (ergebn5 > 10 ) { PORTC |= (1<<4); } else PORTC &= ~(1<<4); //Taster 5 adcval9 = ReadChannel(9); ergebn9 = offset9 - adcval9; if (ergebn9 > 10 ) { PORTB |= (1<<3); }
adcval4 = ReadChannel(4); ergebn4 = offset4 - adcval4; if (ergebn4 > 10 ) { PORTC |= (1<<7); } else PORTC &= ~(1<<7); //Taster 8 adcval7 = ReadChannel(7); ergebn7 = offset7 - adcval7; if (ergebn7 > 10 ) { PORTB |= (1<<5); }
-
Thread
Digitale Signale mit Interrupt auslesen Probleme
. an anderen nicht (wie in den Oszi-Bilder sehr gut zu sehen. verwendet wurden: Ein belibiger PORTC pin -> triggert bei steigender Flanke an INT1(Oszi-Bild 0626) Bei allen PORTD-Pins ergibt sich nur ein komisches Signal(siehe Oszi-Bild 0624) Anstatt das sich das Signal nur bei steigender Flanke
lang. Die Frage ist nun: Warum toggelt er bei ALLEN PORTD-Pins nun "nonsens" und bei ALLEN PORTC-Pins gehts anständig ??? Ich Danke für jede Hilfe :-) [c]/* * TEST_1.c * * Created: 04.04.2012 13:42:59 * Author: LD */ #ifndef F_CPU #define F_CPU 8000000UL //atmega8a mit