-
Thread
Serielle Steuerung für China Buck-Power-Module
nur 65536 je Typ. Und wie die Werte zu interpretieren sind, wenn > komplexere Datentypen als int16_t / uint16_t verwendet werden, erkennt > man auch nur mit Glück. > > Rainer W. schrieb im Beitrag #7704706: >> Dann dreh doch am Knopf und guck, welches Register sich ändert und >> schreibe dann
Log-Output packen. > ... Und wie die Werte zu interpretieren sind, wenn > komplexere Datentypen als int16_t / uint16_t verwendet werden, erkennt > man auch nur mit Glück. Darüber kann man spekulieren, wenn man sieht, wie sich die Registerinhalte mit den angezeigten Werten ändern.
-
Artikel
Forth
min. 13K words FLASH and 32Kbytes external RAM) avrforth von Daniel Kruszyna amforth Forth für AVR Atmega µC (req: nur der Mikrocontroller) Forth-Computer mit ATMega 32 und Videoausgabe - Forumsbeitrag von Christian Berger Vierte Dimension Sonderheft AVR, 2007 Neues von amForth (Erich Waelde). Video und Folien von der Forth Tagung 2011 in Goslar eForth328, eForth für ATMega328 von Dr.C.H. Ting v2.21 mit Dokumentation, 2011 AVR und PIC: FlashForth - ein Forth für PIC18, PIC24/30/33, AVR Atmega Arduni Yún & Raspberry Pi 4th - ein Forth-Compiler für viele Systeme MSP430
-
Thread
Pollin NetIO Hardware-Nachbau
sogar per WLAN anzusprechen. Nicht davon zu reden der Prozessor ist Lichtjahre weiter als der alte atmega. Und das Argument das der Pollinschieber günstig ist zählt nun auch nicht. Die Bords sind auch erschwinglich. https://de.aliexpress.com/item/1005006343964037.html https://www.kincony.com/4g-esp32
weiß ich noch heute von meiner Software und meinen Modulen - das war alles von 2008-2009 also vor 16 Jahren. Da hat sich der Rechner schon 2x samt OS erneuert, die Compiler und Includes und der GCC auch schon mehrfach.
-
Thread
epson rtc72421 zum arduino
also haufenweise Leitungen. Heutige RTCs haben vorzugsweise I2C, SPI oder 1-Wire Anschluß. Der ATmega328 hat kein Interface für externes SRAM, man muß beliebige IO-Pins opfern.
72421_3_man.pdf Aber dazu sind immer noch 8 Pins nötig. Oder man nimmt einen Arduino mit dem Atmega2560/2561, der kann SRAM direkt ansprechen: https://ww1.microchip.com/downloads/en/devicedoc/atmel-2549-8-bit-avr-microcontroller-atmega640-1280-1281-2560-2561_datasheet.pdf Aber der hat auch ausreichend
-
Thread
Atmega - Multiplex-Display-Ansteuerung fehlerhaft
> 1 MHz, wenn der µC mit den üblichen 16MHz läuft 16 Takte für Multiplexing ist wohl ausgeschlossen, zumal in C. Aber meine Vermutung geht ebenfalls in Richtung > ... zu hoch. Natürlich gibt es da Ghosting. Dass nämlich dieses 'TCNT1 =
dass hier ein Autoreload-Modus sinnvoll wäre. Aber darum ging es mir bei den Ausführungen zum Thema "16-Bit-Integer" nicht. Sondern ums Verständnis, dass bei einem (unsigned) 16-Bit Integer eben 65536 exakt das Selbe ist wie 0. Und dass im Falle des Zählers hier eben das 17. Bit genau das Overflow-Flag
-
Artikel
Arduino
werden. Andere Boards. Der Arduino Duemilanove ist der Vorgänger des Arduino Uno. Er besitzt den ATmega168 (seit 2009 328p) statt dem 328 wie beim Uno. Als Konverter verwendet der Duemilianove eine FTDI-Chip anstelle eines 16U2. Sonst ist von der Pin anzahlen und den Maßen des Boards identisch mit denen
Prozessor-Serie Quelltexte zu Arduino - Hard- und Software Open Source Plattform (ISBN 978-3-907857-16-8) Programmbeispiele zu beiden Prozessoren des Arduino Yún: Atheros AR9331 mit Linino (openWRT) & ATmega32u4 Literatur. Claus Kühnel: Arduino - Das umfassende Handbuch, Rheinwerk Verlag, 2020, ISBN 978
-
Thread
Relaisansteuerung mit ESP32 macht mich völlig ratlos
nur einen Wechsler-Kontakt innen, wird aber über jeweils 2 Pins nach aus aussen geführt, weil das 16 A abkann, deswegen gebrückt. Re 1: 40.52.9.012 = 2xUM, Re 2: 40.61.9.012 ist 1xUM. Nein, das RE 1 funktioniert tadellos (in 3 verschiedenen Platinenversionen). Re 2 ist das Problem - aber nur bei
#7699113: > "dicht an Netzspannung oder zwei > Relaiskontakte, einer 220V einer 3V am Arduino" Der Atmega ist mit 5V, Push-Pull-Ausgängen und ohne Funk wesentlich unempfindlicher als der ESP. Da du ja sagst das es nicht am Layout liegen kann, muss es ja der Chip sein... ;)
-
Thread
Frequenzüberwachung ( ohne controller )
und auch die Hardware diese an schalten Hintergrund warum, bei Langzeitanwwendungen steigt der Atmega gerne mal nach 4-5 Monaten aus, alle Timer Überläufe kann man bei der zeit ausschließen, aber Testen ist da auch nicht so einfach, deswegen hatte ich die Hardware Lösung mit eingebaut. Ja und bevor
Lucky schrieb im Beitrag #7694849: > Hintergrund warum, bei Langzeitanwwendungen steigt der Atmega gerne mal > nach 4-5 Monaten aus, alle Timer Überläufe kann man bei der zeit > ausschließen Die Überläufe sind nicht das Problem, sondern daß sie exakt in einer Race-Condition auftreten. Man muß
-
Thread
Does it "matter"?
es schade, dass der Name Arduino jetzt auf beliebige andere Hardware ausgeweitet wird. Aber ein ATmega328 ist heute keine viel preiswertere Hardware mehr als schnelle Controller, das war irgendwann zu erwarten.
Christoph db1uq K. schrieb im Beitrag #7694663: > Aber ein ATmega328 ist heute keine viel > preiswertere Hardware mehr als schnelle Controller, das war irgendwann > zu erwarten. Klar und Arduino ist ja nicht mehr nur AVR. " a 32-bit Arm® Cortex®-M4 and a 16
-
Thread
MSPM0L-Familie als Nachfolger von MSP430
an. UltraLowPower bedeutet, dass die MCU MSPM0L1306 im Betrieb gerade mal 71 µA/MHz verbraucht (Atmega328P 1.5mA), im SHUTDOWN gerade mal 61 nA (Atmega328P 1µA) Die MCU kann aus dem Shutdown innert 3.2µs über IO wieder geweckt werden. In der kleinsten Ausführung benötigt die MCU ca 8mm2 auf dem PCB
LaunchPad anschliessen. Die neuen MSPM0L MCU's sind mit 1 Euro/Stück etwas günstiger als die Atmega328P (1.40 Euro/Stück) und können auch einzel direkt bei TI bestellt werden. Ich habe mir zum Aufbau eines Prototyps selbst ein Pin-Breakout für den MSPM0L1306 in der 16-Pin SOT-23-THN (DYY)-Version
-
Thread
uhrenquelcode
umgewandelt und hier angehängt. Zum grundlegenden Problem wurde schon etwas gesagt: in einen int16_t passen nur Zahlen von 0 bis 65536. Das kann nicht funktionieren, wenn du damit dann 24 x 3600 = 86400 Sekunden pro Tag darin unterbringen willst. Oder viel schlimmer noch, Zahlen bis zu 235959, weil
doch garnicht um ASM versus C. Wenn ich etwas aus dem Chip auslese, ist es doch bei den Atmels ATMega8 hex. Und ich kenn das dann nur so, dass ich es dann automatisch in ASM "übersetzt" bekomme mit einem Disasemblierprogramm. Nur die Extra-Mühe, die man sich dann damit macht, kann man sich sparen
-
Thread
SoC oder µC mit sehr vielen IOs gesucht
Arduino UNO hat sehr viel I/O : 14 digitale ein/ausgaenge Und sehr groszer geschwindigkeit : 16MHz Ich nehme an deine meinung ueber "sehr viel" und "Groszer Schaltgeschindigkeit" lasst sich auch in eine Nummer ausdruecken ? Nicht boese gemeint, nur Zielorientiert... Patrick aus die Niederlaende
Motopick schrieb im Beitrag #7686451: > Silabs C51F020 64 IOs ATmega2560: 86 IOs Viele bevorzugen aber IO-Expander (74HC165, 74HC595, PCF8574/A). Das macht dann das PCB deutlich einfacher, da nicht sämtliche IOs bis zum µC geführt werden müssen. Bzw. reduziert erheblich
-
Thread
Modbus RTU Protokolländerung
nichts mehr machen, weil ein 64 Bit adder + Interrupt mindestens 16 Instruktionen braucht.
Matthias schrieb im Beitrag #7685661: > "Think a little about your problem. > A 16 MHz Arduino executes its fastest instructions in 62.5 ns." > > Das sind irgendwo so um 16 noop Instruktionen pro Mikrosekunde. > > D.h. wenn ich jetzt eine Mikrosekundenauflösung brauche, kann
-
Artikel
AVR 16-Bit-Register
Allgemeines. Speziell bei den 16-Bit-Timern und auch beim ADC ist es bei allen Zugriffen auf Datenregister erforderlich, dass diese Daten synchronisiert sind. Wenn z. B. bei einem 16-Bit-Timer das High-Byte des Zählregisters gelesen
auf diese 16-Bit-Register zu vereinfachen, hat ATMEL in der Application Note AVR072: Accessing 16-bit I/O Registers folgende Makros zur freien Verwendung vorgeschlagen: AVR-Assembler-Makros. Anwendung IAR-C-Makros
-
Thread
LED Modul 1637
Arduino, nur ein Bastelboard. Welcher Controller? Arduino ist doch nur ein Name. Wenn du einen Atmega328 hast oder einen Atmega168, dann kannst du das Teil mit Arduino programmieren. Musst halt nur auf Arduino.cc gucken wie die Pins dort im Original und Arduino heißen. Schaue es dir doch wenigstens
nur ein Bastelboard. > > Welcher Controller? Arduino ist doch nur ein Name. > Wenn du einen Atmega328 hast oder einen Atmega168, dann kannst du das > Teil mit Arduino programmieren. > Musst halt nur auf Arduino.cc gucken wie die Pins dort im Original und > Arduino heißen. > Schaue es dir doch
-
Thread
OPV für Shunt-Messung (100A)
WiFiManager.h> #define PIN_SYS_ADC A1 #define PIN_PV_ADC A0 Adafruit_ADS1115 ads; /* Use this for the 16-bit version */ // Date & Time int day = 0; int month = 0; int year = 0; int hour = 0; int minute = 0; int second = 0; // ADC Data int16_t adc_pv_shunt; int16_t adc_pv_shunt_last; int16_t adc_sys_shunt; int16_t adc_sys_shunt_last; int16_t adc_pv; int16_t adc_pv_last; int16_t adc_sys; int16_t adc_sys_last; float multiplier = 0.0078125F; /* ADS1115 @ +/- 6.144V gain (16-bit results) */ // Timer
-
Artikel
IRMP
Mikrocontroller-Familien lauffähig. AVR ATtiny87, ATtiny167 ATtiny45, ATtiny85 ATtiny44, ATtiny84 ATmega8, ATmega16, ATmega32 ATmega162 ATmega164, ATmega324, ATmega644, ATmega644P, ATmega1284 ATmega88, ATmega88P, ATmega168, ATmega168P, ATmega328P XMega ATXmega128 PIC (CCS- und XC8/C18-Compiler) PIC12F1840
über: Für ATmega8/ATmega16/ATmega32: Für ATmega88/ATmega168/ATmega328: Bei anderen AVR-µCs empfiehlt sich ein Blick ins Datenblatt. Man sollte in diesem Fall nicht vergessen, auch die Interrupt-Routine an den Timer2
-
Thread
Nächster Schritt nach AVR: Empfehlungen gesucht
(Beispielsweise https://www.embedded.com/basics-of-porting-c-code-to-and-between-arm-cpus-from-8-16-bit-mcus-to-cortex-m0/?nab=0 oder https://www.embeddedrelated.com/showthread/comp.arch.embedded/35843-1.php)
der Architektur Harvard vs. Von Neumann. Und mit dem Kostendruck, der viele 8 Bitter nur mit einem 16(nicht 8!)Bit-Adressbus ausgestattet hat.
-
Thread
DMX - kein Empfang
Hallo zusammen, ich bin seit Tagen am verzweifeln. Ich möchte per ATmega644P DMX empfangen (ganzes Uni) und danach UART an den PC senden. Die Verbindung PC <-> MC funktioniert. Allerdings erkennt der MC kein DMX Break und somit empfänger er nichts. Das DMX Pult ist ein
//250kbaud, 8N2 UBRR1H = 0; //UBRR1L = ((16000/4000)-1); //UBRR1 = ((F_CPU)/((250000)*16)-1); //((F_CPU)/((250000)*16)-1); // //UCSR1C = (3<<UCSZ10)|(1<<USBS1); UCSR1C = (1<<USBS1)|(1<<UCSZ12)|(1<<UCSZ10); UCSR1B = (1<<RXEN1)|(1<<RXCIE1); gDmxState= IDLE; uint16
-
Thread
Thermostat Kühlschrank Ersatz durch µC ?
pinnigen µC mit ADC für einen Temp-Sensor nehmen, Ich habe damals für meinen Kühlschrank einen Atmega8 und einen NTC 10k genommen. Das lag noch so rum.
von Loco M. (loco) am/um 16.07.2024 12:14 '...schon gespannt darauf, welches Netzteil...als "langlebige Elektronik"' AW: Die braucht nur ca. 0,13W, (MOC3062M-196063.pdf, Figure 4), PIC mit IntOsci 31kHz, Low-I-LED
-
Thread
ich suchen Raspberry Pi ansteuerbar 32 I/O Relaiskarte ich weiß nicht.
brauchst du nur noch eine Zeitmaschine... Wenns denn unbedingt BASIC sein muss: Arduino mit ATmega2560 und BASCOM.
Nimm 8/16/32 Kanal Relais-Module mit Modbus. Am Controller (Arduino, ESP, Raspberry) einen RS-485-Adapter anschließen und auf der/den Relaisplatinen eine Modbus-Adresse einstellen. z.B. Aliexpress item/4001222753706
-
Thread
Atmega328-Platine, wo hab ich den Fehler?
Die GND-Leitungen von deinem ATmega hängen leider nicht an GND...
Oliver D. schrieb im Beitrag #7680180: > Die GND-Leitungen von deinem ATmega hängen leider nicht an GND Wie das allerdings überhaupt funktionieren soll ist mir ein Rätsel. Und U21 hat tatsächlich auch keine Masseverbindung.
-
Thread
AVR64DD28, mEDBG, Studio 7.0 - Fehler beim Schreiben von Fuses
Ich habe jetzt festgestellt: weder AVR16DD14 noch AVR16EB14 wollen mit dem mEDBG programmiert werden. Es ist Zeit für einen nEDBG.
avrasm] Mit dieser Änderung lässt sich, zumindest bei mir, die Signatur auslesen von ATtiny412, ATmega4809, AVR128DB28, AVR16DD28, AVR32EA28 und AVR16EB14.
-
Thread
Firmware und Platinenlayout als Eagle Datei vom Arduino board
Hallo, ich suche die Firmware vom auf dem Arduino board vorhandenen Atmega16U2, also das Repository, z.B. bei Github und eine Eagle Datei vom Board, am liebsten mit dem ATmega328 in der 16 Pin Version. Wenn Ihr das haben solltet, dann postet es bitte einfach hier. Ich
>ATmega328 in der 16 Pin Version. 28 Pin Version, mein Fehler. LG
-
Thread
Wo ist in meiner Berechnung der Fehler?
Micro-volt gibt eh der ADC meist nicht her. (vorgetäusche Auflösung) Rechnen tut man mit Konstante als int16 +- oder uint16 und ausgeben durch Komma einsetzen als Text.
halt nicht so leicht wartbar. Aber noch effektiver (kleiner und schneller) kann man es nicht rechnen (16 shifts und 6 adds mit 8 Bit).
-
Thread
ATMega328P nicht mehr programmierbar
Fusebits vom anderen Atmega mal lesen und rausschreiben.
> So viele Anschlüsse hat der Attiny10 gar nicht. Schon klar - aber Timos ATmega328P.
-
Artikel
AVR PWM
Auflösung (das Aus-An Verhältnis läßt sich in 256 Stufen einstellen), T/C 1 dagegen hat eine Auflösung von 16 Bit und bietet einige weitere Möglichkeiten. 8 oder 16 Bit ?. Außer der Tatsache, daß die Auflösung bei 16 Bit mit 65536 Stufen um einiges feiner ist, gibt es noch folgende Unterschiede: Er verwendet
Dessen Berechnung mittels AADE Filter Designer soll hier an einem Fallbeispiel erläutert werden. Ein ATmega48 mit 20 MHz Quarz soll mittels 10 Bit "fast PWM" des 16 Bit- Timers 1 ein Stereosignal am Pin OC1A und OC1B ausgeben. Die PWM-Frequenz beträgt somit knapp 20 kHz, nach dem Abtasttheorem sind maximal
-
Thread
Datensalat bei RS 485
einen Denkfehler habe oder wo der Hase im Pfeffer begraben liegt. Vorweg. Ich betreibe einen ATMega328P/ATMega16 erfolgreich mit der UART (RS232 ähnlich) Daten werden auch Sauber in PicoCom dagestellt. Da ich bei meinem nächsten Projekt jedoch nicht abschätzen kann, wieviel MCUs benödigt werden
boolean); // _U2X -> True = einfache Baudrate // False = Doppelte Baudrate begin {$ifdef M16p} if _U2X then begin UBRRL := (F_CPU div (16 * Baud)) - 1; UBRRH := 0; UCSRA := UCSRA or (1 shl U2X); end else begin
-
Thread
Effizienter Running Median
zwischen 3,5,7,9 Samples haben. Für den Rechenzeitbedarf würde ich kleiner gleich 20us auf einem Atmega328 für die Länge 3 und int16_t erwarten.
schrieb im Beitrag #7666540: > Für den Rechenzeitbedarf würde ich kleiner gleich 20us auf einem > Atmega328 für die Länge 3 und int16_t erwarten Das wären mehr als reichliche 320 Taktzyklen bei 16MHz. Da kann man's ja fast in COBOL schreiben.
-
Thread
Ärgernis MPLAB Snap
ähnlich > funktioniert wie bei mir. > Beitrag "Re: Verkauft microchipdirect unprogrammierbare AVR16EB28?" > > Für den Snap wäre: > https://packs.download.microchip.com/#collapse-Microchip-Snap-TP-pdsc Ist das wirklich die Firmware vom Snap? Sind das nicht nur Pakcs etc. für die Unterstützung
Script build number...........343401fe73 Tool pack version ............2.4.1239 Target device ATmega328P found. Device Id Revision = 0x0 (A) Device Id = 0x1e950f The following memory area(s) will be read: configuration memory Read complete
-
Thread
Verständnisfrage Timer1 ATMEGA 328P
S. L. schrieb im Beitrag #7665561: > 'For a 16-bit read, the low byte must be > read before the high byte'. Jetzt bin ich durcheinander. Kann ich jetzt uint16_t wert=ICR1; schreiben oder das LowByte zuerst und dann erst das HighByte?
der Compiler ohne mein zutun Das macht der Compiler für dich, der kennt diese Eigneart bei den 16-bit Registern. Also einfach uint16_t Werte benutzen.