-
Thread
Analoges Projekt auf MC umrüsten. Frage zu PIN Zuweisungen.
einen Anfänger ein nicht zu unterschätzender Vorteil. https://www.reichelt.de/de/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685
Manfred P. schrieb im Beitrag #7874923: > https://www.reichelt.de/de/de/shop/produkt/8-bit-atmega_avr_mikrocontroller_32_kb_20_mhz_pdip-28-119685 Die neuen AVRxxEA z.B. gibts auch in DIP und die können wesentlich mehr (Timer, ADC/DAC u.a. Peripherie, Speicher) zu sogar etwas günstigerem
-
Artikel
Speicher
enable) und /CS (chip select) angeschlossen. Der Datenbus für einen Speicher der Organisation 32k x 8 Bit hat eine Breite von 8 Bit, der Adressbus ist dann 15 Bit breit. Um den Speicher zu aktivieren, muß /CS auf LOW (Masse) gelegt werden. Das kann verwendet werden, um mehrere Speicher- oder andere Bausteine
auf mehrere Zellen oder Bits vermieden werden: Beispielsweise kann eine Uhr eines Arduino Uno mit ATmega328P, die Versorgungsausfall durch Stehenbleiben wie eine mechanische Uhr „überleben“ soll, minutenweise jeweils 1 Bit in einem 60 Bit (8 Byte) großen EEPROM-Abschnitt löschen. Oder sekundenweise in
-
Thread
LCD-Adresse im C-Programm
[/code] Wobei zu mindestens die Ausgabe vom RA8875 nicht stimmt. Die sind laut Datenblatt nur 8-Bit breit. ChatGPT behauptet 8/16Bit.
, wird auch nur dafür Code erzeugt. Hier mal ein Beispiel für ein VFD: [c] #define vfd_data ((u8 volatile xdata*) VFD_ADDR) bit DisplayOut( u8 c ){ u8 i = VFD_MAX_BUSY; // 250 * 8 cycle do{ if( 0 == (*vfd_data & VFD_BUSY)){ *vfd_data = c; // byte to diplay return
-
Thread
Strom Opferanode Warmwasserpuffer messen
Strom, der zwischen Opferanode und Warmwasserspeicher fließt, zu messen. Das Signal soll mit einem ATmega32u4 (Vcc=3,3V) verarbeitet werden. Messungen an der Opferanode haben folgendes Verhalten gezeigt: [code]Leerlaufspannung = 0,17V 1000 Ohm : 0,16V -> 0,16mA 100 Ohm : 0,10V -> 1,0mA 10 Ohm
Somit deutlich mehr als ausreichend. Korrektur: Hatte fälschlicherweise mit 12bit gerechnet. Der ATmega hat aber nur 10bit. Sind somit 0,012mA/LSB.
-
Thread
Arduino Nano Störungen und Durchbrennen
der Oberseite führen. Viele deiner Signale sind viel zu dick. 0,25-0,3mm reichen locker. VIAs 0,6-0,8mm sind OK. [[Richtiges Designen von Platinenlayouts]]
uncharted territory. Details will be added if the situation changes. (UPDATE: this is still true with v8 and v9.)"
-
Thread
Mehrere CAN Teilnehmer
zumindest mit 10. > Aber auch ab dann geht keinerlei Kommunikation mehr. Mal so nebenbei: Mit einem 8-Bit Atmega328 mit 16MHz und einem externen MCP2515 CAN-Controller verarbeite ich 1000 CAN-Botschaften pro Sekunde. Ohne Probleme oder irgendwelche verspäteten Botschaften. Ein STM32 mit internen CAN
mit 10. >> Aber auch ab dann geht keinerlei Kommunikation mehr. > > Mal so nebenbei: Mit einem 8-Bit Atmega328 mit 16MHz und einem externen > MCP2515 CAN-Controller verarbeite ich 1000 CAN-Botschaften pro Sekunde. > Ohne Probleme oder irgendwelche verspäteten Botschaften. > > Ein STM32 mit
-
Thread
Vier Gewinnt für CH32V003 und Linux-Toolchain
Spieleprogramm auf den Chip portiert, der im Ursprung einmal als JavaScript kodiert, danach auf einen ATmega portiert war. Jetzt habe ich das weiter auf eben einen CH32V003 portiert. Hier ging es mir erst einmal nur darum, die "KI" des Spiels auf den Chip zu portieren um zu sehen, wie groß das Compilat
steht. Haben IMHO relativ schoene Peripherie, also adc, uart usw. Interessant ist das sie beim SOT8 mehrere Pins zusammen gebondet haben. Doof ist das sie beim SOT16 das nicht gemacht haben und man so eines der SPI Signale nicht zur Verfuegung hat. :-( Die einzig echte Schwaeche ist IMHO das sie
-
Thread
Suche programmierbare Lüftersteuerung
H. H. schrieb im Beitrag #7871743: > 2, 3 oder 4-Pin? Nach über 5 Stunden und 8 unkonstruktiven Beiträgen kommt die wichtige Frage!
#7871746: > H. H. schrieb im Beitrag #7871743: >> 2, 3 oder 4-Pin? > > Nach über 5 Stunden und 8 unkonstruktiven Beiträgen kommt die wichtige > Frage! 3 Pin
-
Thread
i2C TWI Slaves 7Segment ATmega8 Assembler
Der Hinweis, daß das für einen Atmega8 ist, sollte noch in die Beitragsüberschrift ...
Theoretisch lassen sich, ohne großen Aufwand, *12* 7-Segment Stellen ansteuern. Mehr Pins hat der ATmega8 leider nicht.
-
Thread
Neuer ReAVR in Aussicht
ich auch noch zu neu dort. > Ansonsten finde ich, dass der Tiny28 - der erste Tiny mit mehr als 8 > Pins - und der Tiny15, der noch nach den 11/12/28 kam und als erster mit > interner x4 PLL "richtig" schnelle 8bit-PWM ermöglichte, durchaus auch > einer Erwähnung bei den RAM-less AVRs wert sind. Historisch halt, genauso wie AT90S1200 und ATmega103, der dann ziemlich schnell einen ATmega128 als Nachfolger bekam. Dieser wiederum wurde zum „Dauerbrenner“, der wird als ATmega128A sogar zwei Jahrzehnte später noch produziert.
-
Thread
=== GCC v15 ===
size = 6 */ $ avr-gcc-15 getint.c -Os -S -mmcu=atmega8 && grep 'size =' getint.s /* frame size = 4 */ /* stack size = 8 */ $ avr-gcc-15 getint.c -Os -S -mmcu=atmega8 -mlra && grep 'size =' getint.s /* frame size = 0 */ /* stack size = 6 */[/pre] Das schlägt natürlich durch auf die Codegröße: [pre] $ avr-gcc-8 getint.c -Os -c -mmcu=atmega8 && avr-size getint.o text data bss dec hex filename 76 0 0 76 4c getint.o $ avr-gcc-13 getint.c -Os -c -mmcu=atmega8
-
Thread
DCF77 Modul Vergleich
Das Modul wurde, zusammen mit einem ATmega16, aus einem Spannungsregler LP2950 CZ 5.0 versorgt; dieser hatte an seinem Ausgang (die üblichen) 10 uF (Elko) sowie 100 nF. Modulausgang ging direkt auf Port C1 des uC.
Der Takt wird mit beiden Flanken zueinander invertiert ausgewertet. Quelle: Funkschau 1979 Heft 8 ciao gustav
-
Thread
E-Bike legalisieren (PAS+Speed->Gas)
abgibt, die Geschwindigkeit steuern kann. Drei, viet mal treten, "Surrrrr", Nachlauf abwarten =8-9km/h, ect... Ich kenne halt jede schraube, Kratzer und Eigenheit meines Pedelec.
passende Tools und du kannst ihn entsprechend programmieren. Die Beschriftung ist schwer zu lesen: X8M06... (es gibt wohl einen XCM X8M06 ?!?) In der zweiten Zeile dann 1428EB493 oder 1428EB493x?3 Hilft das was? @alle: Können wir aufhören über die Regeln für Pedelecs zu reden? Sooo viele sind
-
Thread
Problem mit Funktion
LedControl) für die Ansteuerung des MAX7219-ICs für die Verwendung in C mit Microchip Studio (µC: ATmega88PA) umgeschrieben. Jetzt habe ich eine Funktion geschrieben, die Daten aus einem 2D-Array auf einer 8x8 LED-Matrix in einer Dauerschlaufe wiedergeben soll. Die Funktionsparameter sind das Zeit-Intervall
einen Compiler gejagt zu haben): [code] // Funktion void display_frames(uint16_t interval, uint8_t start, uint8_t end) { static uint8_t x = 0; static uint32_t previous_ms = 0; if (millis() - previous_millis >= interval) { previous_millis += interval; for (uint8
-
Thread
PicoMon für CH32V003 oder STM32F0xx
Pixelauflösung von 128x128, 160x80, 160x128 und 320x24 mit Schriftstilen in 4 unterschiedlichen Größen: 5x7, 8x8, 10x16 und 12x16 Pixeln. Aus der Kombination von unterschiedlichen Displayauflösungen und Schriftgrößen ergeben sich viele Kombination hinsichtlich der dargestellten Zeichen auf dem Display. Die
4800 Bd verschicken kann (also von allen, getestet habe ich das mit MCS-51, AVR, Padauk PFS154, STM8, STM32 und CH32V003). Zur Demonstration habe ich dem Archiv ein Demoprogramm für AVR ATmega mit eingepackt (bei mir ist das ein abgespeckter Arduino-Nano, dem die Chinesen damals den Mega328p entfernt
-
Thread
Trapez-Ansteuerung von KFZ LEDs
/circuit/circuitjs.html?ctz=CQAgjCAMB0l3BWcAmALNZA2VAOMmB2SBVATlIQJFSqQUhAQFMBaMMAKADcRtr9eqEMhw4ow8LykMYCDgCdBw0UuRpx9SBwAqwgsmHqAzAgMixDIRBlRo5UhwDuesyuT6QRo5igd8Bsh8TANIgnCEDABMmADMAQwBXABsAFxYkpkjJGxh8P0wQoORLUM9TCWj45LSMrOtxXMx8wuUxQM9iitjE1PTM7IboPOd3Ay8fVDhPb19nSYZx6im1IS1nYMMhec3Z6lKVstcLDiyETAYwUjMPS7MQSp6Up0Zzz3CXi6vd0fAvn4O1h83ltSkZ3oD2qgBO0watnpCBAcoT4tGACGJ8AwDpjPJgxD5rBhBsRwPB4LZIGYZLAwEgYIhfDwwKgtgJmUJvBZxJNwOhVoM5M4+NiRDtAXxkSgxJzvupJez+CjnjiDv91KiCnsfMgzlrWl0qr1agNqXl-HqkftdVFutU+nUGrY8kA
-
Artikel
UV-Belichter-Timer mit AVR
maximalen Taktfrequenz des verwendeten Controllers (20 MHz bei den neueren Typen ohne V-Suffix oder z. B. 8 MHz beim ATmega8L) sind grundsätzlich alle Werte möglich. Die Firmware muss dann selbstverständlich angepasst werden (Symbol F_CPU, evtl. erhöhtes Prescaling der Timer 0/1 und 2). Teileliste und Bezugsquellen
Reichelt L1 MICC-100K-02 (s. Anm.) Fastron Reichelt T1 VB 2,8/1/6 Block Reichelt U1 ATmega48-20PU Atmel/Microchip Reichelt U2 LF50CV ST Microelectronics Reichelt U3 TSOP31236 Vishay Reichelt Y1 (4 MHz, HC49U-S, C L =20 pF) (?) Reichelt Schaltplan und Layout (KiCad
-
Thread
AVR ATtiny Serie 1: Input Capture TCD0
immer ähnlich aufgebaut. Paar Bsp. hintereinander gibts hier. https://forum.arduino.cc/t/nano-every-atmega4809-am-anfang-stand-der-anfang/701185 Viele Zusammenhänge was wie möglich ist mittels Eventsystem kann man übrigens im Headerfile rauslesen. Anhand der Bitkonfigurationen und Aufteilung der Abschnitte
Gegen teilweise obszönen Peripherie-Benennungs-Wallungen bei anderen Architekturen ist das bei den AVR8 doch immerhin noch wenigstens halbwegs konsistent und einheitlich. Gegenüber dem doch mitunter recht heftigen Wildwuchs bei den Classic-Teilen (vor allem bei den Tinys) ist es bei den modernen auf jeden
-
Thread
Wettkampf Opa(MOS6502) gegen Frischling(ATmega)
einfache und geradlinige Befehlssätze. - **AVR ATmega32u4 (2008):** - Taktfrequenz: 16 MHz (oder mehr, abhängig von der Konfiguration). - 8-Bit-Architektur mit erweiterten Funktionen und Optimierungen. - Hardware-Divider und viele Optimierungen
Mairian schrieb im Beitrag #7863593: > - **AVR ATmega32u4 (2008):** > - Taktfrequenz: 16 MHz (oder mehr, abhängig von der Konfiguration). > - 8-Bit-Architektur mit erweiterten Funktionen und Optimierungen. > - Hardware-Divider und viele Optimierungen
-
Thread
ATmega328P nagelneu und dennoch defekt!?
neuem Chip. > Schade. dass die geheim bleiben. > Denn der Auslieferungszustand ist 1MHz und nicht 8 Ich habe beim Boardmanager "DIY ATmega*8" von James Sleeman installiert. - als Board "ATmega328/P/PB" ausgewählt - Processor Version "Atmega328P" - Processor Speed "(8 MHz intern) - Use Bootloader
Norbert schrieb im Beitrag #7861712: > Ich habe beim Boardmanager "DIY ATmega*8" von James Sleeman installiert. > - als Board "ATmega328/P/PB" ausgewählt > - Processor Version "Atmega328P" > - Processor Speed "(8 MHz intern) > - Use Bootloader "No" > - LTO "enabled" >
-
Thread
CH32V003, float wirklich langsam?
Ralph S. schrieb im Beitrag #7861914: > F. schrieb: >> Der ATMega ist eine extrem gut ausgestattete moderne 8-Bit-CPU, die >> recht gut optimiert ist. Das lässt sich der Hersteller aber auch >> bezahlen. Der CH32V003 ist ein absolutes Lowcost-Produkt. Der ATMega328
Ralph S. schrieb im Beitrag #7968242: > ATmega328p / 16 MHz : 18 Sekunden > CH32V003 / 48 MHz : 6.2 Sekunden d.h. der Atmega wäre bei 48MHz fast genauso schnell aber mit 8 statt 32 Bit.
-
Thread
Fehlermeldung: near initialization for
)\n", cmd); #else lcd_waitbusy(); lcd_write(cmd,0); #endif } void lcd_data(uint8_t data) { #ifdef AVRTEST_H printf ("lcd_data(%d)\n", data); #else lcd_waitbusy(); lcd_write(data,1); #endif } [/c] Um auszuschliessen, dass es am Atmega liegt, habe ich einen
flash uint8_t ctrl_key[][8] = { static const uint8_t __flash ctrl_key[][8] = { [/c] Das Ganze funktioniert auch einwandfrei. Eigentlich hatte ich erwartet, dass der Compiler mindestens eine Warnung raus gibt
-
Thread
E-Paper-mäßiger Ersatz für HD44780 Displays
das auch, aber man braucht einen > Bildspeicher. Könnte bei Arduino eng werden ... Mit einem ATmega328 vom Arduino Nano ist man da sicher fehl am Platz, aber der SAM3X8E ARM Cortex-M3 vom Arduino Due sollte das locker gebacken kriegen. Bei 296x128 B/W-Pixeln müsste der Bildinhalt in 5kByte Speicher
Arduino, ESP oder ähnliches > würde denn nötig sein? Dafür kann ein ATtiny85 reichen. Für einen 5x8 Pixel Zeichensatz brauchst du ungefähr 500 Bytes Flash und dann noch ca. 200 Bytes für den Programmcode zum Ausgeben von Text. Der ATtiny85 hat 8 kB Flash. Die Grafik-Bibliothek von Adafruit ist größer
-
Thread
Bitschubserei / Testerei (kein Osterei) in AVR GCC klappt nicht
. Ich denke dafür ist dann das Forum da. - smile Habe auch noch vor Sound entweder mit diesem Atmega32, oder besser mit einem Atmega8 an der Seite vom Atmega32 zu erzeugen. Nur Kling-Klang, oder wilde Töne, evtl. mit Hallkurve, bzw. anschwellen, abschwellen. Das hat in einer Schaltung ein steinalter Pic geschafft, dann sollte es der Atmega8 an der Seite auch schaffen.
-
Thread
STK500 CD ISO Image
Jetzt fehlt mir nur noch die DEMO Datei welche auf dem AT90S8515-8PC aufgespielt wird.
sowie ein paar der HTML Seiten für die Navigation durch den CD-Inhalt). Das Demo-Device (ein ATMEGA8515L) hat folgende Beschriftung: [code] Atmel ATMEGA8515L 8PU 0626 [/code] Der Speicher-Inhalt ist ebenfalls im Anhang (Code-Bereich als HEX Datei und disassembliert, der EEPROM ist leer
-
Thread
AVR ATmega - Hoher Takt ist ungenau
Carsten-Peter C. schrieb im Beitrag #7859599: > Wenn > das CKDIV8aktiv ist und das Signal stimmt, sollte der Oszillator O.K. Ja gut, mit CKDIV8 sieht es bei mir auch sauber aus.
Ich habe ATmega644 und ATmega1284 mit 4, 8, 10, 14,7456, 16 und 20 MHz betrieben. Niemals kam ein Problem mit Quarz. Aber aus anderen Gründen nehme ich gerne statt Quarz einen Oszillator. Bei 5V sind das CFPS-72 und
-
Thread
Fassung für TQFP64
nicht drumherum komme. Machst du dir Sorgen wegen SMD löten? Das Ding hat doch einen Pitch von 0.8mm oder? Das ist riesig, da kannst du sogar Drähte direkt anlöten und es fliegend aufbauen... Das auf ein PCB zu löten ist easy
Niklas G. schrieb im Beitrag #7859246: > Andreas schrieb: > Bei 0.8mm Pitch ist das komplett harmlos. Ich hab direkt mit 0.5mm > angefangen, ging auch problemlos. > Heißluft hilft zwar, ist aber gar nicht nötig. Sehe ich auch so. Ich nehme einen kleinen Lötkolben
-
Thread
Moderne AVR (Nachfolger Atmega und Attiny)
Assembler-Befehlen hat sich doch > überhaupt nix geändert. Am Befehlssatz zwar nur marginal, aber seit dem ATmega8 hat sich sehr viel im Bereich der Peripherie und anderen Aspekten getan, die es in einem Einstiegstutorial abzudecken gilt. Das AVR-Tutorial für den ATmega8 umfasste ja auch Timer, ADC, UART, SPI
Darius schrieb im Beitrag #7859332: > einen ATMega8 usw. bekommt man auch heute noch quasi > neu (NOS) problemfrei (halt zu Freudenhauspreisen, aber man bekommt > sie...). Der ATmega8 wird sogar noch hergestellt (bei Microchip.com als "active"
-
Thread
Bootloader mit Microchip Studio
Wastl schrieb im Beitrag #7857948: > Was ist ein "Atmel 368"? ATmega328[P][PB]
Arduino F. schrieb im Beitrag #7858012: > ATMega16U2 und seine Brüder Nur die mit USB?
-
Thread
Atmega32 - PortPin geht nicht auf High wenn Pullup gesetzt
Einrichten von Ein- und Ausgängen *************** DDRA = 0xff; // PortA Ausgänge DDRB = 0xd8; // PortB Ausgänge // DDRC = 0xdf; // PortC Ausgänge - Bit 5 Eingang - Chip Quitierung DDRC = 0b11011111; // PortC Ausgänge - Bit 5 Eingang - Chip Quitierung DDRD = 0xff; /
Thomas S. schrieb im Beitrag #7857531: > DDRB = 0xd8; // PortB Ausgänge Nach dieser Zeile hast du PB3, PB4, PB6 und PB7 auf Output gesetzt. Da hilft kein Pullup.
-
Thread
Impulsdauer messen - welches Messgerät
PM6671 den wir in der Arbeit noch haben sollte laut Datenblatt Impulsbreite zwischen 100ns und 10^8s messen können (sind das ernsthaft ca. 3 Jahre?). Ansonsten kann normalerweise jedes Digitaloszilloskop mit Messfunktion auch High- und Low-Impulsbreiten messen. D.h. Trigger auf steigende Flanke
Ein 8_kanal Logicanalyzer für 10 EUR bei eBay und Salae Logic Software.
-
Thread
Schaltplan Kontrolle
Programmiert wird der Atmega8 von extern und wird dann in die Schaltung eingesetzt.
Atmega_8.png
-
Thread
LM2596S-3.3 gibt 3.9V raus..
Keine Ahnung von Elektronik, aber Daniel S. schrieb im Beitrag #7854336: > 8 Layer Impendance Controlled PCB machen... Gruss Chregu
das steht doch klar im Datenblatt Seite 19, Fig. 27. Der LM2596-3,3 braucht bei Ue=12,6V und Ia=0,8A eine 68µH-Drossel (L21/L30).
-
Thread
Entwicklerboard i.mx28, wozu verwendbar?
. In "main.h" steht: [c] //#define t_res uchar // define time resolution 8 bit #define t_res uint // define time resolution 16 bit [/c] D.h. man kann die Zählweite leicht ändern: [c] #include <stdint.h> //#define t_res uint8_t // define time resolution 8 bit //#define t_res uint16_t // define time resolution 16 bit #define t_res uint32_t // define time resolution 32 bit //#define t_res uint64_t //