-
Thread
atmega8 timer0+timer1+timer2
geht nur die pwm. bin echt ratlos hab auch schon viel gegoogelt und hier und auch in anderen foren gelesen aber so nen fall hab ich nicht gefunden. wär echt für jede hilfe dankbar. achja eingestellt
;Spannungswert out OCR1AL, r16 ;ADC Wert als MAX wert ;live bit rcall warte1s cbi portc, 5 rcall warte1s sbi portc, 5 rjmp main ;***********Unterprogramme********** ;Aktion bei Timer0 Overflow (Unterprogramm) timer0_overflow: inc r18 ;R18 Incrementieren inc
-
Thread
Einfacher Low Cost LCD Controller für 320x240 LCD im Textmodus
Das geht nur wenn das LCD angesteuert wird (die 44780 kompatiblen haben die Ansteuerung schon mit drauf, daher geht das bei denen).
danke, so jetz gehts ans bestellen kay
-
Thread
AREF bei ATMega8
dann mit C an GND geschlossen werden? Frage3: Initialisierung der internen Referenzspannung, wie geht das? Siehe Beispiel unten wie es jetzt gemacht wird. Was muss ich da ändern? Frage4: Ist GND and Pin22 mit Pin8 verbunden? Oder dient dieser Pin für die ADC-Gruppe? Danke für Eure Hilfe. Gruss
Hallo Brauche Eure Hilfe Etwas geht nicht. Also im unten stehenden Code funktioniert die ADC-Wandlung, wenn ich AREF auf 5V hänge. Wenn ich aber wie in der Simulation auf dem Breadboard den internen AREF ansprechen möchte, klappt
-
Thread
Programmierbare Relaiskarte - Konfigurationsdaten Lesen/Speichern/Übertragen
deiner Umgebung um. Man kann viel lernen, indem man beobachtet, wie andere Dinge machen. Und plötzlich geht einem dann oft sogar ein Licht auf, WARUM die das genau so gemacht haben.
frage mich nur warum es nicht auf dem Mega8 laufen will. Abgesehen davon das ich hier alle Pins des PortC nutzen kann und beim Mega8 hier noch UART drauf liegt hat sich nichts geändert. Habe jediglich das Target geändert und die beidem Pins des PortC dazu genommen. Hat hier jemand eventuell einen Ansatz
-
Thread
AVR Net IO Pollin Ethersex Port c nicht ansteuerbar
aktiv sein. Der erste Befehl, wird bei mir mit Putty immer mit einem Prase Error quittiert, danach geht es aber alles. welche Module laufen bei euch zusätzlich? Beim NET-IO liegt PortC komplett auf J3(das sollte der große 25 polige Stecker/Buchse sein). Die Seite ist etwas buggy, aber via ECMD
Fuse-settings in den Calc eingibt, wird angezeigt, dass >jtag deaktiviert ist(Bild). Dann muss PortC auch funktionieren. MfG Spess
-
Thread
USB-Stick am Mikrocontroller VNC1L
ansonsten hab ich keine Impulse auf den Leitungen. Elementare Voraussetzung VDIP ist recht robust, geht so schnell nicht kaputt.
mal laufen. >Ich will jetzt erst mal das Modul Updaten. Das ist wichtig, mit alten VDAP Version geht nicht alles.
-
Thread
Kleines Programm für ATMega644
mit GND verbunden, sonder offen gelassen, da Pin 4(TXD) und Pin 8(RXD) auf dem Mega8 beim USBasp geht. Ich hab nun folgendes Programm kompiliert: [avrasm] $regfile = "m644def.dat" $crystal = 8000000 $baud = 19200 $hwstack = 128 $swstack = 128 $framesize = 128 Config Portc.0 = Output Do Portc.0 = 1 Waitms 100 Portc.0 = 0 Waitms 100 Loop End [/avrasm] und die daraus erstellte hex-datei (test.hex) über [code]avrdude -c usbasp
-
Thread
Microchip MPLAB X + Compiler installieren
. wenn du zu der gruppe "ich will nur open source und sonst keinerlei einschränkungen", der sdcc geht auch mit MplabX recht gut. mfg Peter
PIC-spezifische Syntax gleich. Man muss lediglich gucken, was machbar ist. Man kann logischerweise nicht auf PORTC zugreifen, wenn der PIC garkeinen PORTC hat. Dann kommt aber auch beim compilern ein Fehler.
-
Thread
4*20 zeilen lcd an mega8
for(k=0;k<7;k++) //Ausgabeschleife für die 6 Befehle { PORTC = 0xff&0x04; PORTB = befehl[7]; //Befehl ausgeben PORTC = 0x00&0x04; 0 AND 4 ist bei mir auch 0, oder? for(i=0;i<800;i++); Sicher, daß die Schleife nicht
so hab das dann mal alles einzeln gemacht. und nen bissl programmiert und probiert und nun gehts! hab den code im anhang jetzt hab ich nur noch ne frage, wie mache ich das, dass der µC die zweite zeile nicht überspringt zur zeit sieht das so aus: 1. zeile: beschrieben 2. zeile: leer
-
Thread
STM32F4 Discovery - Audiodac + I2S
i2s.init [code] #define SpiPeriphNr 3 #define SpiAf GPIO_AF_SPI3 #define SpiMisoPort PORTC #define SpiMisoPinNr 7 #define SpiMosiPort PORTC #define SpiMosiPinNr 12 #define SpiSckPort PORTC #define SpiSckPinNr 10 ////// SPI Clock Rcc rcc; #if SpiPeriphNr == 1 #define SpiPeriph
2 Möglichkeiten; -- Lesen geht nicht richtig -- I2S Senden geht nicht richtig. Lass einfach mal das Lesen weg und sende eine synthetischen Ton. z.B. einen Sinus, den du dir vorher in eine kleine Tabelle schreibst. Dann kann
-
Thread
LCD-ansteuerung mit µ-controller
das gleiche, wie beim OP. Anbei habe ich meinen Sourcecode (C-Code). Die Hintergrundbeleuchtung geht leider auch nicht... hab an LED- GND angeschlossen und an LED+ ca. 2,2Volt. VO hab ich mit so einem Poti fast ganz auf Masse eingestellt, damit der Kontrast stimmt. PORTC, steuert nur LEDs, damit
cool, danke, jetzt geht es..... *freu* Doran
-
Thread
Noch ein Taschenrechner auf ATMega Basis
einer 88888888 in der Anzeige etwa 150mA, das ist natürlich der Tod jeder kleinen Batterie. Deshalb geht die Anzeige in einen "Schlafmodus", es wird nur ein Dezimalpunkt angezeigt. Dabei geht dann die Stromaufnahme auf etwa 40mA zurück. Immer noch viel. Die Stromsparmodi des ATMega verwende ich noch
folgenden Eingaben eines weiteren DP sperren. Das Regelwerk dazu ist jedoch deutlich komplizierter. So geht es auch :-)
-
Thread
Bit Adressierung beim ATMEGA8
Tja, und das geht nunmal so nicht, es sei denn du definierst dir ein Makro. Lies mal ein bischen im Datenblatt und dir wird vielleicht sogar klar, warum das so ist. Dann hast du auch ein wenig mehr verstanden, wie ein
ich definier mir deshalb immer für jeden Ausgangspin zwei Makros der Art #define HS1_ON PORTC|=(1<<0) #define HS1_OFF PORTC&=((unsigned char)(~(1<<0))) wobei ON und OFF nicht unbedingt High und Low entsprechen müssen. Für Eingänge gibts dann noch #define IN1 (PINA
-
Thread
AVR-GCC Tutorial Taster entprellen
eine Zeit läuft oder nicht wenn eine andere Taste gedrückt wird. Wird eine Taste gedrückt, dann geht die LED an und nach einer bestimmten Zeit geht sie wieder aus. Das Konzept 'Eieruhr für die Wartezeit dieser LED' zusammen mit dem Ereignis 'Eieruhr abgelaufen' regelt das.
dann zur Kontrolle drin, ob es geht. Schalten die LED, hat sich nichts aufgehängt. achim
-
Thread
double-konvertierung von 2d Feld
m=0; //globale Interrupts wieder zulassen sei(); udr=0; PORTC=0x00; } [/c]
daraufhin mit, dass letztlich atof() diese Tatsache aus Unkenntnis ignorieren wird. Wenn's trotzdem geht, ist es ein gutes Anzeichen, dass es des type qualifiers wohl auch gar nicht erst bedurft hätte.
-
Thread
SPI immer gleiche Antwort
von SPC müssen die Daten stabil sein. CS muss rechtzeitig /vor/ der Übertragung auf Low liegen und geht irgendwann /danach/ wieder auf High.
>CS muss rechtzeitig vor der Übertragung auf Low liegen und geht irgendwann >danach wieder auf High In seinem Programm geht es nie High.
-
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
Bascom Zeitrpoblem mit RS232 und SD Karte
Flush #3 Close #3 Buff = "" Toggle Portc.7 End If End If Loop Vielen Dank
Buff = Buff + Chrx Print #3 , Buff Buff = "" Toggle Portc.7 End If End If Loop Flush #3 Close #3
-
Thread
Ich weiß nicht mehr weiter... ATMega128 und Timer0
Überlauf => 10ms */ SIGNAL (SIG_OVERFLOW0) { TCNT0 = T0_RELOAD; // Timer0 vorbelegen if (test) { PORTC &= 0xbf; test=0; } else { PORTC |= 0x40; test=1; } } void INIT(void) { /* Timer0 als 10ms-Taktgeber per Interrupt definieren */ TCCR0 = (1<<CS00)|(1<<CS02); // Timer0 => F_CPU / 1024
kann hier noch faul sein? Fuse-Bits sollten auch alle passen: -M103C deaktiviert (andernfalls geht garnix) -JTAG, OCD, WDTON, BOOTRST deaktiviert -Takt: Ext XTAL, High frequency -Keine Lockbits (alle Mode 1) Wäre über Tipps was ich noch vergessen haben könnte echt dankbar! MfG _Techniker
-
Thread
UART funktioniert unter OS X nicht mehr
the macro uart_init( UART_BAUD_SELECT(UART_BAUD_RATE,F_CPU) ); sei(); PORTC |= (1 << 7); // LED8 zeigt den Betrieb an. uart_puts("\n\nProgramm gestartet!\n\r"); while(1) { PORTC |= (1 << 6); } } [/c] Sobald ich uart_puts auskommentiere leuchten
Wenn man planlos rumändert ist es kein Wunder wenn es nicht geht: #elif defined(__AVR_ATmega644__) /* ATmega with one USART */ #define ATMEGA_USART0 //#define UART0_TRANSMIT_INTERRUPT SIG_USART_DATA #define UART0_TRANSMIT_INTERRUPT USART0_TX_vect
-
Thread
GMZ: Layout ok? Verbesserungsvorschläge?
5. Was mich persönlich noch stören würde ist die Unterschiedliche Leiterbahndicke an PortA und PortC 6. Massefläche wäre auch nicht verkehrt, oftmal wird das Layout dann wesentlich einfacher 7. Wechselstrom-Steckernetzteil?? Ich würde einfach bei einem Stabilisiertem Steckernetzteil bleiben.
> 5. Was mich persönlich noch stören würde ist die Unterschiedliche Leiterbahndicke an PortA und PortC Stimmt. > 6. Massefläche wäre auch nicht verkehrt, oftmal wird das Layout dann wesentlich einfacher Hatte es versucht, aber ich habe noch nicht herausgefunden, wie man das richtig macht.
-
Thread
Frage zur Bitmanipulation
einfacher >schreiben kann. Nein, nicht bei avr gcc. >PORTx.n = 0; >//oder >PORTx.n = 1; Geht nicht. Der AVR hat keinen bitaddressierbaren Speicher und avr gcc bietet auch keine Makros dafür.
schreiben kann. > > Nein, nicht bei avr gcc. > >>PORTx.n = 0; >>//oder >>PORTx.n = 1; > > Geht nicht. Der AVR hat keinen bitaddressierbaren Speicher und avr gcc > bietet auch keine Makros dafür. Aber zumindest Bit-Adressierbaren IO-Bereich hat der AVR durch die Opcodes: SBI + CBI Intern
-
Thread
Atmega32: PWM an PortA
Meine natürlich Port C. Nunja, welche Pins kann ich denn nun für PWM nutzen? Und wenn ich PWM am PortC haben will, muss ich doch SoftPWM einsetzten, oder?
Timernummer steht (0, 1, 2, 3) und y für den Compare-Kanal des Timers (A/B). > Und wenn ich PWM am PortC haben will, muss ich doch SoftPWM einsetzten, > oder? Ja... ...
-
Thread
Potentiometer + Servomotor I Atmega328PB
Beitrag. diesmal muss mit dem Potentiometer ein Servomotor bewegt werden. Ich habe den Code so gut es geht vervollständigt nur gibt es einige Unstimmigkeiten im Code die ich bis jetzt nicht rausfinden konnte. Vielleicht kann hier jemand weiterhelfe, hat dass letzte mal so gut geklappt! :D Ich glaube bei
) // An dieser Stelle muss die Deklarations-Kopfzeile korrekt vervollständigt werden { PORTC |= 0xFF; // Servo-Ausgang selektiv auf HIGH } // Interrupt-Service-Routine des Timer/Counter 1 (Endzeitpunkt der HIGH-Phase einer PWM-Periode) ISR(TIMER1_CAPT_vect)
-
Thread
LCD-Display
Displays funktionieren wirklich gut, wenn man sie nur richtig behandelt ("Kaum macht man's richtig, geht es auch schon!"). MfG Gerd
Hallo Gerd, einfach durch die Zeilen: config portc = output reset portc1 auf Port C1 liegt der Rd Anschluß vom LCD. Ich gebe ja zu es ist ein newbie Problem, aber wenn man's nicht weiß... Gruß Micha
-
Thread
LCD Anzeige macht Probleme
DDRD |= 0b11111100; //Pins 2-7 als Ausgänge DDRC = 0xff; _delay_ms(2000); PORTC=0x00; _delay_ms(500); PORTC=0xff; lcd_linit(); //LCD Initialisieren lcd_clear(); //Display löschen lcd_out("Hallo Welt"); //Text ausgeben lcd_command(line2);
ich in der Software das jetzt wieder "gradebiegen"? E und RS kann ich einfach im Header ändern. Wie geht das für die Datenbits?
-
Thread
Servo-Pulssignalläge messen mit Atmega328p
#define BAUD 19200 //Debug #define MYUBRR FOSC/16/BAUD-1 #define LED_PORT PC0 #define LED_ON PORTC |= (1 << LED_PORT) #define LED_OFF PORTC &= ~(1 << LED_PORT) #define RC_RECEIVER_PORT PD2 #define RISING_EDGE PIND & (1 << RC_RECEIVER_PORT) /*Variablen*/ volatile uint16_t Throttle; volatile
Lothar M. schrieb im Beitrag #6819095: > Da geht es um einen schnarchlangsamen Temperatursensor. Ach, wenn du meinst... Der Temperaturwert (berechnet aus dem Duty Cycle) mag langsam sein, nicht jedoch das PWM Signal selbst. Lt. Datenblatt des
-
Thread
ATMega 16 Thermometer Display zeigt nichts an
deswegen muss ich den immer abschalten.Weis nicht warum das so ist.Wenn ich vergesse den abzuschalten geht nix mehr,weil ich den in den Einstellungen eingeschalteten WD mit gesendet hab.Wenn dann nix geht,fällts mir gleich ein. "WD abschalten" ! :)
habe ich die alten Einstellungen nur zur SIcherheit einfach nochmal überschrieben und genau seit dem geht nichts mehr.
-
Thread
Bascom - Servo, Temperatursensor und Co.
Display ### Config Lcd = 16 * 1 Dim X As Byte Dim Y As Byte , Slave As Byte Config Sda = Portc.4 Config Scl = Portc.5 Do Slave = &H91 I2creceive Slave , X Waitms 10 I2creceive Slave , Y If Y > 128 Then Y = 0 Else Y = 5 Lcd "* " ; X ; "," ; Y ; " °C *" Waitms 300 Cls Loop
Arbeit machen zu wollen, eine ordentliche Zeitsteuerung aufzubauen, weil es bei dem Test darum geht eine bestimmte Funktionalität zu testen und die Zeitsteuerung nur Mittel zum Zweck ist, diese Funktionalität in einigermassen regelmässigen Zeitabständen in diesem Standalone-Test auszulösen
-
Thread
Geziehlt 0 oder 1 in Pin schreiben
Ich werd das mal probieren. aber zunächst muss ich dann noch die zahl in ihre bits trennen oder geht das auch wenn ich einfach die zahl durchschiebe. also fürs erste bit zahl>>0 fürs zweite zahl>>1 und so weiter?
bits 0..7 to PORTB: */ PORTB = (val & 0xFF); /* write bits 8..11 to PC0..PC3 */ PORTC = (PORTC & 0xF0) | ((val & 0x0F00) >> 8); } ungetestet weil wenig Zeit, aber sollte so stimmen... Falls nicht, wird wenigstens das Prinzip sichtbar! :-)
-
Thread
Problem mit dem Lauflicht
\io.h> void warte_ms(unsigned int Verzoegern); int main(void) { DDRB=0b00111111; PORTC=0b11111111; DDRC=0b00000000; PORTD=0b11111111; DDRD=0b00000000; int X=0b00000001; int Zeitwert=2; int t; int g; do { if (!(PINC & (1<<PINC0
Die Warteschleife haben wir in der Schule gemacht. Mir geht es bei der Aufgabe richtig mit Kopf und Fußgesteuerten Schleifen zu arbeiten. Ok danke für die Hilfe, da muss ich wohl noch etwas üben.
-
Thread
ADC und Widerstand messen
dem der µC in die ENDED-Unendlich-Schleife sprint voll also so das keine Daten verloren sind oder geht och was rein oder ist er übervoll also das er übergelaufen ist? Kann ich die Interrupt Rotine so lassen? Also das beim Terminelprogramm keine "Schmierzeichen" erscheine? Ist die Speicher und Lese
Erst den Pin als Ausgang definieren: DDRC|= _BV(PC1); Die Messung selber läuft dann so ab: PORTC |= _BV(PC1); value16 = ADCReadChannel(0); PORTC &= ~_BV(PC1); Gruss, Thorsten
-
Thread
AVR ATmega8L Timer2 CTC wird nicht korrekt initialisiert/behandelt
heisst du solltest dir im klaren sein, willst du ein Overflow oder ein Comparematch. Port umschalten geht auch mit PORTC ^= (1<<PC0);
solltest dir im klaren sein, willst du ein Overflow oder > ein Comparematch. > Port umschalten geht auch mit PORTC ^= (1<<PC0); Ich wollte eigentlich CompareMatch.
-
Thread
Problem mit Code. Neuling braucht Hilfe.
Man kann PWM höllisch kompliziert machen und dann wegschmeißen, weil es nicht geht. Oder man nimmt gleich einen Timerinterrupt für die PWM und läßt das Main nur die Ablaufsteuerung machen. Peter
F_CPU 1000000UL #define RED PC5 #define GREEN PC4 #define BLUE PC3 #define RGB_PORT PORTC #define RGB_DDR DDRC #include <stdint.h> #include <avr/io.h> #include <util/delay.h> int main(void) { uint16_t i=0; uint16_t k=0; RGB_DDR=255; while(1) { RGB_PORT &
-
Thread
Assembler+Programmer / AVR-libc
mal geklappt. Anscheinend hat er aber jetzt Probleme mit der avr-libc, weil er bei jedem Aufruf von PORTC oder ähnlichen Sachen, wie zum Beispiel in dieser Zeile, volatile struct Stepper stepperL={10, 0, {0x01,0x02, 0x04, 0x08 }, 0, PORTC, 4}; ausgibt: robot.c:10: error: initializer element is not constant Wenn ich hardcore den PORTC durch 0x15 ersetze, kompiliert mein Programm. Auch wenn das Ersetzen wahrscheinlich totaler Unsinn ist, so scheint es doch ein Problem mit den IO-Macros in den avr-libc Header-Dateien zu geben.
-
Thread
STK 500 Fehlermeldung beim beschreiben von Mega8
das Device ja gelöscht ist) aber da ging es dann ich tipp mal das meine Makefile irgendwie nicht geht könnte mir jemand eine geben die für den Atmega 8 neu mit stk500 geht ? Gruß Andreas
Studio 4. Was geht : das Auslesen des Programmspeichers, das Löschen des Devices, also im allgemeinen alles auslesen auch bei den Fuse und Lockbits. Was nicht geht ist das schreiben von Programmen auf den µC. Fehlermeldung
-
Thread
Inline-Assembler: Label-Sprungadresse in Z-Register laden - wie?
multiplext man dann eben 8 Zeilen und schon hat man einen besseren Duty-Cycle und auch die Framerate geht in die Höhe. Alleine diese einfache Änderung verdoppelt dir schon mal die Framerate.
hängen an einem Port, um also die Daten einer Spalte zu aktualisieren brauche ich nur ein Byte auf den PORTC zu schreiben. Viele Grüße, Simon
-
Thread
Umstieg ATmega32 auf AT90CAN128 WinAVR
2.) Timer2 Bug: Wenn ins Compare Register geschreiben wird, wenn der Timer gerade "überläuft" geht der Interrupt verlohren. (betrifft aber auch mega32,44,88,168) 3.) ISP wird anders angeschlossen 4.) Man muss auf das M103C-Fuse (Atmega103 Compatibility Mode) achten und ausschalten. 5.)
Hi! PORTA für Tasten und Temp.Messung = 8Pin PORTC + PD7 für Display und I2C = 9Pin (7+2) PD4+PD5 für 16bit-PWM = 2Pin RS232 = 2Pin SPI für CAN = 4Pin 3*Digitale Eingänge für vorhandene 2Punkt Raumthermostate = 3Pin 2* Ext INT für I2C+? = 2Pin
-
Thread
Reset bei UART Empfang in einer SUB
brauche ich dann später für den DMX-Transceiver. Ich habs aber trotzdem mal ohne das "P" versucht, geht auch nicht. Gruß, Benny.
Benjamin Klyeisen schrieb: > Ich habs aber trotzdem mal ohne das "P" versucht, geht auch nicht. Ja klar. Ich habe für den nur keine Lib. Daher hatte ich es mit einem m644 versucht. Finde ich aber trotzdem seltsam. In der Simulation ging alles fehlerfrei ohne Reset von sich. Ich
-
Thread
I2C und Bascom
PC, alles funzt. Nun will ich mit einem Gyro per I2C sprechen und mein erster Gehversuch mit I2C geht voll daneben. Der Gyro ist ein Modul MinIMU-9 (L3G4200D and LSM303DLH Carrier) von Pololu. Im Programm ist sonst kein Timer oder Interrupt aktiv. Es geht alles bis in die Gosub write_byte, "i2c
kollidiert die Beschreibung mit der Realität. An Pin 27/28 liegt PC4/5 und die HW-I2C Schnittstelle. PB4/5 geht für SW-I2C, auch die eingebundene Lib deutet darauf hin. Über Config I2CDelay sollte dann die Geschwindigkeit der Soft-I2C eingestellt werden. Es müssen externe Pullup-Widerstände dran, Soft-I2C geht
-
Thread
FT232RL löten
geht problemlos auf na selbstgätzten platine, man(n) muss nur löten können...und einen sehr sehr feinen lötkolben haben ;)
>Mit Ft232 -> Platine will es noch nicht so ganz. Das heisst es geht was genau nicht?
-
Thread
Ports low setzen
machen: PORTB &= ~( (1 << PB0) | (1 << PB1) | (1 << PB2) | (1 << PB3) | (1 << PB4) | (1 << PB5); Geht das denn oder wie könnte man es kürzer machen (atomar)
Machs einfach so: [c] uint8_t u8tmp; void main ( void ) { ... u8tmp = PORTC; u8Tmp &= ~(2b11000000); u8Tmp |= (2b00111111); PORTC = u8Tmp; } [/c]
-
Thread
Flankenerkennung für fallende Flanke als Funktion?
if (Taster_1) { Temp = Taster_1; _delay_ms(20); if (Temp && !Taster_1) { PORTC ^= 0xff; } } [/c] Nun möchte ich sie gerne als Funktion haben, so dass es für mehrere Tasten verfügbar ist. Und ich dann so nutzen kann: [c] if (key-up((Taster_1)) PORTC ^= 0xff
/c] Benötigt also nur eine einzige Zeile für 8 Tasten. Also pro Taste eine achtel Zeile, kürzer gehts nimmer. Peter
-
Thread
Routinen für SED1565 (z.B. für 128x64 LCD Hyundai HP12542
Dann lass Reset des LCDs weg und häng ein RC Glied dran. Ist zwar keine perfekte Lösung, geht aber.
kann doch auch die bitmaske für D0-D7 auf zwei ports verteilen? Ich weiß zwar nicht genau wie das geht und im moment zeigt mein lcd noch gar nichts an aber das müsste doch gehen oder?
-
Thread
Atmega8 UART TX Fehlersuche
unsigned int baud); void main (void) { uartInit(25); #asm("sei"); do { transmitUART('X'); PORTC.2=!PORTC.2; delay_ms(100); } while(1); } void uartInit(unsigned int baud) { UCSRB=0x18; //0b00011000; UCSRC=0xA6; //0b10100110; UCSRC&=0xEF; //0b01111111; UBRRH=(baud>>8); UBRRL=baud & 0xFF
jetzt mal eingearbeitet. Standart mässig steht der Codevision Compiler schon richtig. Aber trotzdem geht das nicht mit der Übertragung. Hat jemand noch nen Tipp woran es liegen kann?
-
Thread
AVR-C Programm Ledansteuerung
Ausgang_schalten==1) //Bedingung prüfen für Aus/NotAus, wenn "1" Aus/NotAus nicht gedrückt PORTC = (1<<0)|(1<<1); // C.0 und C.1 ansteuern für Ausgabe else PORTC = 0; } int main() { DDRC = 0xFF; // Ausgänge DDRB = 0x00; // Eingänge //PORTB = 0b00000001
Schleife mit "return 0;" > Die Klammer } muss *vor* das "return 0;". > > Edit: zu spät :-(( Es geht nun. Vielen vielen Dank.
-
Thread
TWI auf myAVR
Ich habe entsprechend der "Anleitung" (die mittlerweile im Mülleimer liegt) SDA und SCL an PORTC.4 und PORTC.5 verbunden - nach intensiven Studieren der Atmel - Datenblätter läuft mein erstes Programm nun auch - es wird ein LM75 angesprochen, soweit so gut. Nun habe ich aber mal spasseshalber
Papierkorb holen und lesen...die Kabel sind nur dazu da, um das TWI über USB nutzen zu können...an den µC geht das fest verdrahtet...was ein Blick auf die Leiterbahnen auch zeigen würde...
-
Thread
XMEGA TWI timing Problem
mir ja der eine oder andere helfen. Hier meine main.c: int main(void) { PORTC.PIN0CTRL = 0x18; //Pull Up SDA PORTC.PIN1CTRL = 0x18; //Pull Up CLK int i=0; int Status = 0; int temperature=0; unsigned int humi=0; char status = 0; char lowbyte = 0;
Beispiel für das TWI-Modul, das man leicht an eigene Slaves anpassen kann. So wie Du das gemacht hast, geht es nicht.
-
Thread
AD-Wandler Problem
hm. Atmel hat im Datenblatt aber glaub auch erwähnt, dass en nicht nötig ist, wenn PORTC auch als Ausgang dienen soll. Die Werte sind absolut stabil! ok, ich habs gerade runtergeladen ...
wenn man mit µC`s arbeitet ... Ist immer noch besser ls zuverzweifeln... :) Falls es nur mit TP geht ... dann kannste die anderen Port Pins nicht als I/0 nutzen ... Mfg Dirk
-
Thread
WordClock mit DCF77, Photodiode und ATMega8
XTAL2, should not exceed 200mA[/pre] Vielleicht kannst Du ja noch die ein oder andere Leitung von PortC auf PortB oder PortD verlegen.
Schaltznetzteil genommen, also kein 7805 mehr. Der Empfang vom Conrad Modul ist gut, das Multiplexn geht bei 32 PWM Stufen auch gut, allerdings gibt der Helligkeitssensor keine guten Werte raus. Wenn ich fertig bin gibts noch ein abschließendes Foto. Grüße Oli