-
Thread
Schnelle Bitmaske in AVR-Assembler
pop ZL .org (PC+$7f) & $ff80 ;damit's an einer 256 Byte-Grenze losgeht bitmask: .db 128,64,32,16,8,4,2,1 ;1 .db 128,64,32,16,8,4,2,1 ;2 . . . .db 128,64,32,16,8,4,2,1 ;32 ;die Tabelle kann ggf. optimiert werden, falls count niemals einen eingeschränkten Wertebereich überschreitet
werden. https://www.c64-wiki.de/wiki/CHRGET
-
Thread
C++ Arduino Grundlagen
=atmega328p -o /tmp/arduino_build_280773/sketch_nov25b.ino.elf /tmp/arduino_build_280773/sketch/sketch_nov25b.ino.cpp.o /tmp/arduino_build_280773/../arduino_cache_246701/core/core_arduino_avr_nano_cpu_atmega328
/libc_replacements.c.o Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_289241/core/libb64/cdecode.c.o Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_289241/core/time.c.o Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_289241/core/libb64/cencode.c.o Zuvor kompilierte
-
Thread
VU Meter mit einem Microprozessor
Frequenzbereiche des Audiosignales auslesen und nicht die Spannungsniveaus. Als Hardware verwende ich einen ATMega64 als Programmiersprache C. Kann mir jemand helfen wie ich das zum Auslesen komme und was ich für eine Hardware zusätzlich benötige. Reicht ein Koppelkondensator? Mit freundlichen Grüßen Sandro
-
Thread
Hausbus-Planung CAN
am gleichen Potential hängen sah ich keinen Sinn isolierte Typen zu nehmen. Ich verwende den ATMega16M1 und wie gesagt den MCP2551, dieser hinkt im Stromverbrauch den neueren Typen auf jeden Fall hinterher, damals war es mir eher wichtig das man diesen an jeder Ecke bekommt. Die Strombelastung ist
einem Basic-Compiler, also mit einer "nicht ganz so schwerer" Programmiersprache ;-). Kann bis zu 64 Koppelrelais ansteuern. http://www.helmutholm.de/CAN-AU~1.JPG Und wer es selber nicht "erbasteln" kann empfehle ich HapCan Guggst Du hier: http://hapcan.com/
-
Thread
Atmega328p ISR Maske ohne Funktion?
Hallo Forum, ich wundere mich gerade über das Verhalten eines Atmega328p, bei dem ich Pin Change Interrupts verwenden will. Wenn ich das Datenblatt richtig lese, kann jeder Pin in einer bestimmten Gruppe den zugehörigen Pin Change Interrupt auslösen. Dazu muss er
bzw. Simulator ... Er schrieb "debugger", und da wüsste ich eben gerne, wie dieser bei einem ATmega328P aussieht.
-
Thread
MSP430 Aufkündigung?
Andreas V. schrieb im Beitrag #5629414: > - Kann (wenn man es braucht) 64 Bit Operationen. Welcher MSP430 kann 64 Bit?
kann je nach Einstellung 32 Bit haben oder 64 Bit haben. Es geht allerdings nicht immer nur um Rechenleistung!
-
Thread
Bus per MISO MOSI
könnte dann der SPI-Master die Wartezeiten dynamisch verlängern. Für neue Projekte sollte man den ATmega128 aber nicht mehr einsetzen, sondern den pinkompatiblen ATmega2561.
Peter D. schrieb im Beitrag #5646809: > sondern den pinkompatiblen ATmega2561. Es wird der ATMegaS128 verwendet weil das Zeug später ca. 400km über dem Erdboden eingesetzt wird. Und da gibt es glaube ich nur den 128-er als S-Variante. Hab mich ehrlich gesagt noch nicht
-
Thread
delay() in Timer-Event ISR (Arduino) Gesperrt
& _BV(TOV0)) && (t < 255)) m++; #endif SREG = oldSREG; return ((m << 8) + t) * (64 / clockCyclesPerMicrosecond()); } void delay(unsigned long ms) { uint32_t start = micros(); while (ms > 0) { yield(); while ( ms > 0 && (micros() - start) >= 1000) { ms-
Dich > daran > > Gruß aus Berlin > Michael Also soll ich in meinem mit 20 MHz getakteten Atmega 40x die Anweisung _NOP(); schreiben anstatt _delay_us(2);? Na glückwunsch, da hat aber jmd. Ahnung wie man sich unübersichtliche Quelltexte bastelt..
-
Thread
Datenbackup bei Watchdog Reset - Atmega
welche Option des Datenbackups im Fehlerfall die bessere ist. Ich habe eine Uhr auf Basis eines Atmega 328p gebaut und programmiert. Programmiert habe ich in C++. C++ einfach um das ganze objektorientiert machen zu können. Da ich die Uhr auch als Wecker benutzen will und der natürlich zuverlässig sein
Am Sinnvollsten nimmst du einen Uhrenbaustein mit einer kleinen Batterie. Die hat auch vielleicht 64 byte Speicher. Der Vorteil .. sie laeuft ab Batterie durch einen Powerunterbruch weiter.
-
Thread
BLDC Startup Algorithmus eines China-ESCs
ich mir einen China-BLDC-Regler des Typs ESC-30A gekauft. Als Mikrocontroller hat dieser einen ATmega8 verbaut. Dieser kann einen BLDC direkt (ohne vorheriges Ausrichten des Rotors oder dergleichen) vom Stillstand aus mit maximalen Drehmoment starten. Das schafft dieser auch, falls ich mit dem Finger
schon einen STM32, um einen Motor zu drehen. Mal sehen was als nächstes kommt. Vielleicht einen Intel x64 mit 16 HT-Kernen?!
-
Thread
uC - kennst du einen, kennst du alle
> heutzutage raten anzufangen? Wenn du schnelle Erfolge brauchst, dann die AVR Serie (z.B. ATmega328P auf Arduino-Nano Board), ansonsten etwas mit ARM Cortex M3 oder M4 drin (z.B. STM32F103C8T6 auf Blue-Pill Board oder STM32F103RBT6 auf Nucleo-64 Board). Wir reden hier von rund 350 Seiten Lesestoff
Chips eben nicht in einem Programmier-Sockel sondern direkt in der > Zielschaltung. Die neueren ATmega4808 brauchen nur eine Leitung zum Programmieren und debuggen (UPDI).
-
Thread
AVR springt aus Subroutine ins Nirvana
mit GCC und Atmel Studio, der Fehler tritt sowohl mit als auch ohne Debugger auf. Hardware ist ein Atmega64A mit JTAG, der über einen ICE Mark 2 angespochen wird. Am Ende von ports_init macht der Debuger den Disassembler auf, und da steht der PC dann auf irgendeiner Adresse, um die herum es seitenweise
Ist der ATmega64A eine Schrumpfversion vom ATmega128? Dann such mal nach einer Compatibility-Fuse für einen ATmega103 oder so. Beim 128er ist die aktiv und führt zu einem falschen Stackpointer mit exakt diesem Fehlerbild
-
Thread
Zu häufige schreiben in den Flash verhindern?
selbst. In der Regel ist dessen EEPROM aber nicht groß genug um den RAM aufzunehmen, Beispiel: Atmega328P hat 2 kB RAM aber nur 1 kB EEPROM. Ginge hier also nur, wenn man nur 1 kB RAM nutzen würde.
den Sprung von "hoch" nach "niedrig" suchst. Dort schreibst du dann weiter. Und wenn du am Ende der 64 Zellen ankommst, dann geht es vorne weiter. Damit reichen die aufsummierten möglichen 32 Mio. Schreibzyklen (bei 64 Zellen und zu speichernden 16-Bit-Werten) ewig und drei Tage.
-
Thread
AVR oder STM32 für Entwicklungsprojekt
Willst Du weiter privat basteln verwende >STM32, brauchst Du es nur für solche Projekte verwende Atmega, in diesem Fall reicht es sogar noch keiner. Atmega 88 z.B.
Gesamtkonzept aus Hardware, Framework und IDE. Schmeißt du alles bis auf die HW weg, ist es nur noch ein ATMega auf nem Board.
-
Thread
uC für 0,20€ CH552 / CH554 von WCH Billig Micro mit USB Funktion, Chip vorstellung
Verwendetes System war übrigens: Version Linux Mint 19 Tara 64-bit Kernel Linux 4.15.0-43-generic x86_64
) = 64 Bytes braucht ein ZLP um das Ende zu erkennen > 64 Bytes ist ein 64 Byte Transfer + Rest Das war auch beim Code von W.S. lange ein Problem.
-
Thread
PID-Regler: Wie schnell ist schnell genug?
mal, langeweile und hab mal mein altes Regelungstechnikwissen ausgepackt und auf nem AVR (konkret: Atmega328P) einen PID-Regler zusammen gestrickt. Als Regelstrecke hab ich einen simplen Tiefpass mit 10kOhm und 100µF aufgebaut, die von einer 8 Bit PWM gespeist wird. Der Regler soll die PWM so regeln,
pid_controller_t; #define KP 8000.0 #define KI 2.0 #define KD 0.4 //Abtastzeit: ADC-Prescaler=64, 13 Zyklen für eine Wandlung und F_CPU = 8 MHz => ca 0.1 ms #define TA 0.0001 uint8_t pid(float sollWert, float istWert, pid_controller_t* controller){ controller->error = sollWert - istWert;
-
Thread
Attiny85 - alles für den Einstieg
einen USASP:https://www.aliexpress.com/item/1pcs-New-USBASP-USBISP-AVR-Programmer-USB-ISP-USB-ASP-ATMEGA8-ATMEGA128-Support-Win7-64K/32582933115.html?spm=2114.search0104.3.2.7ef131dbu253BL&ws_ab_test=searchweb0_0,searchweb201602_5_10320_10065_10068_10547_319_317_10548_10696_5728811_10084_453_454_10083
recht komfortabel. Und auf dem Xplained-Boards ist bereits ein Programmer/Debugger (In Form eines Atmega32U4) drauf.
-
Thread
[V] Halbleiter, Netzteile, Opto, Encoder, Diskret, Relais, Pneumatik, AoIP
1x LMZ22003TZ: 3A Simple Switcher -> 1,50 €/Stk. Halbleiter Speicher: 94x M24C64-RMN6P: I²C EEPROM 64kBit -> 0,15 €/Stk. 27x 29LV040CQI-70G: 4MBit Parallel Flash -> 1,00 €/Stk. 10x 39VF010-70-4C: 1MBit Parallel Flash -> 0,50 €/Stk. 128x M29W320EB
: RS-232 5V 3-Driver/5-Receiver -> 0,25 €/Stk. Halbleiter Speicher: 43x M24C64-RMN6P: I²C EEPROM 64kBit -> 0,15 €/Stk. 27x 29LV040CQI-70G: 4MBit Parallel Flash -> 0,25 €/Stk. 10x 39VF010-70-4C: 1MBit Parallel Flash -> 0,25 €/Stk. 128x M29W320EB
-
Thread
xmega single ADC-Messung
Ich habe kaum Erfahrung mit Xmega, weil ich nur eine einzige Anwendung von ATmega auf Xmega portiert habe. Zufälligerweise hatte ich dort den ADC auch im Single-Shot Verfahren verwendet, allerdings ohne Interrupt. Vielleicht hilft mein Code: [c] #include "ADC.h" #include <avr
Das wundert mich aber. Damit würde ja eine Wandlung ca 250µs dauern. Ich kann mich erinnern einem Atmega88A Wandlungen von ca 30µs realisiert zu haben. Das muss doch irgendwie schneller gehen??
-
Thread
Timerproblem atmega
Hi, ich habe ein Problem mit dem Timer0 vom atmega und hoffe, dass ihr mir weiterhelfen könnt. [code] #define F_CPU 16000000UL #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> int main(void) { DDRB |= (1<<PINB5);
und immer bis nach 0xFF zählen oder nicht? So zählt dieser nur bis OCR0A Ahso, es geht um einen Atmega328
-
Thread
JTAGICE mkII kann nicht verbinden
Hallo, ich versuche seit einigen Tagen eine Verbindung von einem JTAGICE mkII zu erstellen um uC Atmega 644 zu programmieren. Habe viel gegoogelt aber leider bisher keine Lösung gefunden. JTAGICE mkII wurde von Atmel gefunden, aber die Adresse besteht nur aus F, siehe Bild und die Programmierung funktioniert
an dem Rechner in der Hochschule ohne Probleme. Ich arbeite mit: AtmelStudio 7 Windows 10 64 bit. Kann mir jemand helfen und sagen was ich falsch mache. Gruß Stefan
-
Thread
Arduino: Größe eines Pointers
Beitrag #5605119: > AVR-GCC benutzt meines Wissens nach nur 16 Bit. und dann klemmte es als der ATmega2560 und ATmega 1284p kam, es wurd flugs ein drittes Adressbyte nachbestellt! Ich wunderte mich in den Anfangszeiten über keinen Zugriff oberhalb 64K beim m2560, mit dem m1284p lernte ich dann dazu
incremented by three, and the I-bit in SREG is set." Andererseits steht in Kapitel 6.2: "The ATmega1284P Program Counter (PC) is 16 bits wide, thus addressing the 64K program memory locations."
-
Thread
Unkomplizierte Berechnung oder doch schon Gleitkomma Berechnung?
hast, dann würde ich mir bei großen Festkommazahlen nicht wirklich eine kürzere Rechenzeit erwarten. 64-Bit-Ganzzahl will auch auf dem Controller erst mal gehandelt werden...denke ich... Viel Spass und Erfolg. Gruß Rainer
6.91, 6.92, 6.93, 6.94, usw... Rainer V. schrieb im Beitrag #5604244: > 8-Bit-Controller ATMega644P @ 16MHz 5V Lg
-
Thread
[V] ET-AVR JTAG USB
amp; Programmierer - USB-Verbindung Programmieren und debuggen Atmel AVR Microcontroller: ATMega16x: ATMega16, ATMega16L, ATMega162, ATMega162L, ATMega169, ATMega169L, ATMega169V ATMega32x: ATMega32, ATMega32L, ATMega323, ATMega323L ATMega64: ATMega64, ATMega64L ATMega128: ATMega128, ATMega128L AT90CAN128: AT90CAN128 bob88
-
Thread
OLED über Transistor ausschalten
Bei deinem ATmega musst du AVCC an die Spannungsversorgung anschließen. Sonst kommt es zu weiteren irritierenden Fehlfunktionen.
OLED-Reset-pin nach dem Einschalten zu triggern. Ich hab direkt danach (und nach dem Auswachen des ATMega aus dem Ruhezustand) ein [code]display.begin(&Adafruit128x64, OLED_CS, OLED_DC, OLED_RST);[/code] gesendet. Danke für den Hinweis mit AVCC! Das hatte ich in hier einfach in dem Plan vergessen
-
Thread
Attiny84v high-voltage programming
EESAVE = [ ] BODLEVEL = DISABLED CKDIV8 = [ ] CKOUT = [ ] SUT_CKSEL = INTRCOSC_8MHZ_6CK_14CK_64MS_DEFAULT So ein verhalten hatte ich noch nie. Ich habe einen zweiten ATtiny84A, der das Ändern von CKDIV8 problemlos mit macht Kennt das jemand und hat einen Tipp.
PS: Eines der Exemplare ist ein ATmega16A-PU von (1339), zeigt als Signatur FFFFFF, versieht aber ansonsten seit Jahren seinen vorgesehenen Dienst anstandslos.
-
Thread
Arduino Serial.flush Timeout
Timer 5 dafür nehmen. Jetzt muss ich als AVR Nicht-Nutzer "nur" noch rausfinden, wie man auf dem ATMEGA2560 mit Timern arbeitet. Es gibt zwar auch mehrere Arduino Timer Libraries. Wenn ich das aber richtig verstanden habe, nutzen die alle millis - also Polling - und würden sich mit dem Programm aufhängen
Lothar schrieb im Beitrag #5597555: > Serial.flush verwendet aber einen 64 Byte Sendebuffer in Software. Ich meinte mit "Sendebuffer" schon den 64 Byte Sendebuffer Lothar schrieb im Beitrag #5597555: > Also ich habe mal gelernt dass es - egal ob bei PC Programmierung
-
Thread
Der nächste Vergleich
Frage Atmel oder Microchip ja erübrigt hat, was wäre die > nächste Diskussion wert? PIC oder ATmega
Hallo, Amiga oder Atari ST... C64 oder Specki... Gruß aus Berlin Michael
-
Thread
LED Lichterkette an Ringkerntrafo flackert
https://www.pollin.de/p/alu-gehaeuse-raychem-rpg-aluein-98x64x34-mm-460166 und L298 an das Gehäuse schrauben
Ein Arduino Pro Micro bietet mit seinem Timer4 des ATMega32u4 alle möglichkeiten, die ein 494 auch bietet. ich verwette meinen allerwertesten, das Du Dir den aber auch himmeln wirst. ich habe noch keinen TL494 tot bekommen.
-
Thread
Padauk MCU für 0.038 USD aus Taiwan
timer 2 for interrupt at 9600 baud. tm2c = 0x10; // Use CLK (8 Mhz) tm2s = 0x61; // Divide by 64 ~> 125 kHz tm2b = 104; // Divide by 104 ~> 9600 Hz inten = 0x00; __asm enggint __endasm; pac = 0x01; for(;;) { printf("Hello World!\n"); for(unsigned long int i = 0
.@..0..z.r....(| 0150 80 13 80 03 7A 00 48 65 6C 6C 6F 20 57 6F 72 6C |....z.Hello Worl| 0160 64 21 00 -- -- -- -- -- -- -- -- -- -- -- -- -- |d!. | [/code] Das ihx hört auf einer ungerade Addresse auf. Anscheinend wird der String byte- und nicht wortweise abgelegt.
-
Thread
Atmega SRAM Adresse lesen
Hat der (welcher?) ATmega genug RAM für dein Vorhaben?
Stefanus F. schrieb im Beitrag #5584692: > Hat der (welcher?) ATmega genug RAM für dein Vorhaben? Kann wählen zwischen Atmega32 (2kB RAM) und Atmega644 (4kB RAM) Hab bis jetzt aber noch keine Probleme gehabt. Niklas Gürtler schrieb im Beitrag #5584689: > Aha
-
Thread
ATmega128 External Interrupt Problem
spart man sich das nachsehen für jeden AVR µC in der Registerbeschreibung. [c].macro xIn .if @1<64 in @0,@1 .else lds @0,@1 .endif .endmacro .macro xOut .if @0<64 out @0,@1 .else sts @0,@1 .endif .endmacro[/c]
... was sich speziell beim ATmega128 empfiehlt, denn hier ist die Zuordnung doch etwas wirr, so liegt z.B., wie gesehen, EICRB mit 0x3A im I/O-Bereich, EICRA hingegen ist mit 0x6A 'memory mapped'.
-
Thread
Power consumption des 74HC595
eine Überlegung wert. Aber in diesem Fall ist eine Matrix einfacher für's Multiplexen zu verdrahten. 64 einzelne Strippen von 8 x 595 ist etwas ungeschickt. Sofern nur ein 595 benutzt werden soll, ist er mit max. 75 mA nicht so kräftig wie ein ATmega (max. 200 mA über GND bzw. VCC). Ergänzung: ich habe
All pins are usable Attiny 13: All pins are usable Attiny 441/841: All pins are usable ATmega644P/ATmega1284P: All pins are usable LowPower von rocketscream.com */ #include "PinChangeInterrupt.h" #include "LowPower.h" // Choose a valid PinChangeInterrupt pin of your Arduino board
-
Thread
Atmel-ICE 3 mit Atmega2560 Device unable to read
eingestellt und ist scheinbar bis heute noch ein aktuelles Thema. Es geht um: Atmel Studio 7 Windows 10 64Bit Atmel-ICE 3 ISP Connection Device Signatur nicht auslesbar. Folgende Fehlermeldung wird ausgegeben: [c] Timestamp: 2018-10-09 17:27:57.233 Severity: ERROR ComponentId: 20100 StatusCode
Headers aufkommen ist auch nocheinmal das Layout sowie Schaltplan angehängt. Laut Datenblatt des ATMEGA 2560 auf Seite 339 ist das PIN Mapping für serielle Schnittstellen beschrieben. Im Anhang befindet sich der Ausschnit der Seite. Gemessene Spannungen sind 4,98V an dem 5v Pin des Headers. (Denke
-
Thread
FatFS auf Atmega644
Evtl. auf den ATMega1284 ausweichen, dann gibts satte 16kByte RAM.
Stephan B. schrieb im Beitrag #5579953: > Die Library ist nicht für den ATMEGA644 ausgelegt. Deshalb habe ich in > der Datei sd_raw_config.h bei defined Atmega32 den Atmega644 > hinzugefügt. Ich hatte https://www.mikrocontroller.net/articles/AVR_FAT32 empfohlen. Da gibt
-
Thread
AVR Studio 4 Problem mit AVR Toolchain
viel. Auch die probleme mit der 4,19 kann ich bestätigen. Ich habe die Konmbi auch hier unter Win7/64 für ein paar alte Projekte immernoch parat liegen. Gruß aus Berlin Michael
Funktioniert auch moderner: ************************** Auf Win7/64 mit AVRStudio4 - v4.19 - Build 716 und AVR-GCC 8.2.0 for Windows 64 bit von http://blog.zakkemble.net/avr-gcc-builds/ Meine diversen AVR8 Toolchains sind immer in C:\Atmel_Toolchain\AVR8_GCC\...
-
Thread
Gutes JTAG Tutorial gesucht
dokumentiert. Nur hast du dann dein Ziel nicht wirklich erreicht. Denn wenn du einen bestimmten ATmega auslesen kannst, kannst du eben nur diesen ATmega auslesen. Bei STM32 funktioniert das wieder ganz anders, und wenn du ein PC Mainboard testen willst, geht es wieder anders.
for(int i = 0; i < devCount; i++) { int strSize; for(strSize = 0; strSize < 64 && deviceNames[i*64 + strSize] != 0; strSize++); //get real string size devices[i] = new String(deviceNames, i*64, strSize, Charset.forName("US-ASCII")); // Only count the first
-
Thread
Floppy MFM Decoder selber bauen AVR ATmega Assembler Beispiele FDD Diskette
Das schätze ich einfacher ein als neben der Floppy-Dekodierung auch noch eine SD-Karte an einem ATmega zu betreiben. W.S.
0x05 0x02 0x31E5 0x31E5 0x5674 0x5674 0x28C8 0xFE 0x20 0x00 0x06 0x02 0x64B6 0x64B6 0x0A66 0x0A66 0x2AD8 0xFE 0x20 0x00 0x07 0x02 0x5787 0x5787 0xD2C7 0xD2C7 0x2CE8 0xFE 0x20 0x00 0x08 0x02 0x47B9 0x47B9 0xAA7B 0xAA7B 0x2EF8 0xFE
-
Thread
Fuses falsch eingestellt Keine Reaktion mehr vom Controller
geschrotet.. Eingestellt habe ich: Ext. Crystal/Resonator Medium Freq; Start-up-time: 16K CK + 64ms zudem habe ich geändert: Brown-out detection at VCC=4.0V Jetzt kann ich weder Fuses einstellen, noch den Controller programmieren. Habe im Atmega32 die Pinne 12/13 mit einem Quartz versehen
Mit dem internen R/C Oszillator hast du beim ATmega32 folgende Möglichkeiten: 1, 2, 4 oder 8Mhz. Schau ins Datenblatt, Kapitel "System Clock and Clock Options".
-
Thread
Delphi oder Lazarus mit PASCAL
eh zu langsam. Und Drittens brauchten diese > Funktion zuviel Speicher. Dafür gibts aber: Fix64 Fixed point Typ. 64 bit, 8 Bytes. Besteht aus einem 32bit ganzahligen und aus einem 32bit Nachkomma Teil
Wo kann ich denn Freepascal für Atmega's - AVR herunterladen? Ich sehe nur viele andere CPU's.
-
Thread
raw data per json
Die einzige Möglichkeit die Daten base64 codieren !
. Der heißt für mich nun base64...