-
Thread
AVR Sprungtabelle
deine Tasten low aktiv sind (schalten nach GND), dann kann man das einfach ändern, indem man das Einlesen der Pins so macht [avrasm] in tmp, PINein ; Pins einlesen com tmp ; alle Bits invertieren [/avrasm]
deine Tasten low aktiv sind (schalten nach GND), dann kann man das > einfach ändern, indem man das Einlesen der Pins so macht > in tmp, PINein ; Pins einlesen > com tmp ; alle Bits invertieren Das werde ich ausprobieren Danke
-
Thread
Das Ende von 8bit?
nicht. Dass die Entwicklung weitergeht ist auch klar. Ich frag mich eher wie lange es z.B noch den AVR gibt.
großen Wachstumsmarkt mit den Anforderungen > kurzes Time-To-Market, billig Solange Microchip die AVR Preise nicht Richtung PIC senkt wird AVR hier nichts reissen. Zumal 8051 hier noch vor PIC ganz weit vorn ist.
-
Thread
ATxmega8E5 ADC_Problem
= (CLK.CTRL &~ CLK_SCLKSEL_gm) | CLK_SCLKSEL_RC8M_gc; //activate internal oscillator } void port_init (void) { /*Pinout Port A*/ // 1: Charge voltage (ADC 0,93V-1,4V) -INPUT // 2: HW-Ver. detection (ADC) -INPUT /*Charge voltage*/ PORTA.DIRCLR = PIN1_bm; /*HW-Ver
genau das was ich machen will denn laut Datenblatt ist Bitnummer 4 Pin 1 und Bitnummer 3 Pin2. An PortA Pin 1 und Pin 2 liegen genau meine Spannungen an die ich einlese. Falk B. schrieb im Beitrag #4652516: >> (*Channel).MUXCTRL = (Pin << 3); //selection of ADC-Pin > > Falscher Fehler. Beim
-
Thread
Mikrocontroller umprogrammieren? (Sportuhr)
ranhängen und woanders sparen. Habe gerade mal ins Datenblatt des µC geschaut, ist doch auch nur ein AVR mit ein paar Portpins mehr. Das Bild der Rückseite der Leiterplatte läßt leider nichts erkennen, sonst wüßte man vermutlich schon, wieviel Ports überhaupt genutzt sind. Gruß aus Berlin Michael
einen Schönheitswettbewerb wird es auch nicht gewinnen. Damit Du ahnst, was Du bekommst: http://www.avr.roehres-home.de/ Gruß aus Berlin Michael
-
Thread
Spaceball 4000 seriell=>USB: welcher µC? Tips?
willst, musst du dir noch aussuchen, ansonsten wird V-USB da das richtige sein - läuft auf fast jedem AVR. https://www.obdev.at/products/vusb/index.html Den original MC lässt du drinnen und baust nur den Umschnurzler.
musst du dir noch aussuchen, ansonsten wird V-USB da das richtige sein - > läuft auf fast jedem AVR. Werde mich mal einlesen. Jim M. schrieb im Beitrag #4639548: > /me hat mit einem alten Teensy (noch mit AT90USB162) einem Sidewinder 3D > Pro USB beigebracht. Das war noch der mit dem
-
Thread
Layout überprüfen bitte (8051)
diese 8051-Hauptplatine funktionieren wird ? Ich stelle hier mal den Prozessor in Frage. Ein AVR macht viel mehr Freude. Und ist viel einfacher. Und schneller. Und besser. Und ..... Wie kann man sich nur mit solchen Steinzeitgeräten herumschlagen wollen?
Lust habe, kann ich die evtl. auch noch messen. Mach das doch selber! Target kann auch Gerber einlesen und darstellen.
-
Thread
ATMEGA 328p Programm Upload nicht Möglich avrdude: stk500_loadaddr(): (a) protocol error, expect=0x1
Wunsch System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM3 Using Programmer : arduino Overriding Baud Rate : 115200 AVR Part
Wunsch System wide configuration file is "C:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf" Using Port : COM13 Using Programmer : arduino Overriding Baud Rate : 115200 AVR Part
-
Thread
wie funktioniert diese Interrupt Routine?
>>Wie erkennt er High und Low? >(~PIND & 0x04) Genau, hier liest der µC am PortD das 3.Bit --> PD2 aus. Mir geht es darum, wie er die Manchester Codierung erkennt....
> Low Bit und Bitfolge 01 --> High Bit Nun kann er auch stumpf alle 1,8ms (eine xx-Bitfolge) einlesen, weil das 2.Bit des Manchester Code für High oder Low entscheidend ist. Jetzt habe ich es.... :) Danke. :)
-
Thread
STM32: Wie funktioniert diese Entprellung?
Wie kann ich diese Funktion für alle Pins verallgemeinern? Ich würde an die Funktion den Pin und Port übergeben (z.B. PD2) und dort eine switch-case Abfrage mit allen möglichen Pins. In dieser Abfrage dann den jeweiligen Pin einlesen. Peter D. schrieb im Beitrag #4608892: > Z.B. reicht ein 2Bit-Zähler
Wie kann ich diese Funktion für alle Pins verallgemeinern? > Ich würde an die Funktion den Pin und Port übergeben (z.B. PD2) und dort > eine switch-case Abfrage mit allen möglichen Pins. In dieser Abfrage > dann den jeweiligen Pin einlesen. Mir fällt gerade auf, dass dies keinen Sinn macht, weil
-
Thread
flexibles RGB Led Display
Gegenprobe: Wenn wirklich 2222 Befehle pro LED und Frame zur Verfügung stehen würden, müsste dein AVR mit 2222 Zyklen * 5400 LED * 30 fps = 360 MHz getaktet sein... Es stehen beim AVR pro LED inkl. Ausgabe nur 20 MHz / 5400 LED / 30 fps = 124 Zyklen zur Verfügung. Da die ATMegas nur eine SPI haben
Framebuffer, alles auf einem PC platzsparend montiert - nur wie man diesen Framebuffer vom PC zum AVR rüberkriegt ist dir noch nicht ganz klar... Ohne Framebuffer gibt es ganz einfach keine Animation. *Punkt*. Und dieser Framebuffer kann auf einem AVR *nicht* bearbeitet werden. *Punkt*. Es
-
Thread
Atmega 8 / Abfrage einer bestimmten Reihenfolge
Wie kann ich also eine "Abschaltreihenfolge" von Inputs abfragen? Programmiert wird mit LUNA AVR Mikrocontroller = Atmega8 Bisher ist das meine Version, ich hätte es aber gerne wie oben beschrieben. Ist nur ein Teilausschnitt (abschalten)... "" elseif S1=0 and S2=0 then LED6=0 and LED7
Ernst ? An welchen PINs sind die Bewegungsmelder ? Wie werden die LEDs ein bzw. ausgeschaltet (PORT, PIN) ? Wenn die PINs richtig angeschlossen sind, kann es einfacher sein.
-
Thread
Webserver Ethernet ENC28j60 ATmega1284p TCP ARP Assembler
Webservers und ein großes Dankeschön an Michael, er ermöglichte mir erst dieses Projekt. Hardware: AVR-NET-IO BOARD, diverse LEDs, bei Bedarf ein LCD und ein BEEP. Bei Programstart sendet der Host ein ARP-Request an den Router und meldet sich somit an. Auf ein PING (ICMP) und ein ARP-Request antwortet
und ein großes Dankeschön an > Michael, er ermöglichte mir erst dieses Projekt. > > Hardware: AVR-NET-IO BOARD, diverse LEDs, bei Bedarf ein LCD und ein > BEEP. Du machst wirklich vor nichts halt, Gratuliere!!! Ich habe lange nichts mehr wirklich in ASM gemacht, wegen des ESP8266 mehr C/
-
Thread
DMX-Transmitter Code von Henne’s Sites ändern
for-Schleife und keine while? [c]= ~(PINC)[/c] Wenn ich mich richtig entsinne, hat das doch was mit einlesen eines Ports zu tun. Warum lese ich was ein, wenn nur was ausgegeben wird? Wie bekomme ich es hin, dass z.B. Rot für eine gewisse Zeit an ist und dann Grün leuchtet? Also quasi die Kanäle explizit
Hättest du dir das Beispiel mal durchgelesen, wäre dir klar geworden, das du mit DIP Schaltern an Port C eben den Wert von DMX Kanal 0 einstellen kannst.
-
Thread
Stahlsorte für Vakuumkammer
für dich ein Rätsel ist, so kann ich mir nicht vorstellen, dass es dir gelingen wird die nötigen Ports etc. ausreichend verzugfrei zu schweißen. Oder erstmal herzustellen. Ganz ehrlich, deine Erfolgschancen dürften um ein vielfaches größer sein, wenn du dir bei eBay ein uraltes gebrauchtes REM schießt
werden muss? Weis eigentlich jemand einen guten Link oder Literatur wo ich mich ins Thema weiter einlesen kann?
-
Thread
DS18S20 wird vom ATmega8 nicht gefunden
https://www.mikrocontroller.net/articles/AVR_Fuses Im einfachsten Fall mit dem AVR-Studio.
nochmal, du musst einen externen Taktgeber anschließen. Zum Beispiel einen Quarz und dann muss das am AVR auf Crystal/Oscillator, mit z.B dem AVR Studio (Fuses), ausgewählt werden.
-
Thread
Suche 16 bit CPU mit externem Buszugriff
richtigen schnellen Speicher kopieren, fertig. Na klar, schnell mal ne 128MB SD Karte ins 16K SRAM vom AVR kopieren. Wie konnte *das* der TO übersehen .... dass das so einfach geht.
umschaltbare Basisadresse für den Zähler. Da das wohl keine Massenware sein wird eignet sich für den Dual-Port Zugriff sogenanntes Video-RAM besonders gut. Das ist altes asynchrones DRAM, das nach einem Transferzyklus für die komplette Row auf einem zweiten unabhängigen seriellen Port Videodaten rausschiebt.
-
Thread
Nachlaufschaltung mit 555 Timer
ein Öffnerrelais angeschlossen und deaktiviert die Wasserpumpe/Motor DDRB = 0xff; // alle Ports von B auf Ausgang setzen DDRB |= (0<<PB0); // Port B0 auf Eingang setzen PORTB |= (1<<PB0); // Port B0 internen Pullup aktivieren while (1) { if (PINB & (1
ist gedrückt, warte 15 Sekunden PORTB |=(1<<PB1); // Warten ist abgeschlossen, Schalte Port B1 auf High, somit Öffnerrelais für Heizung aktiviert _delay_ms(3000000); // Warte noch 3 Minuten PORTB |=(1<<PB2); // Taster ist aktiviert, Schalte Port B2 auf High, somit Öffnerrelais
-
Thread
ATmega als "Ersatz" für MAX7219
mit einem Schieberegister als Hilfsmittel? (sowas wie ein 74HC595). Man bräuchte zwar einen ganzen Port zur Datenübernahme, aber sonst wäre es schon einen Entlastung für den AVR. LOAD könnte man per Interrupt auswerten.
AND-gatter auf SS* des avr und npcjh jeweils auf ein port, welches einen interrupt auslöst, wenn CS* low wird. damit kann der avr erkennen, welcher MAX7219 angesprochen wurde. wichtig ist noch rauszufinden, welcher spi mode
-
Thread
FT800 / FT810 Library
HAL_GPIO_WritePin(EVE_PDN_PORT, EVE_PDN, GPIO_PIN_RESET); } static inline void EVE_cs_clear(void) { EVE_CS_PORT->BSRR = EVE_CS; // HAL_GPIO_WritePin(EVE_CS_PORT, EVE_CS, GPIO_PIN_SET); }
) { // EVE_CS_PORT->BSRR = EVE_CS; HAL_GPIO_WritePin(EVE_CS_PORT, EVE_CS, GPIO_PIN_SET); } static inline void EVE_cs_set(void) { // EVE_CS_PORT->BSRR = (uint32) EVE_CS << 16; HAL_GPIO_WritePin
-
Thread
[C++] Paralleler Zugriff auf Variable und einige Fragen zu C++ <=> Homepage
findest genug Beispiele im Netz. Google > einfach nach JSON. > > Zeno Werde mich da mal einlesen, danke!
server var server = http.createServer(handleRequest); //Lets start our server server.listen(PORT, function(){ //Callback triggered when server is successfully listening. Hurray! console.log("Server listening on: http://localhost:%s", PORT); }); [/c] das stammt von hier, aber andere
-
Thread
Arduino Assembler Daten seriell einlesen, schreiben
*************************************************** ;***** Es wird angenommen, dass die Daten am Port A ankommen, ******* ;***** am Pin PA0; der Zustand des Ports A wird nach DatenBit ******* ;***** eingelesen; nur niedrigwerteste Bit des Port A ist hier ****** ;***** von Bedeutung => PA0 kann nur
loop2 ; [/avrasm] Code ist für XMEGA, muss also füe MEGA angepasst werden, d. h. Einlesen des Port A. BTW: Was für brillante Antworten hast du bis jetzt bekommen...
-
Thread
Raspberry Pi Taster stören sich gegenseitig
keine!) Ahnung von elektrischen > Schaltungen. mal ehrlich, +3,3V ohne Strombegrenzung auf einen Port zu schalten ist keine besonders gute Idee, 1. wenn der Port mal auf out und low gestellt wird (reicht ja ein falsches Programm ein falsches Kernelupdate oder ein Absturz) dann hat der Port an +3,3V
Raspberry PI Erfolg garantiert, das Datenblatt vom SoC BCM2835sagt was von ca. 50mA zusätzlich an allen Ports als Quelle oder Senke, das ist nicht üppig, Strombegrenzung wie beim AVR findet auch nicht statt, man kann locker pro Port mehrere mA verballern bis der SoC aufgibt.
-
Thread
Gameboy (DMG) ROM mit Arduino auslesen
LED auslesen wenn man viel Langeweile hat. Er kann auch mehrere Sekunden warten und das Datum einlesen. Langsamer geht immer. :-)
gottseidank überlebt da ich nur eine angeschlossen hatte... Dann habe ich die Adressleitungen an die Ports A0-A15 des Mega geklemmt. Sind zwar eigentlicht für Analogeingänge, aber dem Atmega ist das wurscht, der kann die Ports auch als digitale Eingänge schalten. Die Datenleitungrn an Port A und die
-
Thread
433Mhz RF Wireless Transmitter + Receiver
Besten geben. In "project.h" steht dazu noch folgendes: [c] /* 1wire definitions */ #define OW_PORT G #define OW_PIN 5 extern bool ow_reset(void); extern void Print_ROMCode(void); extern double Read_Temperature(void); [/c] OW_PORT und OW_PIN musst du natürlich auf deine
dann zb. aller 1 min über den Sender an den Empfänger senden und in den Atmega 32 meines Projekts einlesen. Mein Problem ist der C Code Teil für die Ansteuerung des Senders und ein C Code Teil für das Empfangsteil. Ich brauche einen Ansatz für eine einfache Lösung zum Übertragen einer Variaben
-
Thread
Z80 Projekt für Hauptwerk Orgel
Z80, etwa DIL34. Die "Rückmelde"-LEDs bekommen auch Scieberegister, nur eben Seriell->Parallel. [[AVR-Tutorial: Schieberegister]] Per SPI kann man damit die 120 Taster in unter 20μs einlesen und gleichzeitig die LED ausgeben. Für die Dannegger Entprellung braucht man alle 5..20ms neue Daten, es bleibt
da könnte er dann auch einen Z80-PIO nehmen, der hat 2 8-Bit Ports. Sascha
-
Thread
Problem mit Midi-Signal Atmega8 (Bascom)
Zum Auslösen des Midibefehls verwende ich einen normalen Taster der über einen Multiplexer an einen Port des Atmega angeschlossen ist.
Vielen Dank ich werde mich da einlesen
-
Thread
dcf77 Signal Einlesen. Atmega644
programmiert zu haben, der jede ms einen Overflow erzeugt und dann die ISR aufruft, PIN2 prüft und PIN 3 an Port D den Wert 1 zuweist, solange dcf77_sig den High-Pegel enthält. Leider zeigt sich aber keine Reaktion. Kann jmd. sehen, wo der Fehler liegt? #include <avr/interrupt.h> #include <util/delay.h>
Michael B. schrieb im Beitrag #4512701: > dcf77_sig = PIND2; Du möchtest bestimmt den Pinstatus einlesen. Ich glaube das muss so sein: dcf77_sig=( PIND & ( 1<<PIND2 ) )
-
Thread
goto verpönt - was dann nehmen?
>static u16_t tcp_new_port(void) { > static u16_t port = TCP_LOCAL_PORT_RANGE_START; > do { > if (port++ >= TCP_LOCAL_PORT_RANGE_END) > port = TCP_LOCAL_PORT_RANGE_START; > } while(port_is_in_use(port));
port = TCP_LOCAL_PORT_RANGE_START; } if (!port_is_in_use(port)) break; } if (i==0) { return 0; // error, no more free ports } else { return port; } } [/c]
-
Thread
LCD mit ILI9325 funktioniert nicht!
Anhang. Fehler: Avcc mus mit Vcc verbunden werden (und abgeblockt mit 100nF) sonst funktioniert Port A nicht!
Beitrag #4498413: > Avcc mus mit Vcc verbunden werden (und abgeblockt mit 100nF) sonst > funktioniert Port A nicht! Gut aufgepasst :) Ist geändert, leider keine Besserung.
-
Thread
Scheibenwischer Steuern.
abfrag: ; an Port B Werte (Taster) nach schalter einlesen in schalter, PINB cpi schalter, 5 ; ist Alternat PIND 5 gesetzt? breq alternance ; zu Alternence springen ;cpi schalter, 6 ; ist vitesse
nicht überein. Wo wird DDRA gesetzt? Sorry, ich habe etwas korriegiert, und einige vergessen. Die Port A wird um der schleifer ab zu Fragen. Nautilus schrieb im Beitrag #4496129: > Warum werden die Timer des AVR nicht genutzt? Um mein Eingäng abzufragen, ich werde sicherlich die Teimer benutzen
-
Thread
[AtTiny26] Ist er das Richtige für mich?
Bordspannung auf stabile 5V (wenn so ein Mikroprozessor denn mit 5V läuft) regelt. Dazu dann das Port mitsamt des Prozessors und der Notwendigen Anschlüsse sowie 2 Stromstoßrelais, welche bei 5V zuverlässig arbeiten und bis zu 14,6V schalten können - sollten sie keine hohen Ströme schalten wäre das
klappen, wie es z.b mit dem einlesen des Geschwindigkeitssignals oder Drehzahl ausschaut kann ich nicht beurteilen. Drehzahl und Geschwindigkeit stehen als Digitalsignal mit 5V Pegel zur verfühung und gehen zirka von 0-150Herz. Beim
-
Thread
Welches der beiden Dev.Boards?
für Privat war mir die Anschaffung als Auszubildender leider zu teuer. Ich bin da auch auf die Atmel AVR aufgestiegen. Vor allem auch wegen dem schönen und einsteigerfreundlichen AVR-GCC Tutorial hier auf der Seite. Hätte es damals 2007/08 bereits Arduino gegeben, dann wäre das ganz klar die Plattform
Wahl. Zumindest Preis/Leistung ist kaum zu toppen. Allerdings sind dadurch auch kaum noch unbelegte Ports am µC.
-
Thread
AD Wandlung mit IRQ
nur größere Messwertdifferenzen zu einer Regelung o.ä. führen? -> kontinulierlich/ gelegentlich einlesen und per Software auswerten
ADC ersetze mit ADCL in der Zeile, funktioniert es garnicht. So wie reinkopiert kann ich den ersten Port abfragen. Frage ich aber den zweiten ab, bekomme ich immer nur einen Wert für beide Ports zurück. Wäre toll, wenn mir jemand helfen könnte, ich kann noch so lange das Datenblatt durchlesen, ich seh
-
Thread
Bidirektionaler i/o Port deklarieren am ATMega
für Versorgungsspannung machen und die nicht über die Datenleitung mit Energie Versorgen. 2. Die Ports beim AVR sind alle automatisch Bidirektionaler, da muss man nichts machen. Wenn du ein Ports als Ausgang schaltest kann man weiterhin den Eingang (PIN) abfragen. Beispiel: DDR ist auf OUT (1)
wenn man einen Pin auf Ausgang und High schaltet, und dann im PinRegister 0 lesen will, dann ist der Port voll (über)belastet. Und der gegnerische Port ebenfalls. Nöö, das ist kein erstrebenswerter Zustand!
-
Thread
ADE7758 via SPI
in etwa so ? [c] char ADE7758_read8bit(char reg) { char ret=0; _delay_us(10); SS_PORT |= (1<<SS_BIT); SS_PORT &= ~(1<<SS_BIT); spi_master_transmit(reg); _delay_us(10); ret = spi_receive(); SS_PORT |= (1<<SS_BIT); _delay_us(10); return ret; } [/c]
SS_PORT &= ~(1<<SS_BIT); // slave select low spi_master_transmit(reg); data_msb = spi_master_transmit(0); (...) data_lsb = spi_master_transmit(0); SS_PORT |= (1<<SS_BIT); // slave select high [/c]
-
Thread
Probleme beim Poti über ADC auslesen
Programmier bzw Verkabelungsproblem. Sieht jemand den Fehler? Hier der Code: [c] #include <avr/interrupt.h> #include <avr/io.h> #include <stdio.h> #define F_CPU 16000000 #include <util/delay.h> #define BAUD 250000 #define BAUD_PRESCALLER (((F_CPU / (BAUD * 16UL))) - 1) // Für Terminal
Thgomas T. schrieb im Beitrag #4473542: > //AD Werte einlesen > ISR (ADC_vect) > //############################################################################ > { > > > ADCSRA = 0; > > adc_wert =(unsigned char)(ADC); > > ADCSRA=(1<<ADEN)
-
Thread
Einzelnes Bit im RAM schreiben oder lesen
nicht allzuviel Rechenzeit dauern, weil die 5 bit breiten Datensätze möglichst schnell von einem Port gelesen werden müssen. Es soll ein Logic Analyzer werden. Ich benutze C auf einem Atmega 328P. Danke!
Byte zu packen, fehlt ein bit, aber doppelte länge, evt etwas langsammer - 8 Bytes auf einmal einlesen, einlesen b1 und b2, 4+4 bit zusammen packen wegschreiben, das 5 bit in ein anderes byte reinschieben, nach 8 spamples auch das wegschreiben. - Einlesen, gucken ob der Wert identisch mit dem vorherigen
-
Thread
Drehencoder zählt doppelt.
*/ /************************************************************************/ #include <avr/io.h> #include <avr/interrupt.h> #include <avr/pgmspace.h> #define XTAL 8e6 // 8MHz #define PHASE_A (PINA & 1<<PA1) // an Pinbelegung anpassen #define PHASE_B
auch innerhalb des Interrupts noch einmal eine plausibilitätsprüfung Durchführen, un den eingenen Port kontrollieren ob sich der tatsächlich geändert hat - so ist dieser zumindest 2mal gelesen worden. Zum anderen hab ich ja auch geschrieben, dass man die Ports auch pollen kann, dann kannst Du alle
-
Thread
Newbie: Welches FPGA verwenden?
> Wenn du das noch ein wenig clever an den Mikrocontroller anklemmst, ist > das insgesamt: 8 Ports einlesen Die Ports sind schon mal 16 Bit breit... ;-)
>> Wenn du das noch ein wenig clever an den Mikrocontroller anklemmst, ist >> das insgesamt: 8 Ports einlesen > Die Ports sind schon mal 16 Bit breit... ;-) Ja, ich habe halt doch mit AVR gelernt, doch ich denke es ist klar was rüber gebracht werden soll. Ich weiß nämlich nicht warum hier alles
-
Thread
ESP8266 - was kann die Platine?
Hallo, ich möchte meinen AVR-Controller an ein WLAN-Modul anbinden. Dazu habe ich folgendes Modul gefunden: ESP8266 Im Forum habe ich bereits den Artikel zur o.g. Platine gelesen, leider ist diese aber äußerst dünn und sagt
Anton F. schrieb im Beitrag #4453879: > ich möchte meinen AVR-Controller an ein WLAN-Modul anbinden. > Dazu habe ich folgendes Modul gefunden: ESP8266 Das ganze Netz ist mit den Dingern zugepflastert, da man so eine Platine für 2€ bekommt. Da gibts mehr Tips
-
Thread
Massive IO Porterweiterung - Stabilität des IO - mehrfaches SPI
viele LEDs und Tasten kann man ggf. eine Matrixschaltung nutzen. Da kann man etwa über 3 mal 8 IO Ports 64 LED Schaltung und 64 Tasten einlesen. So etwas wie Tasten ließt man in der Regel periodisch ein (z.B. im Timer Interrupt) - das gibt einem dann auch gleich die Entprellung.
Ein Schieberegister geht bis einige MHz, bei 128 bit und 20 ms kommt man auf 6,4 kHz das schaft ein AVR locker
-
Thread
PIC 10F200, Anfänger
Wenn Du richtig zitierst dann erschliesst sich gleich eine ganz andere Aussage. Der TE posted AVR Code will aber einen Pic einsetzen.
Michael K. schrieb im Beitrag #4455068: > Der TE posted AVR Code will aber einen Pic einsetzen. Quark. Wenn überhaupt, dann Arduino-Code. Weder muß man die ursprünglich vom Arduino-Projekt verwendeten AVR-Prozessoren auf diese Weise verwenden, noch ist inzwischen
-
Thread
Arduino oder Mikrocontroller - Was ist besser?
nur im Grenzbereich. Ein "digital write" Befehl dauert deutlich länger als ein direktes setzen der Port-Register in c und ist nicht wesentlich einfacher. Jedoch gibts für AVR-GCC (das "normale" c für die Atmels) ebenso viele Bibliotheken. Diese sind nur viel weiter verstreut und man sucht länger.
hat. Programmieren und vor allem SIMULIEREN dann mit dem guten AVR-Studio4 (gibt Menschen, die auch das 6er mögen - AVR-Studio6 kommt mit einem c++-Compiler daher, der Compiler der 4er ist glaub rein c). Einen Programmer braucht es dann noch (zB. http://www.ebay.de
-
Thread
Welche Komponenten für ein elektronisches "4 gewinnt"
LEDs. Dann reichen 16 Ausgänge. Und mit dem selben Multiplexer lassen sich dann noch die Taster einlesen, damit wird nur 1 Pin für die 7 Tasten benötigt... Das Hirnschmalz steckt dann in der Software. > Schalter zum Umstellen auf 2-Spieler-Modus bzw. 1-Spieler vs KI - Modus KI-Modus? Da würde
e.g. automatic generation of function prototypes) and then is passed directly to a C/C++ compiler (avr-g++). All standard C and C++ constructs supported by avr-g++ should work in Arduino. For more details, see the page on the Arduino build process.
-
Thread
PIC: I²C Hardware-Slave und Software-Master gleichzeitig
Du kannst natürlich die Logik-Pegel an den Pins per Software einlesen, auch, wenn sie auf Ausgang geschaltet sind oder durch das MSSP-Modul kontrolliert werden. So kannst Du ggf. einen "Software-Slave" parallel zum MSSP mitlaufen lassen, der die Kommunikation überwacht. Auch die Port-Change Interrupts müssten wie erwartet funktionieren, so daß die Software gezielt bei einer Flanke an CLK in Aktion treten kann und nicht ständig pollen muss. Wenn Dein Software-Slave allerdings
-
Thread
µC für n00bs
http://www.mikrocontroller.net/articles/AVR
sich gut, wenn man die ersten Schritte bereits hinter sich hat. Last but not least: Schau Dir das AVR Tutorial hier an: https://www.mikrocontroller.net/articles/AVR-Tutorial https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
-
Thread
GCC Optimierung killt Funktion
> I/O Ports -> Ports as general digital I/O -> Reading the pin value Da liegt es aber nicht am asynchronen Takt oder an Reodering, sondern einfach am Aufbau der Ausgänge.
als Eingang einlesen will, in dem zugrundeliegenden Beispiel Christian J. schrieb im Beitrag #4439029: > GPIO_SetBits(GPIOC,GPIO_Pin_1); > GPIO_ResetBits(GPIOC,GPIO_Pin_1); umgeschrieben auf AVR wird aber kein