-
Thread
Flankenerkennung mit Attiny
prod_documents/doc2543.PDF Mein Problem ist, dass die Impulse <=0.5us lang sind. Wenn ich jetzt einen 8-Bit Port in einer Schleife einlese, dauert das schon ca 3 us, mit dem Effekt ich erkenne nicht alle eingehenden Pulse? Kann man auf 8 IOs eine Art Flankenerkennung o.ä. auf dem AVR Typ realisieren ? Was für
Beim 2313 ist doch der kpl. PortB als PinChange verwendbar. Und wenn der µC sonst nichts macht, kann man das Flag in der Main abfragen (ohne Interruptroutine). avr
-
Thread
Einfaches Programm ATtiny2313
PORTd, r16 ; r16 ins IO-Register PORTB ausgeben loop: in r16, PIND ; an Port D anliegende Werte (Taster) nach r16 einlesen rol r16 rol r16 out PORTd, r16 ; Inhalt von r16 an Port B ausgeben rjmp loop ; Sprung zu "loop:" -> Endlosschleife
PORTd, r16 ; r16 ins IO-Register PORTB ausgeben loop: in r16, PIND ; an Port D anliegende Werte (Taster) nach r16 einlesen rol r16 rol r16 out PORTd, r16 ; Inhalt von r16 an Port B ausgeben ldi r16, 0b00011000 out PORTD, r16 rjmp
-
Thread
Wie programmier ich das elegant in C
Warum nicht mit Port C und B direkt auf den Bus gehen? Oder einer sonstigen Kombination aus den Ports, um dann INT0 und INT1 freizuhalten, welche dann als ¬READ und ¬WRITE fungieren. Oder einen Mega48/88/168 hernehmen
Sprung? Nach wievielen Takten bin ich in der Routine drin? mfg mf PS: Bitpopelei sehr gut im AVR-GCC-Tutorial beschrieben.
-
Thread
PIC Mikrocontroller
. > Mit den AD Wandlern hat das nichts -aber gar nichts- zu tun... Wir haben beide Recht ;-) Ports, die auf 'analog' stehen, ergeben beim Einlesen über den PORT-Befehl wohl immer eine Null. Was natürlich bei den bcf/bsf (Read-modify-write Befehle!) zu seltsamen verhalten führt. Weil setzen kann
Beitrag #2045371: > Wir haben beide Recht ;-) Naja, nicht ganz, denn was du hier beschreibst: > Ports, die auf 'analog' stehen, ergeben beim Einlesen über den > PORT-Befehl wohl immer eine Null. Was natürlich bei den bcf/bsf > (Read-modify-write Befehle!) zu seltsamen verhalten führt. Weil setzen
-
Thread
Kippschalter
schaltbare Pullup-, selten sogar Pulldown-Widerstände eingebaut. Wenn du z.B. bei einem Atmega an PortD an Pin3 den Schalter hin hängst, kann in deiner Init-Routine in C folgendes stehen: [c] DDRD = 0; //DataDirection auf Eingang PORTD = (1<<PIN3); //Pullup an PD3 anschalten [/c] Zum Einlesen kann
schreiben: [c] if(!(PIND & (1<<PIN3))) { //Tue dies und jenes... } [/c] Näheres hierzu bitte im AVR-GCC-Tutorial nachlesen.
-
Thread
Wittig(welec) DSO W20xxA Open Source Firmware (Teil4) Gesperrt
Nur z.Info, die Versuche liefen mit: WinXP Pro SP3 ActivePerl 5.12.3 Build 1204 und Win32-SerialPort-0.22.
einem anderen Zusatzkabel. Ist aber wohl eher eine Ausnahme. Bei mir läuft das Ganze sowohl am PC-Port als auch am NoName USB-RS232-Adapter am Notebook problemlos. Die guten alten echten RS232 Ports... Tja auf manches kann man eben doch nicht verzichten. Gruß Hayo
-
Thread
MSPGCC Toolchain für MSP430 Familie
lange. Soweit ich weiß, schon bevor TI's Code Composer populär wurde. Die Qualität dürfte ähnlich AVR-GCC sein. Ich weiß nicht, ob das Problem heute noch aktuell ist, aber früher mußte man, wenn man beide auf einem (Windows-) PC haben wollte unbedingt MSPGCC als zweites installieren, nach AVR-GCC.
osx-launchpad.blogspot.com/ Das einzige was am Mac stört, ist, dass der USB-UART(von TI Virtual Com Port genannt) nicht geht. Mspdebug läuft seit Einbinden des "codeless" .kext tadellos. mfg mf
-
Thread
V-USB selber machen
man schon erkennen: http://www.rn-wissen.de/index.php/V-USB:_Ein_Firmware_USB-Treiber_f%C3%BCr_AVR mfG ingo
aber hier nicht benötigt. Da die Treiber bereits vorhanden sind. > Wo kann ich mich über V-USB einlesen ( möchte keine weiteren Chips > verwenden)? Keine weiteren Chips = OBdev, da der A88 keinen USB-Port hat. http://www.mikrocontroller.net/topic/206671?reply_to=2041303#2041366 > Suche keine
-
Thread
Primitiver Computer im Eigenbau
so etwas habe ich auch vor, irgendwie mal einen computer im miniformat zu bauen auf der untersten avr-stufe. interessant hier im forum ist auch das avr-basic auf einen avr644p. da kannst du mal schauen wie ein interpreter funktioniert. das programm ist sehr übersichtlich geschrieben. es passt
andere Zeichen, ausser 0..9 darstellen möchte, sollte man auf den einsatz von decodern verzichten. Um Ports/Pins zu sparen, benutzt man multiplexing, was in http://www.mikrocontroller.net/articles/AVR-Tutorial:_7-Segment-Anzeige beschrieben ist. MfG Turbotoni
-
Thread
Einzelne Port-Pins abfragen
Portpins abfragen. >(z.B. mit IN r16, PINB0). Das geht nicht. 'IN' erwartet die Adresse eines IO-Ports. PINB0 ist aber nur die Pin-Nummer. In diesem Fall 0. Ausser den genannten Möglichkeiten 'sbis'/sbic' kann man auch den Port einlesen und das Bit abfragen: [avrasm] in r16,PINB andi r16, 1
Ich habe mich gerade gefragt, ob das auch funktioniert, wenn einige Pins des Ports als Ausgang konfiguriert sind. kann man dann trotzdem mit in r16,PINB die auf eingang geschalteten Pins einlesen? Was passiert mit den Bits der als Ausgang konfigurierten Pins? Gruß,
-
Thread
Neu >> brauche Einführungshilfe in AtXmega128a1
ausprobieren, da kann man am besten die Programme testen. Danach (oder parallel dazu) würde ich das AVR-Studio empfehlen, angenehm zum Debuggen und man muss sich nicht direkt mit dem gcc und Makefiles "quälen". Als erstes Programm ist es angebracht, ein Muster auf einem Port auszugeben (LEDs zum Leuchten
Registern das bewirken, was man machen möchte (Pins schalten, Timer für regelmäßige Sachen, Analogwerte einlesen...). Konkrete Fragen kann man hier dann (nach Suche im Internet, hier im Forum und im Datenblatt) gerne stellen. Nachtrag: Wie man das fertig compilierte Programm (HEX-File) in den Controller
-
Thread
LCD an ATmega 8 Routine, die das Busy Flag abfragt, läuft nicht!
Hallo, ich habe hier den ATmega8 und habe die Subroutinen, die für die Ansteuerung des LCD (siehe AVR Tutorial) größtenteils neu geschrieben/umgeschrieben, so dass nicht mehr überall "delays" zwischengepackt werden müssen, sondern stattdessen das Busy Flag abgefragt wird. Leider funktioniert das
DDRD,temp ret Mir hat es damals "das Genick" gebrochen dass ich nicht daran gedacht habe den Port als Ausgang und später als Eingang zu konfigurieren. Wie gesagt: Vielleicht hilft es ja!
-
Thread
Möglichkeiten eines MikroControllers
momentane Temperatur des Tees enthält :-) zb das hier http://www.ulrichradig.de/home/index.php/avr/webserver oder http://www.mikrocontroller.net/articles/AVR_Net-IO_Bausatz_von_Pollin http://www.pollin.de/shop/dt/MTQ5OTgxOTk-/Bausaetze_Module/Bausaetze/Bausatz_AVR_NET_IO.html (mit 20 Euro +
ausgehend von einzelnen Begriffen/Fragestellungen, Google und diesem Forum und dem Willen sich Einlesen zu wollen relativ weit kommt. Aber viele scheinen ein selbstständiges, systematisches Einarbeiten in einen Bereich nie gelernt zu haben (Problem der Erziehung und/oder der Schule?) oder wollen
-
Thread
PC mit Handy einschalten
eingang anzapfen, den ggf. mit einem Kondensator nach Gleichrichtung "glätten" und dann per ADC einlesen und mit einem AVR dann den Einschaltimpuls erzeugen. Ansonsten auch sehr schön: http://www.ulrichradig.de/home/index.php/avr/avr_handy ich würde ggf. das Handy aussen an den PC tuen und
Fällen ein Broadcast, wird also überall im LAN verschickt. Eine Switch wird das Packet auch an alle Ports weiterleiten. Also nichts mit verwerfen oder vergessen.
-
Thread
Mega8 Temperatur Drehzahlregler
auf die Minute hochrechnen! Arbeite dich mal hier durch: http://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR und hier: http://www.mikrocontroller.net/articles/Festkommaarithmetik Gruß
wcounthi=0 Enable Interrupts Grad = Getadc(0) / 6 'ADC0 Einlesen Locate 1 , 1 Lcd Grad ; "ß" Rpm = Getadc(1) 'ADC1 Einlesen Locate 2 , 1 Lcd Rpm ; "Rpm" Waitms 30 If Grad < 60 Then Portb.3 = 1 Else Portb.3 =
-
Thread
Atmega,spi und AD-wandler Gesperrt
durch Atmega 16 zum Pc in 1 seconde abstand erfassen. Ich muss dabe dad folgendeProgramm(source Fil AVr compiler) ändert so ab, die Datenerfassung in abstand von 1 seconde erfolgt. /Verwendung des MAX146/147 (8 Kanäle, 12 Bit AD-Wandler) //auf ext. Erweiterungsboard (Polli_V2_spi) //zum Einlesen
printf auf float with precision unsigned char kan; // Input/Output Ports initialization // Port A DDRA=0x00; PORTA=0x00; DDRD=0x60; //Leds // Port B // the /SS pin is set as an output
-
Thread
Erkennen ob bei einem AVR ein IC mit einem Ausgang oder Eingang angeschlossen ist.
Guten Tag Ich habe das Problem, dass bei einer bestehenden Schaltung an einem Port des AVR's IC's mit einem Eingang bzw. mit einem Ausgang angeschlossen werden können. Leider hat diese Schaltung an diesem Port keinerlei Schutzbeschaltung. Es wird rein über die Software vorgegeben ob jetzt der Port ein Einfgang oder ein Ausgang ist. Wenn 2 Eingänge aufeinandertreffen ist es ja nicht so schlimm. Wenn 2 Ausgänge aufeinandertreffen sieht's nicht so gut aus. Gibt es eine Möglichkeit softwaremäßig
-
Thread
Simples SPI an AVR32 funktioniert nicht
aktivert... #define CS 10 #define SCK 13 #define MISO 11 #define MOSI 12 #define A 0 AVR32_GPIO.port[A].gpers |= (1<<CS) | (1<<SCK) | (1<<MOSI) | (1<<MISO); // Pins aktivieren AVR32_GPIO.port[A].oders |= (1<<CS) | (1<<SCK) | (1<<MOSI); // Pins als Ausgang
************************ //************************************************************* AVR32_GPIO.port[0].oders = 1 << 11; // The output driver is enabled for the corresponding pin AVR32_GPIO.port[0].gpers = 1 << 11; // Set GPIO PA11 to output AVR32_GPIO.port[0].ovrc
-
Thread
AVR-Tutorial: ADC
; Alle Port's auf Low ldi Temp1,0b00000000 out PortB,Temp1 ; Port B alles auf Low out PortC,Temp1 ; Port C alles auf Low out PortD,Temp1 ; Port D alles auf Low ;Alle Interrups an sei ; neuen ADC-Wert
; Alle Port's auf Low ldi Temp1,0b00000000 out PortB,Temp1 ; Port B alles auf Low out PortC,Temp1 ; Port C alles auf Low out PortD,Temp1 ; Port D alles auf Low ; ADC initialisieren: ADC0, Vcc als Referenz
-
Thread
AVR PortG bei ATmega128
ganz. Aufgabenstellung: ich möchte bei einem ATmega128 von PORTG, den Eingang Drei, also PING.3 einlesen. Alledinsg bekomme ich beim Compilieren unter CodevisionAVR immer folgende Fehlermeldung: the first argument of the '.'operator must be of 'struct' or 'union' type So, ich habe im Source den
Hi, danke für die Antwort; das nimmt mein CodevisionAVR auch nicht - leider. Jetzt meldet er, dass er 'PG3' nicht kennt. Kannst du mir vielleicht noch sagen, wo eines eine Mapping Tabelle für den ATmeg128 gibt. Dann kann ich mir die Adresse des Ports
-
Thread
Atmega16 und spi bus Gesperrt
printf auf float with precision unsigned char kan; // Input/Output Ports initialization // Port A DDRA=0x00; PORTA=0x00; DDRD=0x60; //Leds // Port B // the /SS pin is set as an output
Einstellung f. printf auf float with precision unsigned char kan; // Input/Output Ports initialization // Port A DDRA=0x00; PORTA=0x00; DDRD=0x60; //Leds // Port B // the /SS pin is set as an output // with
-
Thread
ATMEGA88 + Sleepmode + Timer + Taster --> wie geht das
. Der AVR wurde bei mir durch einen Uhrenquarz aufgeweckt. Viel Erfolg!
Danke guter rat! Ich werde mich da mal einlesen müssen. Der Ablauf ist mir jetzt klar nur die Umsetzung wird eine Weile benötigen. Bisher protrahiere ich einfach drauf los. Habe mit dem Datenblatt noch nicht viel zu tun gehabt. Wenn man Ports on
-
Thread
STK600 --> Fehlermeldung bitte um Hilfe!
Socketcard für einem Atmega2560. Hiermit habe ich auch diverse Schaltung getestet. LED-Ansteuerung, Einlesen von Ausgängen, Timer, ADC ... Bis jetzt habe ich immer über ISP programmiert. Heute wollte ich die PWM-Ausgänge testen und übertrug folgendes Programm. Denke nicht, dass dies für das Problem
anführen (Viele Kommentare für paar Zeilen Programm also nicht abschrecken lassen). [c] #include <avr/io.h> // Internet Takt 128kHz // Der ADC ist an PortF angeschlossen, ADC0 --> PF0 // Ausgaege des PortB sind negiert // int main(void) { /* Hinweis: 16Bit-Regiser immer direkt
-
Thread
Programmoptimierung
mehr ??????? warum verläßt er mich, er war doch noch so jung????? --> das war der befehl: C:\WinAVR-20100110\bin\avrdude.exe -C C:\WinAVR-20100110\bin\avrdude.conf -p m8 -P lpt1 -c alex -u -U hfuse:w:0xD9:m -U lfuse:w:0xE7:m hier der Programmer im Conf: programmer id = "alex"; desc
RAMEND) out SPH, temp1 ldi temp1, LOW(RAMEND) out SPL, temp1 ; Port B = Ausgang ; cbi = auf 0 setzen ; sbi = auf 1 setzen ldi temp1, 0xFF out DDRB, temp1 ; Port B = Ausgang ldi temp1, 0xFF out DDRD, temp1 ;Vorbelegung
-
Thread
74xx165 mit 74xx595 per SPI gleichzeitig lesen/schreiben; clk-Inverter?
nicht. Verbinde den CLK-Pin (2) des 165 einfach mit der SCK Leitung. Ändere dann einfach nur die AVR-SPI-Routine etwa so in dieser Richtung ab: 1: SCK auf 0 2: Datenbit auf MOSI rausschieben 3: SCK auf 1 ; der 595 schiebt 1x rein, der 165 ein Bit raus 4: Datenbit auf MISO einlesen 5:
wollte kein Soft-SPI, sondern den USART im SPi-Modus nutzen. Hab schon alle leitungen umverlegt von PortC nach PortD. Wer lesen kann ist klar im Vorteil! Zum Thema: ich hab mich jetzt dazu entschlossen die Platine einfach mit dem transistor-inverter zu bauen und zu hofen dass es klappt. Aber das sollte
-
Thread
Probleme beim Einlesen vom Dip-Schalter
Hallo zusammen, Ich möchte den Wert eines Dipschalters einlesen. Dieser hat 8 schalter und belegt so genau den Port B des Atmega8. im Mainprogramm, vor der Programmschleife initialisiere ich nun die Ports und lese den wert von Port B ein. Dieser wird in eine uint8
eine Schaltung existiert praktisch nicht. Der AVR steckt im STK 500 und ich verwende die LEDs des boards. dann greife ich mir einem Wannenstecker den Port B auf dem STK500 ab und ziehe die Portpins per Dipschalter auf GND.
-
Thread
PWM mit Poti steuern, Problem im Code
, genannt "Hoch-Tief", der delay. Das Projekt soll eine Time-Fountain werden. [c] #include <avr/io.h> #ifndef F_CPU #warning "F_CPU war noch nicht definiert, wird nun mit 8 MHZ definiert" #define F_CPU 8000000UL /* Quarz mit 8 Mhz */ #endif #include <util/delay.h> #include <avr/interrupt.h
uint16_t ADCvalue1; ADCvalue1 = get_ADC(triggerflag_poti); // channel ADC1, ersten Wert einlesen uint16_t ADCvalue2; ADCvalue2 = get_ADC(triggerflag_poti); // zweiten Wert einlesen // hoch oder tief if ( (ADCvalue1-ADCvalue2) > 10 ) // falls
-
Thread
was wenn Schieberegister kleiner ist?
es mal auf den Punkt zu bringen: Dein Sensor hat eine > SSI-Schnittstelle, die du mit einem µC einlesen willst? Er will einen Inkrementalwertgeber per AVR in einen Absolutwertgeber mit SSI-Schnittstelle verwandeln.
es mal auf den Punkt zu bringen: Dein Sensor hat eine >> SSI-Schnittstelle, die du mit einem µC einlesen willst? > > Er will einen Inkrementalwertgeber per AVR in einen Absolutwertgeber mit > SSI-Schnittstelle verwandeln. genau richtig, vollgetroffen.
-
Thread
Schieberegister über zwei Ports
Schieberegistern :) ********************************************************************* #include <avr/io.h> #define F_CPU 8000000UL //CPU Takt = 8MHz #define SR_DDR DDRB //DDRB als SR_DDR definieren #define SR_PORT PORTB //PORTB als SR_PORT definieren #define SR_0 PB0 //PB0 als SR_0 definieren
//8 Bit ins SR schieben { if((memory[i]>>j) & 1) //Bits jeweils mit 1 verunden SR_PORT |= (1<<SR_1); //wenn Bit=1 SR_1 auf HIGH else SR_PORT &= ~(1<<SR_1); // wenn Bit=0 SR_1 auf LOW SR_PORT |= (1<<SR_0); //HIGH Flanke => schieben SR_PORT &= ~(1<<SR_0
-
Thread
Atmega2560 ADC auslesen
einen 10Bit Wert gewandelt. Die untern 8 Bit sollen an den PORTB ausgegeben werden. [c] #include <avr/io.h> // inernet Takt 128kHz // Port E hat ADC (ADC0) PF0 // Ausgänge sind negiert int main(void) { #include <avr/io.h> // Internet Takt 128kHz // Der ADC ist an PortF angeschlossen
) Danke, das warten habe ich schon eingebaut. In Interrupts muss ich mich beim Atmega noch einlesen. [c] #include <avr/io.h> // Internet Takt 128kHz // Der ADC ist an PortF angeschlossen, ADC0 --> PF0 // Ausgaege des PortB sind negiert int main(void) { ADCSRA= 0b11100000
-
Thread
Ich brauche hilfe, um folgendes Programm entsprechend zu erweitern
[c] #include <avr/io.h> #define KEY0 (1<<PD2) #define KEY1 (1<<PD3) #define KEY2 (1<<PD4) #define LED0 (1<<PD5) #define LED1 (1<<PD6) int main() { DDRD = LED0 | LED1; for(;;){
1.(einfach) den Port in eine Variable einlesen 2. und die definierten zustände abfragen, 3. else alles aus 4. dann neu einlesen (loop)
-
Thread
Platine mal funktioniert, mal nicht
Hi >Quellcode mal funktioniert, mal nicht. Er braucht nur mal nach dem Einlesen eines Ports die 'offenen Pins' nicht ausmaskieren und mit einem angenommenen Zustand der Pins weitermachen. Und schon wird das Ganze ergebnisoffen. MfG Spess
im Beitrag #1982800: >>Quellcode mal funktioniert, mal nicht. > Er braucht nur mal nach dem Einlesen eines Ports die 'offenen Pins' > nicht ausmaskieren und mit einem angenommenen Zustand der Pins > weitermachen. Und schon wird das Ganze ergebnisoffen. Genau. Mein zugegebenermaßen am Rand
-
Thread
Assembler und NOP
nop-Befehl noch zusätzlich einfügt bzw. wie ich das verhindern kann? Danke... Achja, ich benutze AVR Studio Version 4.18 Build 700
delay loops http://www.nongnu.org/avr-libc/user-manual/group__util__delay.html
-
Thread
Taschenrechner Umbau AVR
gerade nicht bei der Hand deshalb kann ich nicht sagen welches Model genau) mit LED-Display mit einem AVR Ausrüsten um mit dem dann alle möglichen spielereien zu machen. Als AVR dachte ich an einen Atmega8-16PU weil ich von denen noch ein paar herumliegen habe und der genug Leistungsreserven für meine
Entweder Low-Drop-Linearregler oder eben Schaltregler. Aber beides (finde ich) schwieriger, als den AVR bei der Spannung und 16 MHz laufen zu lassen :) .
-
Thread
AVR asm code bewerten und kritisieren bitte!
machen muss als einfach nur eine >betimmte Anzahl Zeichen anzunehmen. Als erstes solltest du das Einlesen des NMEA-Strings im Hintergrund laufen lassen. Erst wenn der vollständig vorliegt werden die Werte extrahiert und angezeigt. Im Anhang mal ein Stück Code aus dem Programm zu dem hier: http:/
viewtopic.php?t=54671&sid=ccf684586a42004a666b0906cffdb25d hatte ich mit robo_wolf auch mal einen AVR-Assembler-Lernkurs angelegt. Ist vllt in Hinblick auf einen modularen Programmierstil interessant. mare_crisium
-
Thread
Led-Matrix an VGA
sich ja nur jede 20. Zeile. Schema: in der ersten Zeile die erste LED deiner 1. Matrixzeile einlesen in der zweiten Zeile die zweite LED deiner 1. Matrixzeile einlesen [...] in der 16. Zeile die 16. LED deiner 1. Matrixzeile einlesen Die gerade eben eingelesene Matrixzeile ausgeben(Zeilenbit
Bitmuster setzen) und 4 Zeilen nichts tun. in der 21. Zeile die erste LED deiner 2. Matrixzeile einlesen in der 22. Zeile die zweite LED deiner 2. Matrixzeile einlesen usw... Hoffe das war jetzt so verständlich. mf
-
Thread
ATTiny 2313 Änfängerfrage
Du arbeitest, aber > probier mal, ob dieses Programm übersetzt wird und läuft: > Ich arbeite mit AVR STudio und WinAVR müsste also klappen. Leider kann ich erst am Sonntag abend bescheid geben ob es funktionert hat da ich übers we weg bin. thx bis sonntag bzw montag
bei der 7 immer noch die 0 schwach durchleuchtet. Wie kann ich das umgehen. Ich hab auch schon im AVR Tutorial nachgelesen zwecks Geisterleuchten, komm aber gerade nicht weiter. Hier zusätzlich mein Code. vielen Dank [c] #include <avr/io.h> // Namen der IO Register #include <util/delay.h
-
Thread
Grundsätzliche Frage zum Rechnen in avrasm
120) - dann das Ergebnis (85) am Port wieder einlesen. Ist das zu naiv gedacht? Oder gibt es so ein modul?
die Brust ins Auge. Du schreibst die Zahl als String hin und läßt dann zur Laufzeit den String einlesen. Assembler und Rechnen passen also nicht sonderlich gut zusammen. Peter
-
Thread
Quellcode ändern von Pic auf MEGA8
Hi AVR415: RC5 IR Remote Control Transmitter on tinyAVR and megaAVR devices http://www.atmel.com/dyn/resources/prod_documents/doc2534.pdf http://www.atmel.com/dyn/resources/prod_documents/AVR415.zip
Output 'Ein Pin >wird als Ausgang konfiguriert PC0 (also Pin0 von Port C) Du konfigurierst zwar den richtigen Port B Pin 0 damit, aber in deinem Kommentar nebendran ist es Port C den du meinst???? Wo hast du die LED angeschlossen??? Sicher auch Port B??? Code scheint
-
Thread
Atmega8 langsam, viel versucht = ratlos
nicht erkennen das hierbei nur 1 bit gesetzt wird, damit bleibt ihm nichts anderes Übrig als port einlesen daten verodern port ausgeben Und diesen teil rufst du viel zu oft auf, ständig wird die LED ausgeschaltet auch wenn sie schon lange aus ist.
= 53Hz = genug. 240 Takte wie bisher sind es wirklich nicht, oder? Ich arbeite gerade an dem Port-Ding. *Simulation* -AVR-Studio läuft unter wine nicht -AVR-Studio unter xen habe ich nicht vollends einrichten können (USB= DomU vs. Dom0?) -Ich versuche mich mal an simulavr, auch wenn ich gerade
-
Thread
"cpi" Befehl funktioniert am Simulator aber live nicht
GPIOR2 = 0x2b Das ist die IO-Adresse. Also produziert ein lds/sts auf GPIOR2 einen Zugriff auf PortD (IO-Adresse $2B) Verständlich? MfG Spess
Hilfe bzw Vorschläge für Änderungen. Einen ganzen Port zu vergleichen ist sicher nicht gut, wie du schreibst, aber es ist mein Startprojekt, und da genügend Hardware vorhanden ist, wollte ich mich noch nicht mit den einzelen Pins beim einlesen herumschlagen
-
Thread
[Suche] Interessierte(n) an Projekt (ARM/FPGA)
Sichtwinkel, Tag/Nacht Ansicht, usw. und der Rest rechnet die GPU selbst. Also könnte man auch einen AVR nehmen, nur bracht der halt etwas länger um die 200MB 3D Daten in die Grafikkarte zu schieben.
veranschaulicht wie die einzelnen Schaltpläne zusammenhängen (Sheet Symbols, Sheet Entrys, Place Port).