-
Thread
AVR - Port einlesen/ausgeben
Hi, ich bin gerade dabei, mich ein bisschen in die AVR Architektur einzuarbeiten und möchte dazu mal mit einem einfachen Assembler Programm starten. Folgendes hätte ich mir überlegt: Am Port PA hängen 4 LEDs (PA4 - PA7) und 4 Taster (PA0 - PA3). Wenn
internen Pullup Widerstände ein 1-Signal. Also High an dem jeweiligen Pin. Wenn Du also nach dem Einlesen des Ports A ( in temp,PINA ) alle eingelesenen Bits invertierst ( com temp ) erhälst Du für jeden nicht betätigten Taster ein 0-Signal. Also Low. Jetzt passt auch die Maskierung ( andi temp, 1<<0
-
Thread
C# Serialport-Falsche Werte
Guten Abend, ich hab folgendes Problem, mit einem AVR-Controller schicke ich alle paar sekunden 127 Bytes an PC COM-Port, die Daten habe ich schon öfter kontrolliert, die werden richtig von AVR verschickt, auf der Pc-Seite speichere ich die Daten in einem
oder einfach erstmal über ReadsByte ohne event funktion arbeiten und die Daten einlesen. while( true ) { this.arra.Add((byte)serialPort.ReadByte()); //auswerten und break wenn das richtig oder genug in arra drin steht }
-
Thread
[AVR] FM-Transmitter für 1,50EUR --> Ansteuerung?
Tadaa, der AVR lässt sich flashen. Falls es jemand testen will, die LED ist an Pin D7.
ganz sicher was es denn nun an Endergebnissen gibt. - Raspberry mit FMBerry. OK - Gibt es für den AVR eine Lib? Also GCC, Arduino, Bascom? - Gibt es eine Firmware für den Onboard-AVR? - Hat schonmal jemand die passenden Anschlüsse verbaut? http://www.aliexpress.com/item/10pcs-lot-new-charging-charger-dock-connector-port-plug-for-Sony-ericsson-K550
-
Thread
Atmega16 + DS18B20 + Timer = LCD Zeichenwirrwarr?
>Der 1wire Bus ist auf Pin D6. Auf welchem Port?
Du da die Störungen ein?! Wo ich mal blöde Effekte hatte: Ich hatte 7-Segmentanzeigen an einem Port und die gemultiplext. Ich sag mal Port B. Dort waren die drei Transistoren für die Segment-Transistoren. Auf meinem Versuchsboard war der DS1820 an einem anderen Port C. Auf der fertigen Platine habe
-
Thread
VB.net single -> avr float -> VB.net single
uart_putc(z.c[1]); uart_putc(z.c[2]); uart_putc(z.c[3]); }/* uart_putf */ [/c] Das einlesen in VB über den besagten BitConverter und dem SerialPort Interface + SerialPort.Encoding = Encoding.GetEncoding(28591). Beide Baugruppen laufen bei mir schon seit nem Jahr "problemfrei"... heute
programmierer... demnächst wird das Tool noch auf C# portiert... obwohl das ja auch nicht viel mit C aufn AVR am Hut hat... Achso, hier die Lösung: Wenn ich dem Serial Port die Encodernummer 28591 zuweise, dann muss ich beim decodieren vom String in ein Byte arryer mit System.Text.Encoding.GetBytes auch
-
Thread
AVR FTDI ISP-Prog (AVR-8 Programmersoftware für den FT232R)
siehe da es funktioniert :) Ich kann lesen und schreiben. Aber, Wenn ich ein .hex file einlese, dann gibt mir das Programm immer einen Fehler zurück. 0 2 3 Wenn ich aber den AVR Flash lese (klar ist nichts drauf) und dann wieder schreibe dann macht er das Tadellos. Hab mir ja selber
Öffne mal den AVR FTDI ISP-Prog direkt. Öffen deine AVR. Dann kannst du das Hex-File über den entsprechenden Button direkt öffnen und danach programmieren. Solange dein AVR auf 1MHz läuft stell die Programmiergeschwindigkeit
-
Thread
Viele Magnetventile per MCU ansteuern
messen kann wenn ich im debugger einzeln durchsteppe meine kontroll led an PortC blinkt die ganze zeit wunderbar vor sich hin und lässt sich auch nicht durch anfassen oder dergleichen stören! [c] #include <avr/io.h> #include <util/delay.h> int main(void) { PORTC
mir doch: was banales! ich dachte pulldown wäre nur bei z.B. tastern nötig die ich über einen port einlesen will... ich dachte, wenn ich an einem portpin 0 ausgebe, dann zieht es den entsprechenden eingang am register auch wirklich auf 0... warum wäre dann hier noch ein pull down nötig? kann
-
Thread
Wiedereinstieg in die Programmierung
da ich mich da schon etwas auskenne. Hiermal ein programmbeispiel. #include <stdio.h> #include <avr/io.h> uint8_t set; //Variable deklarieren int main(void) { DDRB = 0xFF; //PortB als Ausgang definieren DDRD = 0x00; //PortD als Eingang definieren set = PIND; //Porteingangsregister
im Beitrag #2571594: > Was stellst du dir denn unter PIND vor? Unter PIND stelle ich mir da zu Port D gehörige Regiter zum einlesen der Zustände an den Pins vor, sofern der Port als Eingang definiert is, oder verstehe ich da was falsch?
-
Thread
Raspberry Pi ist da
diese möchte ich direkt auswerten und über die GPIO-Pins (auf dem Board) Befehle zu verschiedenen AVR-Boards schicken.
Allerdings fehlten dem ursprünglichen Modell A zum Modell B die folgenden Dinge: Ethernet, ein zweiter USB Port und 128 MByte RAM. Aktuell wird nur das Modell B (mit Ethernet, zwei USB Ports und 256 MByte RAM) verkauft. Diese Version sollte von Anfang an $35 kosten. Das mit der VAT bzw. Umsatzsteuer ist zwar
-
Thread
ISA Bus per LPT steuern
irgentwie auf '245 gehen. Ich würde aber zum Ansteuern einen uC nehmen. Zur Not kann das auch ein AVR 'von Hand zu Fuss' machen.
, die das Lesen eines Ports behandelt und eine die das Schreiben behandelt. Dazu noch etwas Initialisierungscode, und fertsch. Schreib dir also deine eigenen Funktionen, die die Port-Zugriffe einfach an deine ISA-Bridge weiterleiten
-
Thread
Auswertung von Analog Sensor Mittels Arduino
genutzt werden, auch die Analogeingänge. A0 mit pinMode auf INPUT, und dann mit digitalRead einlesen.
Thomas L schrieb im Beitrag #2567313: > A0 mit pinMode auf INPUT, und dann mit digitalRead einlesen.
-
Thread
DHT22 liefert eigenartige Werte
#define LOW() PORT&=~(1<<DQ) #define HIGH() PORT|=(1<<DQ) #define PIN_STAT() (PIN&(1<<DQ)) char data[5]; void dht_reset(); void dht_read(); #endif /* DHT_H_ */ [/c] main.c: [c] #include <avr/io.h>
des Codes ein. Dieser ist ein wenig angepasst worden. Zum einen kann er nun DHT11 und DHT21/22 einlesen (und erkennen) und zum anderen kann er zwei Sensoren am gleichen Port (aber unterschiedlichen Pins) einlesen. Gespeichert werden die Daten in der Struct und kann durch die Funktionen ausgelesen werden
-
Thread
Realisierung eines I²C-Sniffers mit ATmega8
nutzlos.) Das ganze bin ich folgendermaßen angegangen: Auf den externen Interrupt 0 also Anschluss PortD.2 habe ich den CLK des I²C-Bussystemes verbunden. An PortC.0 möchte ich gerne die Datenleitung bei jeder steigenden Taktflanke einlesen. Generell scheint das zu funktionieren, nur habe ich enorme Probleme
" habe ich ein zweites My AVR-Board. Dieses steuert über I²C einen Port Expander Baustein von Philipps an, an welchem LEDs angeschlossen sind. Das läuft auch ohne Probleme (Siehe Bild) Die Übertragung sollte dabei folgendermaßen
-
Thread
FPGA als Slave am DDR-SDRAM Speicherbus
her beim PAR echt knifflig werden. Eine mögliche simplere Alternative sind am ehesten die Kamera-Ports diverser Chips (Blackfin, OMAP, etc). die teils auch bidirektional funktionieren, allerdings meist nur die halbe Bandbreite der üblichen RAM-Busse bereitstellen, und wahlfreier Zugriff ist damit auch
) oder auch ein AT91SAM-irgendwas von Atmel... Ganz andere Frage: Wie ihr merkt bin ich beim Einlesen zu dem Thema noch am Anfang. Welche Entwicklungsumgebung ist denn empfehlenswert? Bisher dachte ich dass der Chiphersteller sowas liefert (so wie bei AVR-Mega oder PIC), merke aber heute dass das
-
Thread
Erste Schulstunde Microcontroller
char rot; unsigned char blau; void main(void) { while(1) //endlos { temp=P1; //Port P1 einlesen P1.1=temp; //an Port P1.1 ausgeben if(rot=1) { p1.2=0; p1.3=0; p1.4=0; p1.5=0; p1.6=0; p1.7=0; }else{
Knopf Leitung' auf low gezogen ist. Das Ausrufezeichen steht für NOT ( also invertiert ), P1 ist der Port 1 und das & (1<<roterButton) maskiert den Pin. Wenns ein AVR ist, musst du das PIN Register lesen und vorher den Port auf Input schalten. Auch solltest du den Pullup an diesem Pin aktiviert haben.
-
Thread
Hilfe Ladereglung Atmega16 Assembler
geschrieben habe, dann glaub ich Dir das erstmal, aber ich habe trotzdem keinen Schimmer was da Unsinn ist! Avr-Studio hat es nicht angemeckert. Vielleicht hast du ja einen genauern Hinweis was verkehrt ist. Gruß Werner
Der AVR hat kein ROM, sondern Flash... eine Variante des EEPROM. ROM find ich da ein wenig mißverständlich.
-
Thread
µC - Alles auf einmal! (Design-Pattern)
. > Steht irgendwo genau beschrieben, was genau das macht? Aber latürnich! ;-) In der Doku zur avr-libc: http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html Beachte, dass in dem von dir zitierten Code noch ein Fehler war, den ich in meinem Post herauseditiert habe.
im Beitrag #2545314: > Steht irgendwo genau beschrieben, was genau das macht? Ja. Hier in der avr-libc-Dokumentation: http://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html Gruß Oliver
-
Thread
Eigenes Serielles "Protokoll" - Meinungen?
Klingt gut. Was mich verwundert <ich verstehe nix von AVR>, du erwähnst "Zyklen zählen". Das macht nur Sinn für asynchrone Prozesse. Du hast doch nicht etwa gedacht, du kannst zwei AVR ohne Taktsynchronisierung erfolgreich zur Zusammenarbeit bewegen? Irgendeine
Abdul K. schrieb im Beitrag #2544832: > Was mich verwundert <ich verstehe nix von AVR>, du erwähnst "Zyklen > zählen". Das macht nur Sinn für asynchrone Prozesse. Du hast doch nicht > etwa gedacht, du kannst zwei AVR ohne Taktsynchronisierung erfolgreich > zur Zusammenarbeit bewegen
-
Thread
Was ist das aktuell beste Linux ?
Linux Mint Debian Edition" mit MSP430 Launchpad habe ich am laufen, geht angenehm. Mehr (R8C, M16C, AVR) kann ich gerne testen.
Ich verwende sei ca. 3 Jahren Ubuntu, u.a. auch für meine AVR-Spielereien (avrdude incl. avr8 burn-o-mat, codeblocks IDE, OLS usw.). Welche Distributition man für seine Zwecke verwenden sollte, kann man durch ausprobieren heraufinden, kostet in der Regel kein
-
Thread
Transistortester AVR
problems. The L1 can make problems, if it produce a voltage difference between VCC and AVCC input of the AVR. The port C is driven from AVCC, port B from VCC. But these problems can only occur by measuring. What kind of developement environment did you use? I use the GNU tool chain of a linux operating
Kriterium sein. Das mir der Arduino ein Ei legt ist natürlich auch noch möglich. Ich kompiliere mit dem AVR-Studio, daher ist Programmer Typ und Port abgeschaltet. Grüße Hubert
-
Thread
Assembler, Counter, 7Segment
bisheriges Programm würde in C so aussehen (ohne dein Tastenproblem damit gelöst zu haben) [C] #include <avr/io.h> uint8_t team1Points; uint8_t team2Points; // die Tastenpins am Port B #define T1_UP 0 #define T1_DOWN 1 #define T2_UP 2 #define T2_DOWN 3 #define T_RESET 4 uint8_t
zum thema AVR-Assembler Programmierung sagen ?
-
Thread
Binär-Uhr hoffentlich finale Schaltung
Wartezeit macht überhaupt nichts aus, da entprellen softwaremäßig (fast) nichts kostet: 1 Takt fürs einlesen ohne Entprellen oder 12 Takte mit entprellen bei 30Hz Refresh @1Mhz: 30µs <> 360µs 0,003% <> 0,036% Es ist übrigens egal ob der avr mit 16Mhz oder 1Mhz läuft, den Strom verbrauchen die
Die Transistoren für die 6 Leds, brauchst du die wirklich? Der Avr kann 40mA pro Pin und maximal 100mA pro Port treiben.
-
Thread
ATmega 328 zu langsam für 40kHz TLC549?
gestern einen gebrauchen Arduino Duemilanove bekommen, und direkt ein wenig darum herumgespielt. Der AVR ist ein ATmega 328 mit den normalen 16Mhz Taktrate. Jetzt habe ich, weil er hier herumflog mal einen TLC 549 drangesteckt und versuche den auszulesen. [c] #include <TimerOne.h> int CS_pin = 4;
Schleife benutzen 2. es ist unnötig, erst zu multiplizieren und dann zu addieren, schieben und einlesen reicht :-) for (loop=0, val=0;loop<8;loop++) {clock=1; clock=0; val=val<<1; if (Data_Pin) val++;; } so in etwa, es könnten Fehler enthalten sein :-)
-
Thread
Funktioniert diese Schleife?
dir dankbar für jeden Tipp, Also nun um es zu evrstehen soll ich etws in der form machen: Alle PORTS auf HIGH wenn eine Taste gedrückt wird, sollen alles PORTS duchgehend auf low gesetzt werden und wenn und durch den der auch auf low geht weiß der mikrocontroler dann auch welchen Schalter ich gedrückt
könnt Ihr mir sagen ob das jetzt so klappt? Compilieren konnte ich es ohne Probleme. die Daten: PORT 2-5 PINB 0-3 wenn es okay ist wie mache ich es nun mit den widerständen :)? #include <avr/io.h> #include "lcd-routines.h" #include <stdio.h> #include <util/delay.h> int main(void) { int
-
Thread
PICkit2 blutiger Anfänger ohne ansatzweise Plan.
keine Doktorarbeit draus machen. Das ist heute im Prinzip auch noch so. > Kann es sein, dass WinAVR leichter ist? Nein. Es ist anders, aber ähnlich komplex, wenn nicht sogar komplexer. Bei AVRStudio/WinAVR hast Du eine Kollektion verschiedener Tools aus verschiedenen Quellen, die integriert werden
auf AVR bleiben soll, OK) Evtl. währst du einer, für den ARDUINO tatsächlich eine wirklich gute Alternative ist. Das basiert auch auf AVR. Es stellt ein Gesamtkonzept aus IDE und Framework mit Zahlreichen
-
Thread
LCD Display lesen per FPGA
einfaches 16x2-LCD mit HD44780-Controller ist, wäre ein einfacher 8-Bit Controller (egal ob PIC oder AVR oder MCS51 oder sonstwas) wohl die bessere Wahl gegenüber einem FPGA. So im Kopf kurz nachgedacht: * Einen 8-Bit Port an die Datenleitungen hängen * E, WR und CS abfangen, gegebenfalls über Interrupt * Datum am 8-Bit Port auslesen. * Anzeige im RAM zusammen basteln * Über serielle Schnittstelle (evtl. nach Anforderung) ausgeben. Dafür braucht man kein FPGA. Aber dazu ist ein intensiver Lernaufwand von mindestens
-
Thread
c# AVR sendet Daten an C# Consolenprogramm
In deiner serialPort1_DataReceived gehst du davon aus, dass du hier serialPort1.ReadExisting() einen kompletten String vom Arduino kriegst. So lange du dein Programm mit dem Debugger zwischendruch immer wieder mal
eine Taste gedrückt wurde? nein, man kann auch einen eigenen thread starten der ständig von dem com-port daten einliest.
-
Thread
Labornetzteil/Funktionsgenerator
umsetzen können? der gibt es Software, die ein solches Bild in ein Platinenentwurfs- Programm einlesen können? Gruss Harald
Frosch, Keine Spannung für die Umschaltung sondern für den AVR.
-
Thread
Erste Platine in Eagle Gesperrt
fehler gemeldet ... komisch Verstehe nicht ganz, wenn ich doch den taster drücke schaltet es den port auf high, somit kann ich was auslösen oder nicht? Habe das so eigentlich schon einmal ausprobiert... ist nur etwas her Die LDR möchte ich gerne über ADC einlesen PC0 ist doch ADC? Gruss Letter
schrieb im Beitrag #2530832: > Verstehe nicht ganz, wenn ich doch den taster drücke schaltet es den > port auf high, Richtig, aber was für ein Signal liegt am Port an, wenn der Taster nicht gedrückt ist? Florian Letter schrieb im Beitrag #2530832: > Die LDR möchte ich gerne über ADC einlesen PC0 ist
-
Thread
Wie geht man ein Assemblerprojekt an ?
IR-Fernsteuer-Empfänger ; einfaches Voltmeter INCLUDE P16F871.PIC ; Beschaltung: ; Port A: Thermo: BIT PortA,0 ; ADC für externes Thermometer Ana_1: BIT PortA,1 Ana_2: BIT PortA,2 Ana_3: BIT PortA,3 Count_in: BIT PortA,4 ; Frequenz vom LC-Oszillator Ana_4: BIT PortA,5 wfTrisA: EQU 111111b ; Tris: 0=Output, 1=Input wfPortA: EQU 111111b Beispiel aus der Cortex-Welt: #include "m051.h" /* die Beschaltung: Port 0 P0.0 in V/R
-
Artikel
AVR BASIC
TinyBasic-Interpreter (uBasic) veröffentlicht hat. Mit minimalen Modifikationen ist das Ding auch auf einem AVR sofort lauffähig und beeindruckt durch den geringen Ressourcen-Verbrauch. Ziel ist es, einen universellen Basic-Interpreter zu haben, der in andere, in C geschriebene AVR-Programme einfach eingebunden
Jahre) darstellen: AVR-ChipBASIC BasicBeetle Auf Adam Dunkles Urversion aufsetzend, entstand AVR-uBasic, welches mittlerweile in mehreren Versionen von unterschiedlichen Entwicklern gibt. Diese differierenden Versionen sind
-
Thread
ATtiny26 Balkenanzeige ( Hysterese ) mit acht Schaltschwellen (ASM)
Oldtimer wie den ATTiny26. Der hat noch nicht einmal den vollständigen Befehlssatz eines aktuellen AVR. MfG Spess
Bargraf [/avrasm] ... [avrasm] end_loop: com r18 ; negieren (wegen STK500) out PortA,r18 rjmp mainloop [/avrasm] Bernd_Stein
-
Thread
Led und taster
Das PORTx-Register ist zum setzen eines Ausganges, oder für die Pullups. Du brauchst zum Einlesen eines Wertes von einem Port aber das PINx-Register. Also musst Du anstatt "k=PORTA" "k=PINA" schreiben. PORT-Register: Zustand eines Ausganges setzen PIN-Register: Zustand eines Einganges einlesen
Ports und wird zum Einlesen vom Zustandes eines Einganges benutzt. Kurz gesagt: PORTx zum Setzen eines Ausganges, PINx zum auslesen eines Einganges. Gruß Jonathan
-
Thread
Beratung Mikrocontroller
) als Komplettlösung oder wenn DIY gewollt ist den nackigen µC (dann AVR wg Community und Erhältlichkeit) plus passenden USB Programmer. Beim Einlesen des Signals vom Reedschalter und Taster und beim Ausgeben des Signals an das Relais muss auf kompatible Strom- und Spannungspegel
Vorschläge verwirren ohnehin nur. Ich jedenfalls bleibe dabei: TI Launchpad oder eine Eigenkreation mit AVR.
-
Thread
Ausgang nur kurz schalten
sich kompliziert an, ist es aber nicht hier mal der Code: [avrasm] Read_IO: IN Reg_A, Port_C ; Port einlesen COM Reg_A ; Bits drehen ANDI Reg_A, 0b00011100 ; nicht relevante Portpins ausblenden LDS Reg_B, in_Debounce ; kontrollierte Bits holen EOR
Kompiliere die Datei Test_C.cc. In file included from Test_C.cc:17: C:\Program Files (x86)\SiSy3 AVR\Compiler\winavr\avr\include/avr\delay.h:36:2: warning: #warning "This file has been moved to ." Linke die Datei Test_C.elf. Ende.
-
Thread
AVR-Programmer-Software für standalone FT232R
avrdude Zeugl benutzen. Echt super. Eins verstehe ich noch nicht ganz: "Plugt sich sebstständig in AVR-Studio5" Das Bild im 2ten Post sieht für mich so aus als ob man darüber alles handhaben kann, also z.B. ne hex in dein Program einlesen und in den AVR flashen, etc. pp.. Man kann das also auch "standalone
keinen Parallel-Port mehr. Habe dann eben auch gleich AVR-Studio5 installiert. Der FT232R hat mich gereitzt weil ich nun die Möglichkeit habe, SMD-Controller mit USB zu kombinieren und keinen ISP-Stecker mehr benötige
-
Thread
Probleme mit neuer USART-Konfiguration
**********************************************/ // Einbindung von Standardbibliotheken #include <avr/io.h> #include <avr/interrupt.h> #include <string.h> /*******************************************************************************************************/ // Definition der Baudrate #define
************************************************/ #define RELAIS_ON_DDR DDRD #define RELAIS_ON_PORT PORTD #define RELAIS_ON 7 #define RELAIS_OFF_DDR DDRB #define RELAIS_OFF_PORT PORTB #define RELAIS_OFF 0 #define PWM1_DDR DDRB #define PWM1_PORT PORTB #define PWM1 1 /*
-
Thread
ISP programmierung beim ATmega8a funktioniert nicht
c8 ist das problem, schaum mal in die aaplication notes der avr µp.
eventuell R2 zu niederohmig, so dass der Prommer den ATmega8 nicht in den Flashmodus setzen kann? MyAVR verwendet auf ihren Boards 10k.
-
Thread
software -SPI-Slave
SPI_CLK_DDR DDRB #define SPI_MISO_DDR DDRB #define SPI_SS_DDR DDRB //PORTB #define SPI_MOSI_PORT PORTB #define SPI_CLK_PORT PORTB #define SPI_MISO_PORT PORTB #define SPI_SS_PORT PORTB // PIN #define SPI_MOSI_PIN PB0 #define SPI_SS_PIN PB1 #define SPI_CLK_PIN PB2 #define
machen soll. Als Interrupteingang mit der richtigen Flanke definieren und im Interrupt MOSI einlesen und MISO setzen? (Ich hoffe, dass der AVR edge-sensitive Interrupts hat...) HDH, Anschein
-
Thread
Bits effektiv umsortieren in C
Ich habe ein paar Eingänge an verschiedenen Ports des AVRs die aber leider "Layoutoptimiert" angeordnet wurden. Ich muss also die Ports einlesen und die Bits umsortieren, sodass sie logisch verwertbar sind. Wie Kann man das in C am effektivsten erledigen
durchgeführt werden. Und bevor hier wieder jemand mit "Anforderungen" etc kommt: So schnell wie mit einem AVR und 20MHz Takt möglich ist in meinem Fall eine ausreichende "Anforderung". Das mit der tabelle wird aber leider etwas schwierig da ich 3 Ports einlese und den specicher nicht erübrigen kann. Leider
-
Thread
Problem mit Interruptvektoren ATmega2560
ein oder andere Aktion. Kurzum: 2 Interrupts möchte ich haben, hier mein Code: [c] #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> /*Für Delay-Header*/ #ifndef F_CPU F_CPU = 16000000UL; #endif /*Variablen für ISR*/ uint8_t intPortB; uint16_t intCounter;
verstanden habe) ein: [c] /*Für Delay-Header*/ #ifndef F_CPU F_CPU = 16000000; #endif #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> [/c] Abermals danke! Beste Grüße Andreas
-
Thread
Attiny13 Universeller Blinker
nicht immer wieder ausgeführt wird, dann sind auch die NOPs unnötig. Vielleicht noch am Anfang den Port auf Eingang schalten. Ansonsten schrittweise testen, falls Du überhaupt noch flashen kannst.
Oh, das hätte ich fast vergessen: Ein nach dem Einlesen eingesetztes "ldi Modus, xxxxxxxxW" (steht für den "Wert" an PinB des jeweiligen Modus) lässt LowPower und Sinus Wunderbar laufen, bei den Anderen hapert es dort immer noch. Wenn man direkt in einen
-
Thread
Taster-Entprellung am Tiny13 in Assembler
programmiert. Wenn Du den internen PullUp abschaltest, dann kann er halt nur ein mal wirken... Der AVR hat wunderbare Befehle zum Setzen und Löschen einzelner Bits in einem Teil des I/O-Bereiches (in dem auch die Ports liegen). SBI und CBI sind Deine Freunde. Das bringt Dir aber nicht viel, denn Dein
. Und willst Du den von außen angelegten Zustand der Portpins erfassen, dann musst Du PINB einlesen. Jeder Port hat also 3 Register, DDRx, PORTx und PINx... > > Grüße > > Rolf ...
-
Thread
PCA9555/PCA9535 Hilfe
bleibt aber immer auf 0V. Egal ob sich ein Input ändert oder nicht. Ich möchte gerne den INT auf dem AVR INT0 hängen um die Ports nicht dauernd abfragen zu müssen. 2. Ich kann die Polarity der Eingänge nicht ändern. Das Einlesen der Bits vom Port funktioniert aber - das habe ich mit einem Taster überprüft
TWIM_Stop(); } return 1; }[/c] Einstellen und lesen würde ich dann so: [c] SetPort(I2C_Slave_Address, PORT0, 0xFF); SetPort(I2C_Slave_Address, PORT1, 0xFF); SetPolarity(I2C_Slave_Address, PORT0, 0xFF); SetPolarity(I2C_Slave_Address, PORT1, 0xFF); ReadPort(I2C_Slave_Address
-
Thread
.hex Datei auf Pollin Evaluationsboard übertragen
einen Gefallen und kauf dir einen ordentlichen ISP oder gleich JTAG Programmer den du an einem USB Port anstecken kannst. > Wenn ich mich richtig erinnere, konnte man auch im AVR-Studio "live" > alle Programmschritte auf dem Mikrocontroller durchgehen und die > Register auslesen. Dazu brauchst du dann JTAG http://www.mikrocontroller.net/articles/AVR_In_System_Programmer