-
Thread
Atmega/Arduino - Input Capture funktioniert nicht
documentation U8G2_SSD1309_128X64_NONAME0_F_4W_HW_SPI u8g2(U8G2_R0, 10, 9, 7); volatile uint16_t rising_capture = 0; volatile uint16_t falling_capture = 0; volatile uint16_t pulse_width = 0; volatile bool rising_edge = true; volatile bool isFinished = false; char buffer[32]; void setup
Also sicherheitshalber noch ein TIFR1 = (1<<ICF1); Ans Ende der ISR. Siehe Datenblatt ATmega 328 16.6.3 Using the Input Capture Unit "Measurement of an external signal’s duty cycle requires that the trigger edge is changed after each capture. Changing the edge sensing must be done as
-
Thread
DC Wattmeter Leistungsmesser selber bauen - Eigenbau - low cost Assembler ATmega SA56
Beispiel ATmega8 und LED Display-Dig-2R_seriel (Reichelt)
ATmega8 und 4HSG21010B26-1W (Pollin)
-
Thread
Problem beim Debug im Simulator im Microchip Studio 7.0
equ lcdprs=portb .equ lcdrs=pb3 .equ lcdpdat=portd .equ lcdbus='1' .def curpos=r23 .def acku=r16 .cseg rjmp start ;.org $13 start: ldi acku,low(ramend) [\avrasm]
Kommentaren mit inhaltlichen Tipps weiter helfen würde. Ich möchte mein Programm zum Laufen bekommen. (ATMEGA8 zur Ansteuerung einer LCD Anzeige in Assembler.)
-
Thread
ATMega328PB-AU Grundschaltung auf Platine
Hallo, ich habe ein kleines, einfaches Projekt in Form einer Lochrasterplatine mit aufgelötetem ATMEga328P StandAlone hier liegen. Ich würde dieses Projekt nun gerne in eine erste Platine überführen. Dafür würde ich anstatt des ATMega328P im DIP Package nun den ATMega328PB-AU im TQFP Package nutzen
Manuel schrieb im Beitrag #7642960: Hallo, mit 16MHz Quarz spielt es keine Rolle ob ATmega328P oder PB. Den Rest wie meine Vorredner. Den Programmieranschluss würde ich auf ISP Standardbelegung abändern. Das ist eine 2x3 Stiftleiste mit anderer Belegung
-
Thread
Akku-Strom mit ATTiny messen
tinyAVR® 2 Family 12-bit differential ADC with Programmable Gain Amplifier from 1x to 16x Input Voltage Range from -100 mV to VDD+100 mV
Vollausschlag schwer zu messen. Ich kenne die ATTiny nicht, habe was kleineres mal mit einem ATmega32/644/1284p gemacht. vor dem Shunt einen Spannungsteiler nach GND an einem AD Eingang nach dem Shunt einen Spannungsteiler nach GND an einem AD Eingang Verstärkung nach Bedarf und Spannungsdifferenz
-
Thread
Atmel JTAG ICE mk-II RSP_ILLEGAL_JTAG_ID
00:00:... Device ID: JTAGICEmkII AVR Part : ATmega1284P Chip Erase delay : 55000 us PAGEL : PD7 BS2 : PA0 RESET disposition : possible
Mein altes ATmega1284-Board geht irgendwie nicht mehr, habe jetzt einen ATmega16 auf die Schnelle gefunden. Der dürfte zwar in den JTAG-Details etwas anders sein, aber das Bild im Großen und Ganzen sollte dasselbe sein
-
Artikel
Forum-Teilnehmer
Andreas Andreas S. 84 9xxxx MSP430, ARM PIC Student Bernhard Bernhard S. 65 990xxx - - - ANALOG ATmega - - Hardw.Ing. Dave David W. 89 88*** 07*** Vn_Nn@gmx.net AVR AVR AVR - Student FPGAküchle YES YES 69 0xxxx XxX XxX XxX FPGA XxX XxX XxX FPGA-Entwickler frankyp Frank Petelka -- 7xxxx n.a. n.a. Elektro
.. ... AVR ... ... Student Sascha_Focus Sascha S. 75 45XXX Elektronik Fast alles PIC (haha), AVR, M16C, R8C Trolle Energieelektroniker _CH_ Christian 86 ..mail.. alles wo Strom rein und rauskommt :-) Industrieelektroniker thomas-hn Thomas F. 80 74xxx - - - Mikrocontroller/Digitaltechnik ATmega AVR MSP430
-
Thread
124Bus Beschreibung verfuegbar?
Microcontroller Specials wie Interrupts etc.! Daher habe ich ein paar Fragen: 1) Kann ich den Code für den ATmega644 auch auf den ATmega328 benutzen? (Natürlich abgesehen vom Speicher den ich noch für den Rest brauche) 2) Muss ich irgendwelche anderen Dinge wie Fuses beachten (setzen)? 3) Ich schätze
Arvid G. schrieb im Beitrag #7717719: > 1) Kann ich den Code für den ATmega644 auch auf den ATmega328 benutzen? > (Natürlich abgesehen vom Speicher den ich noch für den Rest brauche) Die Pinbelegung dürften abweichen. Auch hat Atmel gerne mal die Register- und Bitnamen
-
Thread
[V] Halbleiter, Netzteile, Opto, Diskret, Relais, Buchsen
PCF8591T, Philips: I²C 8Bit ADC und DAC -> 0,50€/Stk. 14x AD5541JR, Analog Devices: 16Bit DAC -> 0,75€/Stk. 221x PCA9515A, NXP: I²C Bus repeater -> 0,25€/Stk. 151x ATMEGA325-16AU, Atmel: AVR -> 0,75€/Stk. 1800x F280048PMQR
-> 0,50€/Stk. 221x PCA9515A, NXP: I²C Bus repeater -> 0,25€/Stk. 141x ATMEGA325-16AU, Atmel: AVR -> 0,75€/Stk. 1800x F280048PMQR, TI: C2000 32-bit MCU, 100MHz -> 1,00€/Stk. Halbleiter Logik: 4475x 74AHCT86PW, Nexperia: Quad 2-input
-
Artikel
AVR-GCC-Tutorial/Exkurs Makefiles
sich in der Dokumentation der avr-libc. Kommentare in Makefiles beginnen mit einem Doppelkreuz ... ATmega8 at work MCU = atmega8 oder MCU = atmega16 oder MCU = at90s8535 oder ... ... Quellcode-Dateien eintragen. Der Name der Quellcodedatei, welche die Funktion main enthält, wird hinter TARGET eingetragen
Datenblatt Fuse-/Lockbits): ---------------- Programming Options (avrdude) ---------------- Beispiel! f. ATmega16 - nicht einfach uebernehmen! Zahlenwerte anhand --------- des Datenblatts nachvollziehen und gegebenenfalls aendern. AVRDUDE_WRITE_LFUSE = -U lfuse:w:0xff:m AVRDUDE_WRITE_HFUSE = -U hfuse:w:0xd8:
-
Thread
AVR Studio / avrdude: Assembler Programm in den Bootloader-Bereich schreiben
Ich will einen eigenen Bootloader schreiben aber wie bekomme ich ihn an die gewünschte Stelle beim ATMEGA328P ?
eingebaut uns so funktioniert es jetzt bei mir: [c] .include "m328Pdef.inc" .org 0x3F00 ldi r16, 0b00000011 out DDRB, r16 ldi r16, 0b00000010 out PORTB, r16 ldi ZH,high(2048) ldi ZL,low (2048) ldi r20, (1<<PGERS) | (1<<SELFPRGEN) call Do_spm ldi r20, (1<<RWWSRE) | (1<<SELFPRGEN)
-
Thread
Drehzahlmesser in Assembler (ATmega328)
mov dr,z4 ;Deine ISR ;und wieder herstellen Pop … pop r16 out SREG,r16 pop r16 reti Versuche Dein Programm in überschaubare Teile zu zerlegen und teste diese gut aus. Ich nutze gerne das Atmel Studio 6.2. mit dem JTAGICE mkII. Da kannst Du mit angeschlossener
Uwe schrieb im Beitrag #7639829: > Das Teil hat > aber einen 16 MHz Quarz on Board (steht ja gross drauf). Der originale UNO hat einen Quarz für den ATMEGA16U2, nicht für den ATMega328P. Der muss mit einem Keramikresonator auskommen. Und der hat eben (meistens
-
Thread
Fragen zur Schaltung
Kerkos oder Elkos. wenn ja, warum ? 2. Würde es etwas bringen, bei dieser Schaltung einen externen 16MHz Quarz anstatt den internen mit 8Mhz zu nutzen, bzw. gäbe es da einen signfikanten Unterschied und wann wäre ein 16MHz Oszillator sinnvoller? Steige da noch nicht ganz durch. Noch etwas: Ist zwar
Verdrahtungsplänen kaum oder gar nicht. > Würde es etwas bringen, bei dieser Schaltung einen externen 16MHz > Quarz anstatt den internen mit 8Mhz zu nutzen, bzw. gäbe es da einen > signfikanten Unterschied und wann wäre ein 16MHz Oszillator sinnvoller? Diese µPs sind schon bei 1 MHz so schnell, dass
-
Artikel
AVR-Tutorial: Stack
Beispielprogramm (AT90S4433) zeigt, wie der Stack dabei beeinflusst wird: Download stack.asm .def temp = r16 ist eine Assemblerdirektive. Diese sagt dem Assembler, dass er überall, wo er „temp“ findet, stattdessen „r16“ einsetzen soll. Das ist oft praktisch, damit man nicht mit den Registernamen durcheinander
(ATmega8: 0x04). Drückt man jetzt nochmal auf F11, springt der Pfeil zum Unterprogramm sub1 . Im RAM erscheint an der Stelle, auf die der Stackpointer vorher zeigte, die Zahl 0x03 (ATmega8: 0x05). Das ist
-
Thread
Arduino Bibliotheken funktionieren nicht beim AVR128DB-Prozessor
schrieb im Beitrag #7633828: > Die explizite Abkündigung ist inzwischen erfolgt für AT89xxxx, ATMEGA16x, ATMEGA32x, ATMEGA48x, ATMEGA644x, ATMEGA85x5L, ATMEGA88, ATMEGA8A, ATTINY13V, ATTINY24, ATTINY44, ATTINY461, ATTINY48, ATTINY84, ATTINY861 and ATTINY88 device families in PDIP.
Beitrag #7633828: >> Die explizite Abkündigung > > ist inzwischen erfolgt für > > AT89xxxx, ATMEGA16x, ATMEGA32x, ATMEGA48x, ATMEGA644x, ATMEGA85x5L, > ATMEGA88, ATMEGA8A, ATTINY13V, ATTINY24, ATTINY44, ATTINY461, ATTINY48, > ATTINY84, ATTINY861 and ATTINY88 device families in PDIP. Viel
-
Thread
AVR __eeprom: Welche Compiler?
Matthias S. schrieb im Beitrag #7624395: > uint16_t ee_DUMMY __attribute__((section(".eeprom"))); Oder kürzer [c]uint16_t ee_DUMMY EEMEM;[/c]
Johann L. schrieb im Beitrag #7624720: > Oder kürzer > uint16_t ee_DUMMY EEMEM; Wenns klappt, umos besser. Das Projekt da oben ist schon etwas älter. Aber jetzt hat der TE beide Varianten, das sollte klappen.
-
Thread
MCP2515 - Serieller Widerstand für AT strip cut crystals
konfiguriere, dass > dann alles läuft. Quarze brauchen deutlich mehr Zeit zum Anschwingen. Z.B. beim ATmega328 werden 16K CK + 14 CK + 65 ms gewartet.
-
Thread
Müll in serieller Übertragung wenn Kondensator am Quarz berührt wird
weiss ja nicht, was da noch aus dem Takt gerät in der Situation! Falls relevant: STM32 und 8MHz / 16MHz
diskrete Lösung. Und sogar noch kleiner: - https://www.mouser.de/ProductDetail/Epson-Timing/SG3225CAN-16.0000M-TJGA6?qs=4qgZ1GHix0VTlLSqPt%2FIPQ%3D%3D
-
Thread
[V] Set: STK 500, Dragon, diverse ATtiny und -mega, passendes Buch, Zubehör
zum bequemen Programmieren verschiedener Megas und Tinys, incl. zehnpoligem Anschlusskabel 3x ATmega328P-Boards nach Art eines Arduino Nano 2x ATtiny85-Boards nach Art eines Digispark 19x ATmega8L 2x ATmega328P 1x ATmega16A (incl. Sockel) 12x ATtiny2313A 6x ATtiny216A 5x ATtiny4313 5x ATtiny13A
-
Thread
Eingangs Schutzschaltung
Ralf F. schrieb im Beitrag #7622370: > R2 = 1,16 K Viel Spaß beim Kaufen. ;-) Nimm bitte nen kleineren (1k), dann gehst Du auch nicht bis ans Ende des nominellen Eingangsspannungsbereichs (der Bereich, in dem der ADC noch nicht in den Überlauf geht
Hallo Marci, die ganz oben erwähnten 1,16k stimmen nicht: der Online Rechner liefert Murks... Hiermit (unbelasteter Spannungsteiler) gerechnet https://www.electronicsplanet.ch/Spannungsteiler/spannungsteiler-berechnen.php bei R2 = 1k
-
Thread
LoRA, Meshtastic, TTN, Helium?
Bei mir läuft's ähnlich wie bei Jürgen. Für Lora auf 868MHz verwende ich Arduino Pro Mini (ATmega328) ohne jeden Schnickschnack und ein LoRa-Modul dazu. Übertragungsprotokoll ist CayenneLPP, das die Werte nochmal schön packt und versorgt werden die Sensoren über Solarzellen (100*60mm, 6V, 100mA
an tatsächlich kritikwürdigen Dingen orientieren. Nichts anderes habe ich gemacht. Für lumpige 16bit Sensordaten ist mir der Protokolloverhead viel zu groß, da ca. 10 mal mehr in der Luft rumschwirren als nötig. Wenn andere das als nicht relevant empfinden akzeptiere ich das und will auch keinen
-
Thread
Atmega32 und MAX7219
Hallo, ich habe leider ein problem mit dem Programieren meines MAX7219 über einen Atmega32. Die Ports lassen sich allesammt beschalten, also auf 0 oder 1 setzen (nachgemessen). Achja angeschlossen sind je 8 7-Segmentanzeigen, die ich auch schon einzeln (mit einem max verbaut
multipliziert wird, wird unnötig extrem viel Rechenleistung eines AVRs verschenkt/vergeudet – bei 16MHz sind es 16 einfache Befehle bei jedem Schleifendurchlauf, die hier immer unnötig ausgeführt werden. Selbst wenn der µC mit seinen maximalen 20MHz laufen, der CLK-Pin ganz normal mit einem Push-Pull-Ausgang
-
Thread
Mikrocontroller AT89S52 flashen
warning: a1 would normally be expected to be a9 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE\avrdude.conf:16252] avrdude warning: a0 would normally be expected to be a8 [E:\Baben\Dokumentation\ELEKTRO\Mikrokontroller\ATmega\AT89S51 flashen\Software\AVRDUDE
weiter oben bei der Firmware angegeben habe? Die Fuse Bits legen u.a. fest woher der Takt für den ATmega8 kommt (alle Details siehe Datenblatt des ATmega8). Vermutlich werden die Fuses bei einem USBasp auf ATmega8 Basis bereits stimmen, falls nicht sollte man die entsprechenden Werte einstellen (das sind
-
Thread
ATMEGA48A Variablen reset nach Interrupt Aufruf.
Hallo, für ein Uniprojekt muss ich einen ATMEGA48A programmieren und habe beim herumprobieren ein Problem. Ich habe einen simples Programm geschrieben bei dem LEDS Leuchten nachdem ein Interrupt ausgeführt wird. Mein Problem ist aber das die LEDs
Habe jetzt mal uint32 und uint16 probiert aber hat keinen Unterschied gemacht.
-
Thread
Alternative BC327 und 337
100 6 1 150 120 13 200 SC71 2SA2127 Si PNP 1 50 50 6 2 150 420 16 200 MP 2SA2127‑AE A2127 Si PNP 1 50 50 6 2 150 420 16 200 TO92 2SA2186 Si PNP 0.9 50 50 6 2 150 420 16 200 NMP 2SA2186‑AN A2186 Si PNP
150 130 63 TO92 BC636‑16 Si PNP 0.8 45 45 5 1 150 130 100 TO92 BC638‑10 Si PNP 0.8 60 60 5 1 150 130 63 TO92 BC638‑16 Si PNP 0.8 60 60 5 1 150 150
-
Thread
Mit Wire.h über I2C auf LCD-Display 1602 zugreifen
Ich habe auch ein 1602-LCD. 2 Zeilen, je 16 Zeichen, es wird mit SPI angesteuert. Daten? mfG fE
[c] #include <LiquidCrystal_I2C.h> LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27, 16 column and 2 rows void setup() { lcd.init(); // initialize the lcd lcd.backlight(); } [/c] Das, was >LiquidCrystal_I2C lcd(0x27, 16, 2); // I2C address 0x27
-
Thread
Alte 6502/Z80-Systeme:Ohne CPU betreibbar zum Batterie-RAM Auslesen?
Jahren bei meinem HP3478A die Abgleichdaten aus dem batteriegepufferten RAM ausgelesen, mittels ATmega16 über die RS232 auf den PC. Es gibt beim HP aber auch einen eleganteren Weg über den GPIB, siehe: https://www.eevblog.com/forum/repair/hp-3478a-how-to-readwrite-cal-sram/ Grüßle, Volker
Jahren bei meinem HP3478A die Abgleichdaten aus dem > batteriegepufferten RAM ausgelesen, mittels ATmega16 über die RS232 auf > den PC. > > Es gibt beim HP aber auch einen eleganteren Weg über den GPIB, siehe: > https://www.eevblog.com/forum/repair/hp-3478a-how-to-readwrite-cal-sram/ Ja, das
-
Thread
AVR-Studio 4.19 und JTAG ICE MK2 unter Windows 11 64 Bit installieren
So schreibe ich immer in main.h: [c] typedef uint8_t u8; typedef int8_t s8; typedef uint16_t u16; typedef int16_t s16; typedef uint32_t u32; typedef int32_t s32; typedef uint64_t u64; typedef int64_t s64; typedef __uint24 u24; typedef __int24 s24; [/c] Es steht entsprechend
u16 = Keyword s16 = Keyword u32 = Keyword s32 = Keyword u64 = Keyword s64 = Keyword u24 = Keyword s24 = Keyword [/code]
-
Thread
Datumsanzeiger
wie https://www.reichelt.de/lcd-7-segment-1x8-h-6-0mm-lcd-7s-8-6-a-p197508.html Mikrocontroller ATmega169 (oder AVR Butterfly Board) und ein passendes Programm schreiben
man waehlt das xx.xx.xx Format, wenn es kein grafik Display sein soll, dann ware das naechste ein 1x16 Typ, dann ginge xx.xx.xxxx https://www.reichelt.de/lcd-modul-1x8-h-10-8mm-ge-gn-m-bel--lcd-pm-1x8-11-a-p197515.html https://www.reichelt.de/lcd-modul-1x16-h-9-7mm-bl-ws-m-bel--lcd-161f-bl-p53940
-
Thread
Zirkulationspumpe Smart machen
dann gleich warmes > Wasser. Bin sehr zufrieden mit der Lösung. Äh das hätte man nicht mit dem ATMEGA eleganter lösen können? Finde ich etwas umständlich, wenn ich trotz Smarthome immer noch manuell eingreifen muß.
dann gleich warmes >> Wasser. Bin sehr zufrieden mit der Lösung. > Äh das hätte man nicht mit dem ATMEGA eleganter lösen können? Finde ich > etwas umständlich, wenn ich trotz Smarthome immer noch manuell > eingreifen muß. Wenn ich das richtig verstehe, hat Gerhard Z. kein Smarthome ;-)
-
Thread
Rückgabewerte von va_list auf einem Arduino Mega2560
richtig zu verstehen für Argumente vom Typ char*, uint16_t und uint8_t und zu erklären, wie sie auf einem Arduino Mega2560 interpretiert werden können? Ich möchte dem Argument keine Info mitgeben, welchen Typ er hat. Im Kern geht es um die Frage: Was steht
Vorgänger ersetzen kann. Und mit den neuen Serien geht dieses Spielchen ja munter weiter. Nur der ATmega328PB ist irgendwie ein Ausreißer, da ist recht viel hinzugekommen.
-
Thread
Hilfe: Von Arduino auf Mikrocontroller (Fernbedienung)
, da der dann nicht > gleich auf die Tastendrücke reagiert. power-saving techniques for the Atmega328P processor: http://www.gammon.com.au/power
Michael B. schrieb im Beitrag #7610567: > Mit 1.8V lauft der ATmega328 nicht mehr mit Quartz. Lt. Datenblatt bei 1,8V sogar bis 4MHz.