-
Thread
Schalter mit PC-Anbindung für Simulator
Netz unzählige Projekte. Entweder als HID Tastatur oder Gamecontroller. Hatte damals für meinen F16 Simulator mehrere Boards gebaut welche mit Tastern, Schaltern, Potis und Drehencoder funktionierten.
Ich muss mal schauen, habe zu Hause bestimmt noch sämtliche Unterlagen und Quellcodes für einen ATMega8. Da sind Schalter, Taster, Potis und Encoder implementiert (als UBS-HID Tastatur). Wenn ich heute Abend zu Hause bin schaue ich mal.
-
Thread
malloc und free für zrtos
Ich weiß nicht, wie groß deine Zielplattform ist, aber das Teil steht unter BSD-Lizenz, wenn du eine 16-Bit-Plattform hast, könnte das nachnutzbar sein.
Erste: > for(;usValue < 0x32;){ https://github.com/ykat-UG-haftungsbeschrankt/zrtos/blob/main/cpu/atmega328p.h#L177C2-L177C24 Da frage ich mich doch warum dort ein for zu finden ist.... Die Zweite: > pxTopOfStackTmp[-5] = 0; https://github.com/ykat-UG-haftungsbeschrankt/zrtos/blob/main/cpu/atmega328p.h
-
Thread
GCC v14 Release
Du vergleichst hier auch Äpfel mit Birnen: einmal ein AVR128 und dann einen AtMega 2650. Denn der AVR128 kann rodata-flash-mapping: https://gist.github.com/sprintersb/7e538928f5b481961d31458d2e5a402d Und wenn Du das benutzt: Veit D. schrieb im Beitrag #7664013: > das mag
Option -v gibt. Egal für welchen Controller ich mit der Arduino IDE kompiliere. Ob für Standard ATmega2560 oder den ATmega4809. Beim ATmega4809 ist auch egal ob ich dafür das megaavr Arduino Core Package oder das MegaCoreX Core Package von mcudude verwende. Ist in allen Umgebungen die -v Option aktiv
-
Thread
ATmega328P Funktionsadresse in Register speichern und aufrufen
place * it on first. */ usAddress = ( uint16_t ) pxCode; *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff ); pxTopOfStack--; usAddress >>= 8; *pxTopOfStack = ( StackType_t ) ( usAddress & ( uint16_t ) 0x00ff ); pxTopOfStack--; #if defined(__AVR_3_BYTE_PC__) /* The AVR ATmega2560/ATmega2561 have 256KBytes of program memory and a 17-bit * program counter. When a code address is stored on the stack, it takes 3 bytes * instead of 2 for the other ATmega* chips.
-
Thread
Handlötstation Erfahrungen
ERSA Icon Pico löte ich alles auf "normalen" Platinen. (Keine Motherboards oder IPhone-Platinen mit 16 Lagen) Immer die größtmögliche Spitze nehmen, und nicht die Stecknadelfeine, weil es SMD ist.
ein ausreichend leistungsfähiges Netzteil mit idealerweise 24V: https://github.com/wagiminator/ATmega-Soldering-Station Das Ding funktioniert aber auch mit einem 19V-Netzteil, dann halt mit etwas reduzierter Heizleistung (ca. 60 Watt statt 75 Watt). Solche Netzteile finden sich eigentlich immer
-
Thread
cli() und sei()
Probleme weg. Wo kann da ein Problem auftreten, wenn ein Bytezugriff atomar ist: [c] #define BLEN (16) // z.B. 16 #define BMSK (BLEN-1) // z.B. 16-1 = 15 = binär 1111 typedef struct { volatile unsigned char w; volatile unsigned char r; unsigned char d[BLEN]; } fifotyp;
gerade serielle Routinen, die interruptgesteuert Daten > vom Arduino zum PC schicken sollen, d.h. im ATMEGA8 ... ATmega8 != Cortex-M
-
Thread
Arundoino Analogeingang ruhig bekommen
aber das nimmt Rechenzeit, Wenn man's richtig macht, dann merkt man das noch nicht einmal bei 16e6÷128÷13 = 9615,38 samples per second. (ca. 3% Overhead) Aber die 10bit ADCs sind eigentlich gut genug für stabile Messungen im ±1LSB Bereich. Wenn's noch stabiler sein soll, Eingang hart auf Masse
geringen Ripple bekannt. Als Referenz für den ADC daher denkbar ungeeignet. Die 10 Bit eines AVR (ATmega, ATtiny) sind ansonsten durchaus zu schaffen. Mittelwertbildung im Interrupt kostet auch kaum CPU-Zeit und so schnell kann eh keiner ablesen.
-
Thread
ATMega16 ADC Differentialmessung mit Gain möglich?
Hallo, bin auf eine komische Aussage im Datenblatt gestoßen, wollte mal fragen ob schon mal jemand Probleme damit hatte, da im Datenblatt steht das dies bei der DIP Gehäuseausführung nicht getestet ist. Hatten die vielleicht mal Probleme damit und haben es dann so komisch umschrieben? Wenn ich hier über einen Shunt messe sollte man doch negative als auch positive Ströme messen können, da man ja einfach das Vorzeichen auswerten kann oder?
-
Thread
AVR64EA28: PIT-Interrupt
- dieses Programm lässt eine LED im Sekundenrhythmus blinken, auf einem AVR128DA28, AVR32DD28, AVR16EB28, ATmega4809, auch einigen 'tinyAVR® 1-series', aber nicht auf einem AVR64EA28. Vielleicht könnten Sie es ja bei sich ausprobieren, das wäre toll.
von AVR64EA16 und ATmega4809 zeigt keinen Unterschied, (natürlich) bis auf die Adressen. Über Date-Code 2326URR und 'Silicon-Revision' B2 möchte ich jetzt nicht weiter spekulieren, nur falls Sie das mit Ihrer Version
-
Thread
Computer Maus automatisch drücken
dixi-arduino-sam-d11-usb-stick/ https://www.diamex.de/dxshop/2-x-Ardumex-Stick-Arduino-Nano-kompatibel-mit-ATMega328PB noch kleiner.
LED-Anzeige https://amzn.eu/d/4FpVv8U Oder die Schaltung https://www.ebay.de/itm/404879767611?mkcid=16&mkevt=1&mkrid=707-127634-2357-0&ssspo=0cc4pmwdr8k&sssrc=4429486&ssuid=&var=&widget_ver=artemis&media=COPY Was soll ich nehmen? Das mit den USB Microkontroller ist mir zu Komplex
-
Thread
EA DOGM162 Problem
habe die diversen Beiträge gelesen! Ich wollte bei einem Projekt das genannte Display mit einem ATmega 8 einsetzen und versuche schon seit Tagen die Initialisierung hinzubekommen. Anfangs nur mit Hilfe der Datenblätter vom Display und vom Controller und später mit den diversen Codes im Forum. Allerdings
Tja - ich nehme einen ATmega16 und ein uraltes 2*16 LCD, und es erscheint "HALLO", mit völlig unverändertem Programm.
-
Thread
a Microprocessor for the Revolution -- 6809
rechtzeitig zum x86 umgeschwenkt. Bei der Betreffzeile musste ich zuerst an einem neuen Microchip ATmega 6808 denken. :-) :-) :-)
konnte wie der spezielle AMD9511. Um das in die jüngere Vergangenheit zu übertragen: Ein AVR8 mit 16 MHz ist wohl schneller ;-)
-
Thread
AVRs mit USB?
. Alles, was ich finden kann, ist "AVR Microcontrollers Peripheral Integration" [1], welche nur ATmega8/16/32U2 und ATmega16/32U4 listet. Hinzu kommen DU Devices wie AVR64DU32. Die Frontseite der AVR-LibC v2.1.0 listet unter USB: [pre] at90usb82 at90usb162 at90usb646 at90usb647 at90usb1286 at90usb1287 atmega8u2 atmega16u2 atmega16u4 atmega32u2 atmega32u4 atmega32u6 [/pre] also etwas veraltet. Dann gibt's noch avr-mmcus.def [3], wo man nach RMW suchen kann, weil (einige? alle?) Xmega USB Devices
-
Thread
Das Ende des Z80
https://github.com/MockbaTheBorg/RunCPM Was fehlt ist eine lauffähige Version auf einem Atmega328.
"COPYING" in the distribution directory. RAM: 1024 KByte, 4 KByte YAZEPAGESIZE, 256 PAGES MMU: 16 TABLES, 16 PAGEPOINTERS per TABLE, selected MMU-PAGETABLE: T00 Running '/usr/local/lib/yaze/yaze-cpm3.boot' BOOTSYS - CPM3.SYS, V 1.30 16.01.2015 (c) 2000,2015 by A. Gerlich/Jon Saxton No CP
-
Thread
Welches Smart Home System zum selbst erweitern ?
Elektronik ist eigentlich sehr langlebig; meine Zentrale arbeitet seit 18 Jahren durchgängig (mit ATMega128).
, Netzwerkstack, Web Oberfläche, IOT Funktionen. Wie lange brauchst du um auch nur diesen einen 16A Energiezähler mit WLAN und GUI zu machen? Tipp: Mit nem Atmega wirst du da nicht weit kommen. Deshalb kaufe ich das gerne für ein paar Euro fertig ein. Du wirst nicht lange genug leben um alle Shellys
-
Thread
LED Treiber programmierbar ähnlich wie das DMX Protokoll
Uwe B. schrieb im Beitrag #7645943: > Die Verschaltung der 16 RGB-LEDs wäre interessant Ich sehe 3 Transistoren(Dreifüßler).
Daten permanent speichern kann. Und das alles in einem 8-poligen Gehäuse. Ob das auch mit einem Atmega möglich ist, weiß ich allerdings nicht. Die kenne ich nur vom Namen her.
-
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