-
Thread
Taster Entprellen [Interrupt]
geschrieben, oder kopiert und nicht verstanden. Was nun? Ließ doch mal hier das Tutorial zum Einlesen von Tasten.
verbraucht. Schüler E. schrieb im Beitrag #3684672: > Könnte mir jemand eine gute Seite empfehlen [[AVR-GCC-Tutorial]]
-
Thread
Allg. Fragen zum Debuggen von AVRs
hilft es die Bugs statt im real life im Simulator zu jagen: https://www.mikrocontroller.net/articles/AVR-Simulation
bei AVR, weil die ersten 100 Ergbnisseiten bei google nix anderes kennen. Es gibt auch eine Handvoll Eval-boards für AVR mit dem embedded Debugger, aber wenn man das Tutorial 1:1 nachmachen möchte sollte
-
Thread
C-Prog. (ATmega16) für IR-Sender
Datenblatt, und weiss auch > nicht we oder was ich da ändern soll... Hab ich doch geschrieben: Nicht avr/iom16.h einbinden, sondern avr/io.h und den Controllertyp entsprechend einstellen!
> [c] > PORTC=UDR; > [/c] Nö, die Schleife macht was anderes. Und das mit dem nur einmal einlesen hatte ich auch in meinem Beispiel auch erwähnt... Aber das er die 8 Bit einfach an Pin 0 des Port C raushaut wird ihm eh nicht weiter helfen, zumindest nicht wenn er nicht noch irgendwoher nen
-
Thread
Tasten abfragen oder so
----------------------------- Anfang: Do I2cstart I2cwbyte Pcf8574read I2crbyte Pcf8574port , Nack I2cstop Taste1 = 0 Taste2 = 0 'Taste3 = 0 'Taste4 = 0 Select Case Pcf8574port 'Case 247 : Taste4 = 1 '&B11101111 'Case 251 : Taste3 = 1 '&B11011111
mehr erkannt werden bis der Wert abgelaufen ist. Es soll ja so sein dass ich die Tasten über I2C einlese, was ja geht, es soll aber die Funktion Tasten einlesen praktisch Parallel zu Anzeige der Taste per LED angezeigt werden. Während der Anzeige auch wieder die Tasten überwacht werden. Mal ne andere
-
Thread
Franzis Lernpaket Mikrocontroller
Hier einige Infos zum Lernpaket: http://www.franzis.de/elo-das-magazin/avr-controller/experimente-mit-dem-attiny13 Gibt es Programmiersoftware für Linux, die mit dieser Hardware kompatibel ist? Gibt es Software für Linux, die dem "AVR Studio" entspricht? Welchen Assembler
anbieten. Gerade in diesem technischen Bereich würden > viele gern Linux konfortabel nutzen. man gcc-avr man avrdude
-
Thread
[Tiny 13] LED on/off schaltung | Interrupt | Anfängerproblem
mitdem ich per Knopfdruck eine LED an bzw aus machen kann. Habe dazu den ATtiny 13 benutzt. An Port PB0 ist eine LED angeschlossen, an Port PB4 ein Taster der bei Tastendruck auf GND liegt. hier der Code: [c] #define F_CPU 1200000 #include <avr/interrupt.h> #include <avr/io.h> #include
Hab jetzt den Code verändert: [c] #define F_CPU 1200000 #include <avr/interrupt.h> #include <avr/io.h> #include <util/delay.h> int on; // led on oder off? int main(void) { DDRB = 0b000001; //PortB0 als output PORTB = 0b000001; //Einschalten,
-
Thread
TWI = I2C ??
AVR300 ist älteren Datums und bezieht sich auf einen Softwareemulierten I2C Master Port für die alten AVR. Die haben noch kein TWI. Hm, bei den AppNotes scheint es tatsächlich nichts zu geben. Aber schau
Beispiel: http://www.specs.de/~danni/appl/soft/c51/eeprom/index.htm Der einzige Unterschied, beim AVR muß man das Port-Bit ständig auf 0 setzten und statt dessen das Direction-Bit setzten (=0) bzw. löschen (=1) und Einlesen vom Pin-Bit. Und mehr NOPs oder Delay-Loops. Peter
-
Thread
IR-Sender Bauen
Bit in einem PORT Register setzt. Und die Auswirkung dieses Bitsetzens hängt nun mal davon ab, ob der Pin in diesem PORT auf Eingang oder auf Ausgang steht.
machst du im Code nicht genauso viele Fehler. Ein AVR verzeiht nix!
-
Thread
Batteriespannung mit Arduino auslesen
Gib BatteryValue über den seriellen Port aus.
Philipp G. schrieb im Beitrag #5326489: > Gib BatteryValue über den seriellen Port aus. schau mal bitte im anhang. seriellen port kann ich hier nicht auswählen
-
Thread
Welches Mikrocontrollerbard empfehlt ihr?
Shields verfügbar. Zum anfangen genügt das Board, ein USB Port und ein Netzteil. Hardware in verschiedenen Ausführungen verfügbar, Arduino Mega hat mehr als genug Ports. http://arduino.cc
als Shields verfügbar. Zum anfangen genügt das Board, ein USB Port, ein Netzteil und eine LED. Hardware in verschiedenen Ausführungen verfügbar, Arduino Mega hat sehr wenig Ports. http://anti-arduino.cc
-
Thread
MEGA8 ADC Interrupt beeinflusst TWI Interrupt
Hauptschleife integriere, habe ich keinen Zugriff mehr per I2C. Und wenn ich den ADC ohne Interrupt einlese also das Bit (1<<ADIE) nicht setze, dann stürzt er mir ab sobald ich eine Spannung am ADC anlegen habe. Wisst ihr weiter? Vielen Dank für eure Zeit [c] #include <stdlib.h> #include <avr/io.h
// bit is set? #define bic(ADDRESS,BIT) (!(ADDRESS & (1<<BIT))) // bit is clear? #define PORT_ON(port,pin) port |= (1<<pin) #define PORT_OFF(port,pin) port &= ~(1<<pin) //###################### Variablen uint16_t Variable=2345; //Z‰hler uint16_t buffer; uint16_t low,
-
Thread
PPM von RC-Empfänger einlesen in Mega8
***************************************************************** #include "ppm.h" #include <avr/io.h> #include <avr/interrupt.h> extern void ppm_init() { //PD2 (INT0) as input with internal Pull-Up DDRD &= ~(1 << DDD2); DDRD |= (1 << PD2); // enable Interupt INT0 GIMSK
ppm_init(void); extern uint8_t get_0_50 (uint8_t channel);[/c] test.c [c]#include "ppm.h" #include <avr/io.h> int main() { DDRC = 0xff; // Port C ist Ausgang ppm_init(); uint8_t position; while (1) { if (1 & channels.dirty) { position = get_0_50 (0); if (position
-
Thread
union verwenden in c
verursacht vermutlich auch eine Warnung. Zweitens benutzt du in beiden Fällen das Ausgangsregister des Ports. Wenn du eine Tastatur einlesen willst, dann solltest du wohl aber auf einer von beiden Seiten das Eingangregister der Pins (PINA oder PINB) lesen um zu erfahren, welche Tasten da gedrückt sind.
. OK. Das wird überdacht. > > Zweitens benutzt du in beiden Fällen das Ausgangsregister des Ports. > Wenn du eine Tastatur einlesen willst, dann solltest du wohl aber auf > einer von beiden Seiten das Eingangregister der Pins (PINA oder PINB) > lesen um zu erfahren, welche Tasten da gedrückt
-
Thread
Timer/Compare löst dauert Reset aus
[Code] #define F_CPU 8000000UL #include <avr/io.h> #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <avr/interrupt.h> #define BAUD 38400UL #define UBRR_BAUD ((F_CPU)/(16*(BAUD))-1) .... int main (void
[C] #define F_CPU 8000000UL #include <avr/io.h> #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <avr/interrupt.h> #define BAUD 38400UL #define UBRR_BAUD ((F_CPU)/(16*(BAUD))-1) char LFC[15]; char
-
Thread
ATMega von "außen" steuern
Möglichkeit, dass ein ATMega durch die Pins gesteuert wird, also bspw. dass beim Anliegen von 0x00 an Port C "ldi" gespeichert, dann Port C auf einen anderen Wert gesetzt wird, z.B. 0x01, und schlussendlich wieder geändert wird, z.B. auf 0x10, sodass der Befehl [avrasm]ldi r17, 0x10[/avrasm] ausgeführt
Es gibt es nicht eine kleine Script sprache für AVR's? Ich bin der Meinung hier mal was gesehen zu haben.
-
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
Probleme mit ISP-Adapter
der Einstellung des parallelen Ports habe ich irgendwie Probleme. Wo kann ich denn meinen parallelen Port auf "output only" stellen? In meinem Gerätemanager (Win XP) finde ich nur einen "ECP Druckeranschluss (LPT1)", kann da aber nirgends
>Das LPT-Port gehört nicht auf "Output only " gestellt, sonst könnte POnyProg ja nichts herauslesen. Die LPT-Moduseinstellung (SPP/EPP/ECP) im BIOS dürfte keine Rolle spielen, da die zum Einlesen verwendete LPT-Statusleitung
-
Thread
[AVR]Fragen zur C Programmierung (Timer / multiplexing)
machen? Ohne Schmitt-Trigger. Dann habe ich halt ne fallende Flanke, ist aber egal, kann man beim AVR ja einstellen.
Flankenerkennung: http://www.mikrocontroller.net/articles/Entprellung#Komfortroutine_.28C_f.C3.BCr_AVR.29 Peter
-
Thread
MAtlab und Mikrocontroller
etwas auf dem Schlauch. AVRStudio+AVRGCC bietet doch genau sowas, man kann sich doch alle Register, Ports.. anschauen. Was man nicht kann ist etwas "anschließen" am AVR unter AVRStudio. Da wäre Simulink/Matlab hilfreich? mfg --edit AVR Studio simualtion von Assembler AVR Studio + AVR GCC Simulation von C Code Man kann unte AVR Studio die Ports mit Hand manipulieren. Also wenn man ein Prog schreibt, es durchlaufen lääst und es erwartet an PortX ein Bit, kann man das von Hand setzen... Also man muss wissen was man ranhängen
-
Thread
PWM mit ATMEGA8
Also ich hab hier nochmal den code: #include <avr/io.h> #include <avr/interrupt.h> #include <stdint.h> #define F_CPU 3686411 int main (void) { OCR2 = 0x7F; TCCR2= (1<<WGM20)|(1<<COM21)|(1<<CS20); //pwm anschalten und einstellen ob beim
das ich ihn anschließen muß ist mir klar aber an welchen Port und welcher Pin?
-
Thread
7 Segment Anzeige auf verschiedenen Ports
; x++){ if(tmp & 1){ // check if LSB is set // set pin pins[x].port = pins[x].port | pins[x].pin; } else { // clear pin pins[x].port = pins[x].port & ~pins[x].pin; } tmp = tmp >> 1; } } [/code] Ja, ich weiß
Frequenz, wichtig für die Zeit #include "util/delay.h" // Einbindung Datei Pause #include "avr/io.h" // Einbindung Datei Ausgänge void init_segment() { DDRA=0b10001111; // Port A auf Ausgang schalten DDRB=0b00000111; // Port B auf Ausgang schalten PORTA=0b10001111
-
Thread
Umstieg auf PIC16F887 und die Probleme
> > > > dürfte sich wohl um die "read modify write" falle handeln. > > Die LED zieht den Port so weit runter das eine NULL eingelesen wird.^ Aber der Port ist doch als Ausgang geschaltet wie kann der PIC da was einlesen? Kann man das irgendwie umgehen ? Habe ein Modul dazu gebaut. (2ma
Marcus W. schrieb im Beitrag #2178334: > Aber der Port ist doch als Ausgang geschaltet wie kann der PIC da was > einlesen? Der Port wird vom PIC als Normales Register behandelt und bei jedem zugrif erst KOMPLETT eingelesen und dann zurückgeschrieben
-
Thread
Dopplerpeiler ans Internet anbinden (FAT/SD/ETH/HTTP) AVR/ATMEGA644
Kommunikationsprotokoll nur Start/stop/replay an den Chip senden und anschließend die Daten abholen. Der Haupt-AVR kann sie dann gemütlich auf die SD-Karte schreiben. UART- Kommunikationsprotokoll könnte wie folgt aussehen: ( > = zum Sound AVR, < = vom Sound AVR ) > REC < OK > STOP < OK, 123456 Bytes >
aber auf einem AVR wirst du trotzdem noch die von mir genannten Probleme haben.
-
Thread
Programm anhalten, Notaus
prio CLI ist schneller, als erstmal einen Interrupt zu triggern. Prioritätslevel gibt es beim AVR nicht.
Manchmal sehe ich das Naheliegende nicht. Johann L. schrieb im Beitrag #4828221: > ZUdem ist je nach AVR-Modell ein "cli + while(1);" nicht genug, weil der > Watchdog bedient werden will; ein freeze könnte also in etwa so > aussehen: Muss mich mal in die ganze Watchdog-Thematik einlesen, habe ich bis
-
Thread
LCD Controller für 640x480 LCD mit mega8515
Ich verwende den FT245, da es damit am einfachsten geht: Der AVR liest die Daten, wenn er Zeit hat direkt parallel ein. Vom Aufbau sind alle Softwareversionen gleich, nur die Belegung vin PortB und PortD ist teilweise unterschiedlich. Der FT245 kommt dann an PortB und PortD0 und 1
-
Thread
» Geht das und wie??? Takterzeugung, 2Taster einlesen usw..
Geht sicher. Für Lösungsansätze würde ich das AVR-Tutorial und die Suchfunktion bemühen
Problemen oder Fragen zu helfen. Der "Große Meister" bin ich zwar auch nicht, aber ich denke, dass ich die AVR-Architektur halbwegs begriffen habe. Gruß... ...HanneS... (www.hannes.de.md)
-
Thread
Attiny85 ADC Eingangswiderstand - wie hoch
der eigenen VCC. Die Bandgap ist sehr hochohmig angeschlossen, so daß ein Delay notwendig ist. In AVR-Freaks gabs dazu mal eine Diskussion.
'Init_IO_Ports ... PORTB |= (1 << ADC3_Pin2) ... pull up' Ein interner Pullup an einem ADC-Eingang?
-
Thread
Alternative zu PORTB.0
glauben geneigt ist. >>Zweitens bleiben die Zugriffe atomar was sie bei > FALSCH! Es geht um avr-gcc und PORTB von ATmega16, welcher im I/O-Bereich liegt.
nicht. Hoppla. Hatte ich wohl was falsches im Hinterkopf. Aber wir haben hier auch ziemlich viele AVR Tapen im Einsatz. Da kann man schon mal den Überblick verlieren ;-)
-
Thread
avr-gcc Tutorial: AD Wert auslesen
wobei AVcc und Aref für diesen einfachen Fall gekoppelt werden) -- die musst du auch nicht wieder einlesen. Du brauchst also genau einen Eingang mit AD-Wandler. Außerdem nochmal siehe Datenblatt: wenn man den AD-Wandler benutzt, sollte man die restlichen Pins von Port A nach Möglichkeit nicht für
====================================================== In meinem Datenblatt und im Tutorial vom avr-gcc steht, dass wenn der Wert im DDRx register für den entsprechenden Pin an diesem Port auf Eingang steht (0) entscheidet das Bit im PORTx Register darüber, ob der Pullupwiderstand aktiviert wird oder
-
Thread
Mikrocontroller mit SMB2/3 und USB-HID: Challenger+ RP2350 WiFi6/BLE5 ?
File nicht zu gross ist, dann pack auf den PC einen TFTP-Server drauf. Den kriegst du sogar mit einem AVR bedient.
raspberry-pi-zero-wh?c=319 245 Stueck sofort lieferbar. Und ja, es laeuft jetzt gerade an einem USB-Port an einem PC.
-
Thread
Speicheroszilloskop mit AVR, 20Mhz Sampling rate
bis 16Mhz ausgeschrieben. Bei 25Mhz lief er noch einwandfrei (kommunikation mit dem PC), nur das einlesen des Ports an dem der AD-Wandler hängt, hat nicht funktioniert :( Bitte lasst mal höhren, was ihr dazu meint. Clemens PS: Der Sinn eines Oszilloskops das 10Mhz Bandbreite hat, ist durchaus
Hallo Clemens, mit wieviel Megasamples kannst du 1KByte Ram im AVR vollschreiben ? Gruss, Christoph
-
Thread
Seriell übers Internet?
Alternative wär ein AVR-Net-IO für 20€ mit Ethersex-Firmware und Y-Port ( http://old.ethersex.de/index.php/YPort )
Mega48 und einen Ethernet-Übertrager benötigt: http://www.cesko.host.sk/IgorPlugUDP/IgorPlug-UDP%20(AVR)_eng.htm
-
Thread
ATmega 8 ADC + LCD
Wie man das LCD in ASM ansteuert, findest du sicherlich im AVR-Tutorial (1 Mausklick entfernt, zweiter Link links oben). ADC auslesen erfolgt durch zyklisches Einlesen der Register adcl und adch (z.B. im Timer-Int.), nachdem man den ADC gestartet hat (Vorteiler
Hallo, Habe jetzt laut Peter Fleury's erklärung mit avr gcc das einfache adc progrämmchen kopiert und siehe da, es funktioniert. der eingelesene wert am ADC0 wirt jetzt am Atmega8 an PortD ausgegeben.. von PD0 - PD7.. und die LEDS an den ports geben nun
-
Thread
Wo ist der Stackpointer des Tiny12?!
Ich seh gar kein PINB, nur PORTB. Fürs einlesen brauchst du aber das Register PINB.
Aus dem Datenblatt: "Port B as General Digital I/O The lowermost five pins in port B have equal functionality when used as digital I/O pins. PBn, General I/O pin: The DDBn bit in the DDRB register selects the direction
-
Thread
2 Bytes (int) struct korrekt so?
Hallo, ATmega8 / AVR Studio / C ich habe eine "integer-Strukture" wie folgt initialisiert: union { int integer; struct { int SV0 :1; int SV1 :1; int SV2 :1; int SV3 :1;
geht es in C mit AVR leider nicht. (Etwas schicker könnte man es in C++ machen, aber das ist sicher auch nicht mehrheitsfähig.)
-
Thread
Benötige Hilfe beim Programm
8000000 #include <avr/io.h> #include <inttypes.h> #include <stdio.h> #include <avr/interrupt.h> #include <distance.h> #include <util/delay.h> /** Prototypen **/ static int send_receive_ping (void); // Sends
real 100 #define ever;; /** Ablauf Programm sendet 4 Rechtecksignale mit 40kh via Port 2 an die Schaltung Dann wartet das Programm (?) Einlesen von Port 2 ob ein Signal ansteht. Errechnen der Laufzeit und Ausgabe des Ergebnisses. **/ int main() { int delay,i;
-
Thread
Hygrosens HYT221 an Atmega8 macht nichts
- Mega 32 - SCL & SDA via 4,7kOhm auf VCC - In i2cmaster. S #define SDA 1 // SDA Port C, Pin 1 #define SCL 0 // SCL Port C, Pin 0 #define SDA_PORT PORTC // SDA Port C #define SCL_PORT PORTC // SCL Port C - Programm [c] #define F_CPU 1000000UL // MP-Takt #include "PF/i2cmaster.h" #include <avr/io.h> #include <stdio.h> #include <stdlib.h> #include <inttypes.h> #include <avr/interrupt.h> #include <avr/wdt.h> #include <util/delay.h> #define BAUD 1200UL
-
Thread
Timerinterrupt kommt nur einmal
falsch gemacht? muss ich den Timer wieder manuell auf 0 setzen? #include <stdlib.h> #include <avr/io.h> #include <avr/interrupt.h> #include <avr/signal.h> #include <avr/pgmspace.h> #include "uart.h" #ifndef F_CPU #define F_CPU 16000000UL #endif #define UART_BAUD_RATE 19200
mir: [C] ISR(TIMER1_OVF_vect) { unsigned char Tasterstellung; PORTD ^= 1 << PORTD7; //PortD.7 toggeln Tasterstellung = (PINB & 0x3F) | (PINC << 6); //Taster einlesen } [/C] Gibs zu: Es ist ein bisschen kürzer, als Deine Originalversion. Und das Beste: Es tut genau das selbe!
-
Thread
Midi_Orgel_Schieberegister
// 1 MHz #define BAUD 31250 // MIDI-Baudrate (31,25kBit) #include <avr/io.h> #include <util/setbaud.h> #define NR_SR 2 // Schieberegister MC14021 #define SR_DDR DDRB #define SR_PORT PORTB #define SR_PIN PINB #define SR_PS PB0 #define SR_C PB1
Zustand jeder Taste merken und der µC dann die jeweiligen Zustände im Gänsemarsch an lediglich 3 Pins einlesen kann.
-
Thread
Java Com lesen und schreiben
Also, das einlesen machst du am besten eventbasiert mit einem SerialPortEventListener. Hier mal ein funktionsfähiges Quick&Dirty Beispiel: [java] public class SeriellTest implements SerialPortEventListener { private CommPortIdentifier portID; private SerialPort serport; private InputStream inputStream; private OutputStream outputStream; public SeriellTest() { try { portID = CommPortIdentifier.getPortIdentifier
-
Thread
Portierung aus Bascom auf GCC
Portf.1 Green_led Alias Portf.2 Config Portb.5 = Output 'OC1A Port Nicht in benutzung Config Portb.6 = Output 'OC1B Port Config Portd.0 = Input 'Modem Interrupt 'Konfiguration der Interrupts
nun mit 8000000 definiert" #define F_CPU 8000000UL /* Interner Quarz */ #endif #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> /* in älteren avr-libc Versionen <avr/delay.h> */ #include <avr/sleep.h> #include "LEDS.h" //Initialisierung und Ansteuerung
-
Thread
Xmega ADC 4 Kanäle gleichzeitig
war Tuffi, welcher das Datenblatt zitierte. > Ich sehe nur EINEN > ADC. Alle Signale sind an PortA. Na dann ist doch alles KLAR! Du musst, wie der Rest der Welt, mit einem ADC die 4 Signale im Multiplex einlesen. Man kann da sicher deinem Stromsignal mehr Vorrang einräumen, indem man die Sequenz
Tuffi schrieb im Beitrag #6622552: > Die Hardware ist fertig, alle ADC sind an PortA Wenn Du auf Seite 61 schaust: https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-8386-8-and-16-bit-AVR-Microcontroller-ATxmega64A3U-128A3U-192A3U-256A3U_datasheet.pdf dann siehst Du, dass
-
Thread
Problem mit PWM bei Mega8
leuft er und er ist so eingestellt das er > mir beim erreichen des OCR1A(B) wertes den jeweiligen port auf ausgang > schaltet. Ähm. Eine PWM stell einen Port-Pin, der auf Ausgang geschaltet ist, zwischen 1 und 0 um und nicht den Modus zwischen Eingang und Ausgang um. > Doch wenn ich im AVR studio
gewünschten schreibweise. Ja ich weis das er es zwischen 1 und 0 umstellt. Aber wie du schon sagst einen PORT pin. Das währe im AVR studio dann der PORTB, doch er stellt den PINB um.
-
Thread
Define Makros in C
mec, Peter, Jörg und KarlHeinz lassen IMMERZU eines außen vor, nämlich daß es sich bai all diesen PortB Pin2 Spielchen entweder um einen theoretischen Port eines theoretischen µC handelt oder eben immer wieder nur um den begrenzten Horizont eines AVR. Auf allen anderen Architekturen sehen die Port
dreckige Trick, wie es doch geht: [c] #include <avr/io.h> #define IRMP_PORT_PIN C6 #define STRINGIFY(s) TO_STRING(s) #define TO_STRING(s) #s #define IRMP_PORT (*(&PORTB + 3 * (STRINGIFY(IRMP_PORT_PIN)
-
Thread
ATmega32 einzelne Pins setzen und abfragen
, setzen bzw. löschen. ist das nicht ein wiederspruch in sich? der atmel kann sowohl einen Port als auch ein Bit eines Ports ändern.
welche einzelne Bits direkt setzen/löschen bzw. abfragen können. Ansonsten muss man halt den ganzen Port einlesen, mittels Bitmanipulation zu seinem Wohlwollen ändern, und wieder zurück "schreiben". Das lässt sich dann halt nicht mehr in einem Takt erledigen.
-
Thread
Tasterverarbeitung mit ARDUINO-C
könnte, dann hab ich ja viel zu tun. Es ist ein ATmega 2560-Board. Müsste dies nicht in der <avr/io.h> stehen ? Und warum tauchen diese dann nicht im Verzeichnis -> include auf ? (siehe Screenshot) [c] #include <Arduino.h> #include <stdint.h> #include <avr/io.h> #include <avr/interrupt.h
Seite die Vektoren für AVR-Series-0, -1 und -2 nicht mitgelistet sind.
-
Thread
Alternativen zu Flowcode
Also ehrlich gesagt ist das heute mit der µC-Initialisierung nicht das große Problem und Hilfe um den AVR in C zu Programmieren gibt es genug. Der AVR hat ja keine Assembler-Startdatei sondern das Minimalprogramm besteht wirklich nur aus einer main.c mit leerer void main() und sonst nix. Da der AVR
der USB Port sollte als virtueller COM Port erscheinen. Diesbezüglich existiert auch schon ein Programm Rumpf in Visual C, den ich verwenden könnte. Fragen: - gibt es hier irgendow Treiber (µC) für den CP2101
-
Thread
ATTiny10/11/12
@Tobi: Warum soll ein Print einen AVR mit UART brauchen?
Tabelle der I/O-Register aus, die brauchst du immer wieder als Referenz. Dann solltest du über den Port Bescheid wissen, über Timer0 und seinen Vorteiler (Timer1 erstmal nicht), sowie über den ADC. Auch das Kapitel über die Interrupt-Vektoren soltest du verstanden haben. Dann solltest du in AVR-Studio
-
Thread
ATtiny8 und GIMSK
PIN-Change-Interrupt Jaja, das ist schon klar. Der TE redet aber von einem *ATTiny8*! Nahezu alle modernen AVR haben GIMSK, das ist nicht das Problem. Aber eben nicht die Winzlinge wie ATTiny4/5/9/10. Und da gibt es sowieso keinen Tiny8. Die kleinen Kerlchen haben auch keinen Port C, sondern nur Stückchen von
************************/ #ifndef F_CPU #define F_CPU 16000000UL #endif #include <avr/io.h> #include <util/delay.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #include <avr/sleep.h> // Lautsprecherport #define SPEAKER_DDR DDRC #define SPEAKER_PORT PORTC #define
-
Thread
Meßschieber Fast Mode - wie synchron seriell 133kHz lesen?
also nix anderes machen als eine pinänderung der clk prüfen, dann dreimal data einlesen und mitteln? oder den ganzen port ständig checken und die daten und clock bits verrechnen? wofür benutzt man denn dann überhaupt die interrupts?
egal (Gast) >also nix anderes machen als eine pinänderung der clk prüfen, dann >dreimal data einlesen und mitteln? ja. >oder den ganzen port ständig checken und die daten und clock bits >verrechnen? ja. >wofür benutzt man denn dann überhaupt die interrupts? Für "relativ" langsame und