-
Thread
Schaltung mit 74HC595 Schieberegister
Das geht so nicht. Der HC595 braucht nach dem Einlesen der Daten einen positiven (LHL) Übernahme Impuls am RCLK Pin-12. das ist der zugrundeliegende Fehler. Dann suche Dir besser ein englischsprachiges Datenblatt. Mein Chinesisch ist nicht zu gut:
auch aus funktionierendem Code. Es sind ja auch nur wenig Bedingungen zu erfüllen um den SPI Port benutzen zu können: Benutzte Pins als Outputs setzen SPI Control Register setzen um den SPI Port zu aktivieren SPI Data Register schreiben Wiederholt SPI-Flag Bits checken um zu warten bis alle
-
Thread
Attiny 841 mit SPI ein Display ansteuern
SPI void lcd_out(const uint8_t data) { uint8_t n = 8; uint8_t shifter = data; LCD_PORT &= ~(1<<LCDCS); // select LCD while (n>0) { LCD_PORT &= ~(1<<LCDCLK); // clk lo if (shifter & 0x80) LCD_PORT |= (1<<LCDDATA); else LCD_PORT &= ~(1<<LCDDATA); shifter
banging SPI > void lcd_out(const uint8_t data) { > uint8_t n = 8; > uint8_t shifter = data; > LCD_PORT &= ~(1<<LCDCS); // select LCD > while (n>0) { > LCD_PORT &= ~(1<<LCDCLK); // clk lo > if (shifter & 0x80) LCD_PORT |= (1<<LCDDATA); > else LCD_PORT &= ~(1<<LCDDATA); >
-
Thread
In Bewerbung Arduino Stand im Jahre 2022
Max schrieb im Beitrag #7100786: > Er meinte, > dass Sachen wie AVR und so veraltet wären. Ich hab noch keinen STM32 in irgendwelchen Steuerungen gesehen, dafür aber jede Menge PIC's und auch AVR. Wir haben Infineon in den Steuerungen (ältere Steuerungen).
hab noch keinen STM32 in irgendwelchen Steuerungen gesehen, dafür > aber jede Menge PIC's und auch AVR. *Du* hast sie noch nicht gesehen. In meinem Umfeld gibt es keine AVR, aber ein ernsthaftes Produkt mit STM32. Ein langjähriger Umsatzträger basiert auf PIC, aber wird bei der angedachten Neuentwicklung
-
Thread
Höchstmögliche Schaltfrequenz an einem normalen AVR Ausgangs-Pin
Was ist die höchste mögliche Schaltfrequenz bei einem AVR Microcontroller wie z.B. dem ATmega328P ? Ich brauche 6 verschiedene 0-200kHz Signale (einstellbare Frequenz) weis aber nicht genau ob das mit einem AVR möglich ist, im Datenblatt steht dazu nichts
ob das mit einem AVR möglich ist 6 wird schwierig, weil auch die besten klassischen AVR8 nur höchstens vier Timer haben. Die restlichen zwei Kanäle müssten per Software generiert werden. Das ist nicht so ganz trivial
-
Thread
Es erscheint nichts auf dem Seriellen Monitor?
-prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avr-gcc.path=/opt/arduino-1.8.19/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/opt/arduino-1.8.19/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/opt/arduino-1.8.19
-DARDUINO=10819 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/opt/arduino-1.8.19/hardware/arduino/avr/cores/arduino -I/opt/arduino-1.8.19/hardware/arduino/avr/variants/mega /tmp/arduino_build_142490/sketch/foo.ino.cpp -o /dev/null
-
Thread
PC ersetzen für XP u. 16 bit-Progr. -- OS install
Wenn Du im BIOS-Setup die SATA-Ports von AHCI auf IDE umstellst, solltest Du XP ganz normal installieren können. fchk
Beitrag #7034785: > Wegen Weiterbenutzung von einem alten 16-bit-Zeichenprogramm CAD4 (DOS) > und AVR-Studio 4.19 mit AVRISP II an USB, unter WIN-XP. Ich würde mal behaupten, in der Zeit die da verschwendet wurde, hätte man längst auf einem modernen PC und OS AVR-Studio 4.19 mit AVRISP II installiert
-
Thread
Display am Attiny 841
> direkt übernehmen. Minimalste Codeanpassungen sind zumutbar. Beim 8051 schreibe ich auf das PORT-Bit, beim AVR eben auf das DIR-Bit, um zwischen Input und Output_Low zu wählen. Und zum Einlesen PORT-Bit (8051) bzw. PIN-Bit (AVR). Sowas kann man bequem per #define kapseln.
_avr_studio.pdf
-
Thread
Arduino pulseIn()-Funktion funktioniert nicht mit Pin D9 (PB1)
#7025160: > Ein Arrayzugriff über die Grenzen hinaus Siehe: https://github.com/arduino/ArduinoCore-avr/blob/master/variants/standard/pins_arduino.h
/ArchAvr.h:120:33: note: '(21 < 20)' evaluates to false [/c]
-
Thread
Problem bei Temp-Messung Rasp. Pi Pico & Pt1000
bisher deutet aber nichts darauf hin. m.n. schrieb im Beitrag #7009872: > Im Vergleich mit einem AVR > liefern dessen 10 Bit verlässlichere Ergebnisse. Das ist wohl so, aber der ADC eines megaAVR ist mit "Up to 15 ksps at maximum resolution" auch deutlich langsamer als der ADC des RP2040 mit 500000
Stefan schrieb im Beitrag #7010455: >> Im Vergleich mit einem AVR >> liefern dessen 10 Bit verlässlichere Ergebnisse. > Das ist wohl so, aber der ADC eines megaAVR ist mit "Up to 15 ksps at > maximum resolution" auch deutlich langsamer als der ADC des RP2040 mit
-
Thread
ESP32 als Modul-Emulator für den C64
bekomme. Wenn ich nun aber über den Interrupt auf den Tackt des C64 warte, dann die Adresse bittweise einlese über A0-A15 und dann das Byte bitweise auf die Datenleitungen D0 bis D7 lege, dann ist das zu langsam. Bei meinen Atmel-Chips konnte ich das damals im Atmel AVR-Studio deutlich leichter machen
T.: Das Problem ist, dass ich mit dem aktuellen Code deutlich mehr Tackte benötige, da ich jeden Port einzeln einlese ;) Warum ist ein ESP32 keine gute Wahl? @Mario M.: Danke für den Hinweis. Ich werde mal damit rumexperimentieren und am Oszilloskop die Zeiten messen. :) Gruß Frank
-
Thread
[AVR][C] Tastenmatrix: Nur ein Taster wird nicht erkannt
unkoordiniert und seltsam aus. Was ich da den µC machen lasse ist folgendes: [code] Setze pin 0 von port F als Ausgang. Setze pin 0 von port F auf 0. Setze pin 1 von port F als Eingang. Deaktiviere den pullout von pin 1 port F. ... [/code] Also einfach schön der Reihe nach die einzelnen DDRs
Hi An PortF befindet sich das JTAG-Interface. Ist das abgeschaltet? MfG Spess
-
Thread
1602 LCD mit ATmega8535 und Bascom läuft nicht
mir dann doch nochmal C angesehen. Mit der Syntax habe ich echt meine Probleme. Beispiel aus dem AVR-GCC-Tutorial [c]PORTA |= (1 << MEINBIT); /* setzt Bit 2 an PortA auf 1 */ PORTA &= ~(1 << MEINBIT); /* loescht Bit 2 an PortA */[/c] Nun weiß ich zwar was der Befehl tut und ich könnte
Hallo Tim, Beispiel aus dem AVR-GCC-Tutorial 1) PORTA |= (1 << MEINBIT); /* setzt Bit 2 an PortA auf 1 */ 2) PORTA &= ~(1 << MEINBIT); /* loescht Bit 2 an PortA */ Das ist eine abgekürzte Schreibweise in C. Kann man in C
-
Thread
SPI mit AVR: Array-Zugriff in ISR funktioniert nicht
genutzten) bytes in seinem SPI-Datenregister (alle Bytes == 0x03), und empfängt auf MISO die Bytes vom AVR. Nach jedem übertragenen Byte wird im AVR die InterruptServiceRoutine getriggert. Ich schreibe darin jeweils das nächste Byte meines zu übertragenden Arrays ins SPI-Datenregister SPDR und zähle meinen
Interrupts manchmal die Zeitmessung versauen, musste ich ausweichen. Und die einzigen noch freien Ports am STM32 gehören zu dessen SPI2, weswegen ich jetzt das Vergnügen habe, erstmals mit SPI zu arbeiten. Schöner Lerneffekt, siehe Diskussion oben :-) Die Festlegung auf AVR (ATm48 oder ATm128) kommt
-
Thread
NRF51822 wie am besten erlernen mit einem Buch? Geht das?
Sin S. schrieb im Beitrag #6982272: > Standard AVR Cortex M0 Du bringst da was durcheinander. AVR hat mit ARM nichts zu tun.
. Das ist aber schon etwas her. Zuletzt habe ich mit einem Arduino mal was gemacht mit bisschen einlesen, auswerten, Sensoren, Aktoren...das geht halt einfacher. Programmieren ist bei mir schon länger her. Lothar M. schrieb im Beitrag #6982278: > Du bringst da was durcheinander. > AVR hat mit
-
Thread
AVR Mikrocontroller Lohnenswert?
Controllern den Vorteil, dass Du Dich nicht noch zusätzlich mit Dingen wie unterschiedlichen Clock domains, Port-Matrix, IRQ-Prioritäten oder komplexerer Hardware herumschlagen musst. (Obwohl es das auch da gibt - aber nicht beim einfachen AVR.) Wenn Du noch eine Stufe weiter herauszoomen möchtest, wäre der
;P1.0 (LED1) Toggle > BR $ ; Waitt of Watchdog Reset Beim AVR geht das nicht, da setzt das Watchdog-Reset alle Port-Register zurück, da toggled also nichts. Welcher seltsame MC ist das denn, wo der Watchdog kein richtiges Reset ausführt? Man könnte den AVR
-
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 - weg vom Arduino
versteckt. Also schau dir zum Beispiel dieses Tutorial an: https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial Die dortigen Beispiele sollten 1:1 auf dem ATMega328P vom Arduino UNO/Nano funktionieren. Und stark verallgemeinert: Controller funktionieren alle ähnlich und mit dem gleichen
informieren und in der Dokumentation des Arduino-Boards nachschauen, wie die Board-Pins den I/O-Ports des µC zugeordnet sind. An dieser Stelle lohnt auch schon einmal ein Blick ins Datenblatt de µC, um zu verstehen, wie die I/O-Ports organisiert sind. So kann man nach und nach die Arduino-Funktionen
-
Thread
AVR-ATmega: Multiplex von 8 Digits 7-Segment und 8 Tasten
diesbezügliche Pöbeleien sind hier MaWin und F. Brunner zuständig. Was ich anders gemacht hätte, wäre die Port-Segementzuodnung und das Einlesen der Taster. Da ja schon acht zyklisch geschaltete Ausgänge zu den Digits vorhanden sind, hätte ich damit auch die Taster dekodiert. Aber egal, es gibt wie immer viele
ansteigende Kennlinie. m.n. schrieb im Beitrag #6965603: > Was ich anders gemacht hätte, wäre die Port-Segementzuodnung und das > Einlesen der Taster. Da ja schon acht zyklisch geschaltete Ausgänge zu > den Digits vorhanden sind, hätte ich damit auch die Taster dekodiert. > Aber egal, es gibt wie
-
Thread
welches avrdude unter win für usbasp
avrdude -u -c usbasp -p usb162 -P usb -B 20.96 -F -U flash:r:"test.hex":a avrdude.exe: error at C:\avrDude\avrdude.conf:370: programmer type xbee not found avrdude.exe: error reading system wide configuration file "C:\avrDude\avrdude.conf" [/code] ein usb capture mit bushound zeigt keine usbrequests
schrieb im Beitrag #6958696: > Welche sind das? > > Ich frage, weil mir noch keine Probleme an USB3 Port aufgefallen sind. Es funktioniert problemlos sobald ein Hub dazwischen geschaltet ist. Wenn der Dongle aber direkt an einem Root Port hängt vielleicht sogar an einem Superspeed Port wird nicht immer
-
Thread
AVR-Studio/C: Wie überträgt man Variablen von einer Funktion in die andere?
i_verdoppeln (i); // Aufruf der i_verdoppeln-Funktion PORTC = i; // den Wert von i auf Port C ausgeben, hier i = 4 } return 0; [/c] Das AVR-Studio (GCC) kann, glaube ich, C, C++ und irgendwelche Sondersachen. (ist C nicht sowieso Teilmenge von Cpp?)
kai schrieb im Beitrag #6941663: > wie man im AVR-Studio konkret Variablen > von einer Funktion in eine andere überträgt In AVR-Studio kann man keine Variablen übertragen. In AVR-Studio kann man Quelltexte editieren, erzeugen, sichern, Projekte
-
Thread
USB I2C Interface Hardware Software
was auch zum selbst bauen. Also nicht wie bei ELV mit der fertigen Platine wo ein Programmierter AVR Controller drauf ist. Eine Lösung mit AVR Controller ist sicher eine einfache Lösung. Leider gibt es von ELV die Software so nicht einzeln. Wer kennt andere vergleichbare Lösungen. Dachte dabei an Arduino oder Bascom für AVR Controller.
-
Thread
Selbstlernende IR-Fernbedienung gesucht (4 Tasten)
sich nichts. 150Ohm sind mit den Gummistempeln sicher nicht zu erreichen. Ich vermute, dass ein Port des µC dabei ist, sich zu verabschieden. Oder hat das Ding nur 3 Ports und die 4. Taste ist ein Kunstgriff? @Bingo: Besten Dank für den Link, habe ich mal gespeichert. In dem Fall hier scheint
eine IR-Schaltung plus Codierung erfunden. Gut möglich, dass die Firmware einen Fehler hat und der Port PB1 (MISO/INT0/AIN1) hinter Pin 6 nicht richtig initalisiert ist. Denn eine Taste der FB hat ab neu nur sporadisch funktioniert. Wegen dem hohen Strom auch gut möglich, dass der Port eine Macke hat.
-
Thread
Atmega hängt sich auf
Funktioniert alles auch soweit. Zusätzlich hatte ich auch schon ein Modul geschrieben, mit dem ich Buttons einlese. Dieses Button Modul habe ich x Fach in Verwendung und bisher nie Probleme gehabt und auch nichts geändert. Drückt man nun einen solchen Button, hängt sich mein Programm auf. Ich kann den Fehlerfall
. Der Debugger nimmt mir diese Arbeit ab. Wenn ich den Debugger nicht verwenden kann (passiert bei AVR oft) gebe ich den Inhalt von Variablen und Auführungs-Markern seriell aus und schreibe sie mit dem PC in eine Datei. Wenn der serielle Port belegt ist, benutze ich einen I/O Pin mit Soft-UART (nur Ausgabe
-
Thread
Welcher IC für Selbsthalteschaltung, Verriegelung und Löschen?
Ah, cool. So habe ich das nicht verstanden. Ich werde mich da mal einlesen.
AD%90%E2%AD%90%E2%AD%90%E2%AD%90-Jumper-Breadboard-Arduino/dp/B078JGQKWP > isp programmer pololu Avr scheint wohl gut zu sein. Ja der ist ok.
-
Thread
AVR-Debugging: Speicherstelle überwachen
Anton schrieb im Beitrag #6880237: > welche Möglichkeiten gibt es beim AVR-Debugging, eine konkrete > Speicherstelle zu überwachen Welcher AVR mit welcher Toolchain? Ohne genauere Definition hier ein paar Suchbegriffe: https://onlinedocs.microchip.com/pr/GUID-ECD8A826
Möglichkeitspotential. Deswegen kann man eigentlich nur herumstochern, und herumprojizieren. http://www.avr-asm-tutorial.net/avr_sim/index_de.html https://github.com/SilverBut/avr_helper
-
Thread
ATMega16 mehrere Taster an INT0
richtig. Alle Taster springen in das gleiche Interrupt und im Interrupt musst du dann den Eingangs-Port einlesen und bei Bedarf maskieren. Am besten einfach den Port in ein Byte schreiben und dann kannst du in deiner Main, wo dann die Auswertung stattfindet, auf den richtigen Taster maskieren. Dann hast
: > Alle Taster springen in das gleiche Interrupt und im Interrupt musst du > dann den Eingangs-Port einlesen und bei Bedarf maskieren. Am besten > einfach den Port in ein Byte schreiben und dann kannst du in deiner > Main, wo dann die Auswertung stattfindet, auf den richtigen Taster > maskieren
-
Thread
Interface Parallel Port Drucker
und dann druckte der Drucker die Zeile? Ich weiß zwar grundsätzlich wie bei IBM Pc der Parallel Port angesteuert wurde. Habe aber keine Infos wie das Protokoll beim Drucken war. Könnte ich also in der Theorie, die parallelen Daten mit einem AVR einlesen und dann einfach auf die serielle Schnittstelle
M. schrieb im Beitrag #6867733: > Könnte ich also in der Theorie, die parallelen Daten mit einem AVR > einlesen und dann einfach auf die serielle Schnittstelle kopieren und > bekommen den Stream der Ascii Zeichen ausgegeben um ihn in einem > Terminal Programm am PC anzuzeigen? https://www.i8086
-
Thread
LCD verliert Zeichen
über den MC Bus über diese Distanz anzusteuern ist zu schnell. Ich würde die Steuerleitungen über Port IO per SW emulieren. Notfalls könnte man die Leitungen mit Optokoppler potentialtrennen.
Datenausgaben schlicht zu lang. Oder dein Controller läuft mit dem falschen, zu niedrigen Takt. Beim AVR wird gern mal die DIV8 Fuse vergessen, dann läuft der Controller 8 mal langsamer.
-
Thread
mehrere Millis()
übersichtlich ist dann PORTA = (1<<PA0)|(1<<PA2)|(1<<PA5); Diese Befehle setzen alle 8 Bit des Ports, will man nur die drei setzen und die anderen unbeeinflusst lassen, dann muss man schreiben PORTA |= (1<<PA0)|(1<<PA2)|(1<<PA5);
HildeK schrieb im Beitrag #6858961: > Diese Befehle setzen alle 8 Bit des Ports Schlecht ausgedrückt. Ich wollte sagen, es wird der ganze Port beeinflusst, gesetzt werden nur 0, 2 und 5 - die anderen aber zurückgesetzt!
-
Thread
Wechselrichter Hoymiles HM-xxxx 2,4 GhZ Nordic Protokoll?
PV's ist die UDC 37-45V. Ich bin mir sicher dass die Spalte C die MPPT sind: 0xB6/0xB7 > MPPT1 ,2 ports nicht angeschlossen 0xB8/0xB9 > MPPT2 ,2 ports mit PV belegt ansonsten bin ich leider nicht weiter gekommen, muss mal pausieren ;-)
[11] = reflux_power * 100 / (EVERY_PORT_POWER * 10 * Dtu3Detail.Property.PortNum); //Prozentsatz der Leistungsbegrenzung temp_dat[12] = reflux_power >> 8; //Hohe 8-Bit-Leistungsbegrenzung temp_dat[13] = reflux_power & 0x00ff
-
Thread
Neu hier und Anfängerfragen bezüglich Programmspeicher
Beitrag #6835877: > Ist es möglich von externen Speichern Code auszuführen? Bei den allermeisten AVR Modellen: nein
willst und wie Du mit 64K Adressraum 100K + xxx Variablen verwalten willst. 100K Daten mit einer 8bit AVR MCU durchzuackern und zu manipulieren ist so aufregend schnell wie Lack beim Trocknen zuzusehen. Du willst zwar I²C, SPI und so ein Gedöhns, aber wenn es darum geht mit I²C einen Port Expander anzusprechen
-
Thread
Einen Softcore (AVR) an andere FPGA anpassen?
ein IO Port und JTAG zum Programmieren funktioniert und sonst nichts.
versuche ich jetzt gerade zu implementieren. Denn dieser funktionierte im Repositorie nicht. Also PortB bis PortF, inclusive tongeln über set PIN sowie der Uart funktionieren schon.
-
Thread
Attiny85, suche Möglichkeit zur Kommuikation/Daten auslesen
um direkt an eine serielle SS des PCs zu gehen. Das geht auch mit dem Tinyx5. - parallel an den Ports (beim Tinyx5 hat man dann leider nur 5 Bit) Ich hab mir mal mit einer dreistelligen Anzeige und einem Mega8 eine Hilfe geschaffen, die mir parallel ausgegebene Daten eines µC-Ports anzeigt; wahlweise
dass keine ungenutzten Variablen wegoptimiert werden und die Größe/Anordnung bei der Übernahme von AVR zu AVR unverändert erhalten bleibt [c] struct EepData { uint16_t sollwert; uint8_t oscal; float aref; }; // in einer Funktion dann: uint16_t sollwert = eeprom_read_word(offsetof
-
Thread
Empfehlung Tutorial PIC16 (in C) ?
empfehlen? Deutsch oder Englisch ist egal, Video oder schriftlich auch. Es sollte vom Ansteuern von Ports beginnen und auch PWM, I2C, Interrrupts umfassen. Edit: Das genaue Modell ist PIC16F1829, falls das noch wichtig sein sollte.
sind da halt immer Read-Modify-Write-Befehle, daher das Latch, auf dass das Port-Register NIEMALS schreiben kann.
-
Thread
Drehgeber an Arduino, external interrupt ISR wird doppelt ausgeführt
versetze signale. von signal a kann man sich die drehrichtung herleiten und signal b kann man zum einlesen verwenden daher habe ich es clk genannt was wäre den die korrekte bezeichnung?
erfaßt werden Was??? Vollverpeilt?! Jeder sollte wissen, dass dies entweder gleichzeitig (ein Port) geschieht oder mit 2-4 Maschinenzyklen abgetan ist! 8-O
-
Thread
Umstieg von Windows auf Linux?
Manfre schrieb im Beitrag #6806842: > Meine Anwendungen sind > ziemlich einfach: 8-Bit AVR- und STM32-Programmierung, Raspberry Pi > (Python, Lua, etc.), FireFox, Thunderbird, LibreOffice, etc. Zu AVR und STM32 kann ich nichts sagen, aber die anderen Sachen gibt's alles für Linux.
musste man noch nie selbst kompilieren. Du meintest > vielleicht Gentoo? Wie gesagt: einfach mal einlesen und gucken, wie was > zusammenhängt. Gentoo kenne ich nicht weiter. Mit welchem Paketmanager installierst Du denn bei Slackware? einfach mal einlesen: https://docs.slackware.com/howtos:slackware_admin
-
Thread
Ds18B20 Zeigt zu höhe Werte
I/O Funktionen sehen so aus. [c] void ds_out(){ DS_DDR |= (1 << DS_PIN); DS_PORT |= (1 << DS_PIN); } void ds_in(){ DS_DDR &= ~(1 << DS_PIN); DS_PORT |= (1 << DS_PIN); } [/c]
und dort funktioniert es (angeblich). Dieselbe Taktfrequenz ? Auf der einen Seite gibt es DS_PORT, auf der anderen PINC, ist DS_PORT auch PORTC, oder geändert ? (scheiss Definitionen).
-
Thread
Attiny85 anfänger
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial
https://www.mikrocontroller.net/articles/Hauptseite#AVR-Tutorial
-
Thread
AVR128DB mir 3-wire SPI
Hallo lieber Microcontrollercontroller, Ich möchte mit einem AVR128DB48 eine RTC ansteuern. Um genau zu sein die RV-8063-C7 von Microcrystal. Mein Problem ist, dass diese RTC nur 3 Leitungen für SPI hat: SCL, SDIO und CE. Im Datenblatt vom AVR128DB ist auf
noch das https://www.mikrocontroller.net/topic/140380 > gefunden, ist das alles, einfach MOSI vom AVR an SDIO der RTC ? Wenn du niemals Daten von der RTC lesen willst, ja, dann ist das so einfach. Wenn du MISO am AVR nicht beschaltest, wie sollten denn Daten zurück zum AVR kommen? > Das Internet
-
Thread
ATmega 328PB Taster einlesen
Hilfe! Wo ist denn mein Fehler Das mein aktueller Code: [c] #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <stdio.h> #define PERIODE_TASK1_10MS 400 // for 4s task #define PERIODE_TASK2_10MS 5 // for 50ms task volatile char gTime1 = 0; volatile char
Ereignisbit, was dann die Mainloop abfragen kann. Der Einfachheit halber mache ich das für einen ganzen Port parallel (vertical Counter), d.h. bis zu 8 Tasten.
-
Thread
Was ist bzw. war Atmel QTouch?
r19, REG( DDR, SNSK1 ) and r19, r25 out REG( DDR, SNSK1 ), r19 in r19, REG( PORT, SNS1 ) #if (_POWER_OPTIMIZATION_ == 1) sts temp1, r19 #endif or r19, p_1 out REG( PORT, SNS1 ), r19 in r19, REG( PORT, SNSK1 ) and r19, r25 out REG( PORT, SNSK1
sondern ein > Bug oder Sparmaßnhmen im Multiplexer diese Sache bewirkt. Mir scheint, bei neueren AVR ist tatsächlich ein (undokumentierter) Teil in der HW abgebildet - aus Kompatibilitätsgründen hat man für ältere AVR diese Funktionalität mit der "ursprünglichen" Lib realisiert.
-
Thread
Analog und Digital auf einer PCB Brauche hilfe bei zwei/drei letzten Problemen
im Beitrag #6745927: > Was meinst du mit AVCC und VCC nicht durch L entkoppelt? Bei PWM werden Ports umgeschaltet. Dabei fliessen immer kurz Umladeströme. Die machen VCC unsauber. Man kann diesen Ripple etwas von AVCC fernhalten indem man eine Spule von 10uH zwischen VCC und AVCC legt. Siehe Bild
kommt aber das 32 CH PWM Board...Dieses arbeitet mit einem ATMega128A und 32 Software PWMs.. (Der AVR-GCC Tutorial Software PWM Code auf 32CH erweitert) Da ich hier die 32 PWMs erzeugen muss.. haben wir eine PWM von 100Hz... bis 16Khz ist es hörbar, oder? Kann es auch daran liegen? Also:
-
Thread
Arduino: abwechselnde Verwendung von A4/A5 als analoger Input und I2C
schrieb im Beitrag #6745444: > Anbei mal der Schaltplan. 2 Taster pro analog-Input http://www.avr-asm-tutorial.net/avr_de/apps/tasten_schalter_adc/tasten/tasten.html Mach das halt so, dann hast Du die Analogports frei.
Tastendrücke auswerten kann und extrem zuverlässig funktioniert. Es gibt übrigens bei NXP I2C Port-Expander mit bis zu 40 IO Funktionen als 5 Byte-Ports organisiert. (PCA9698) Sind nur meine bisherigen Erfahrungen. Jeder sieht das natürlich anders und man braucht sich nicht darüber zu streiten
-
Thread
Parallele Reedkontakte mit Toggle
IOs des ESP sind demnach nicht das Problem :) Soweit ich das gerade Überblicke, macht ein Port-Expander an Pin INT genau das, was ich für den Reset des ESP brauche. Die Status der einzelnen Eingänge könnte ich dann über I2C einlesen, richtig? Danke für den Hinweis @c-hater https://www.mikrocontroller.net
schalten. Florian W. schrieb im Beitrag #6751369: > Soweit ich das gerade Überblicke, macht ein Port-Expander an Pin INT > genau das, was ich für den Reset des ESP brauche. Die Status der > einzelnen Eingänge könnte ich dann über I2C einlesen, richtig? > https://www.mikrocontroller.net/articles/
-
Thread
ADC Messung mit dem Attiny 841
(1<<TWCMD1); } } } } int main(void) { DDRA=0b00000011; // Port A auf Ausgang schalten PORTA=0b00000011; // Port A auf aus DDRB=0b00000011; // Port A auf Ausgang schalten PORTB=0b00000011; // Port A auf aus I2C_init(); while(1)
immer - einmal einlesen ist Murks
-
Thread
PINx-Register
Gruppen, die maximal so lang sind, wie ein Register des AVRs, also 8 Bit, aufgeteilt. Es gibt DDR/PORT/PINB, DDR/PORT/PINC und DDR/PORT/PIND. Von diesen ist jedoch nur DDR/PORT/PIND 8 Bit lang.
Weitere Basics findest du hier: [[Kategorie:Avr-gcc_Tutorial]]