-
Thread
Divisionen optimieren
ist - z.B. eine binäre Division mit 8 dauert in Software länger als eine Division mit 1024 - von 32 oder 64 gar nicht zu reden...
und solange daran drehen, bis es passt. Wenn man es nicht lassen kann, dann rechnet man mit int32_t. Wer lösungsorientiert programmiert rechnet mit float. Das erledigt ein AVR8 mit 16 MHz in < 100 µs. Die Konstanten für die Umrechnung kann sich der µC selber aus Vin-min und Vin-max errechnen und
-
Thread
PPS5330 Labor-Netzteil hack
// bei der Anzeige Kommastelle (ASCII-Zeichen 46) in result beachten { SPI_wr2(buf[4]+32); SPI_wr2(buf[3]+32); SPI_wr2(buf[1]+32); SPI_wr2(buf[0]+32); } else { SPI_wr2(buf[3]+32); SPI_wr2(buf[2]+32); SPI_wr2(buf[0]+32); SPI_wr2
Rolf D. schrieb im Beitrag #7646206: > Versteh ich jetzt nicht so ganz. Rolf du nutzt doch einen AVR? Dann könntest du doch Peter Danneggers Entprellroutine nutzen. (die funktioniert auch mit einem ESP32, muss halt nur angepasst werden, andere Timer, andere Register.
-
Thread
Frage zu Assembler für meinen Informatikunterricht
Hallo Fabian, hier im Abschnitt "A2 Assemblerprogrammierung" ab S. 32 ist das ganz gut erklärt: http://www.weigu.lu/tutorials/avr_assembler/pdf/MICEL_MODUL_A.pdf Das ganze AVR Assembler Tutorial unter http://www.weigu.lu ist evtl. auch interessant für besonders interessierte
gleichen Kontext auch auf die Verarbeitungsbreite eines Prozessors eingehen und erläutern warum ein 64 Bit Prozessor sich leichter bei der Addition größerer Zahlen anstellt als ein 32 Bit Prozessor. leo schrieb im Beitrag #6321017: > Nimm mal einen Befehlssatz eines modernen 64bit-Prozessor und
-
Thread
atof ungenau
Oder mit 10000 multiplizieren und als integer 32 oder 64 weiterrechnen.
Fritz Fischer schrieb im Beitrag #6314682: > Oder mit 10000 multiplizieren und als integer 32 oder 64 > weiterrechnen. Einen String multiplizieren?
-
Thread
ATMega 32 mit USBasp und Arduino IDE programmieren
System wide configuration file is "C:\Users\fuhrm\AppData\Local\Arduino15\packages\MightyCore\hardware\avr\2.0.5/avrdude.conf" Using Port : usb Using Programmer : usbasp Setting bit clk period : 32.0 AVR Part
16000 Hz avrdude: warning: cannot set sck period. please check for usbasp firmware update. avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e9502 (probably m32) avrdude: NOTE
-
Thread
Timer, Ticks Verständnis
Wenn ich eine Delayfunktion erstelle, [code] //25ms delay_func(100000); status delay_func(uint32 param) { for(uint32 i=0; i<param;) { i++; } return OK; } [code/] so wie ich es verstehe bräuchte ich 100000 Ticks um die 25ms zu überbrücken, wird aber die komplette
(Ist leider nicht immer so eindeutig, gerade bei starken Optimierungen) Im AVR Instruction Set Manual http://ww1.microchip.com/downloads/en/devicedoc/atmel-0856-avr-instruction-set-manual.pdf findet man dann: > 73. LDI – Load Immediate > [...] > Cycles 1 und > 88.
-
Thread
Grundlagen zur parallelen Verarbeitung von hohen Datenmengen
allem, dass du die Datenbusbreite erhöhst. Also anstatt mit 8 bit breite rechnest du dann mit 16, 32, 64,... bit breite. Es ist natürlich selten trivial, deine eigentliche Berechnung zu parallelisieren bzw. sie in einzelne kleine Rechenschritte zu zerlegen und aus diesen kleinen schritten eine Pipeline
: > dass du die Datenbusbreite erhöhst. > Also anstatt mit 8 bit breite rechnest du dann mit 16, 32, 64,... bit > breite. Ja genau. Ich habe beim HMCAD1511 dann 8 LVDS Lanes die mir die Daten mit jeweils 1 GBit/s anliefern. Mit der Frameclock, 1/8 der Samplerate, also 125 MHz bekomme ich dann 64
-
Thread
Wer macht bei Arduino eigentlich die Qualitätssicherung?
das sie auch gut ist. und da ist es doch gut wenn man in den Quellcode schauen kann! z.B. ESP32, lt. Arduino ist es bei der onboard LED -> LED_BUILTIN GPIO5 aber bei meinen GPIO2 ist aber auch egal findet man raus und macht andere defines [c] #if defined(__AVR_ATmega328P__) #define ON_BOARD_LED
#6311995: > Die API ist so gestaltet, dass sie einerseits gut funktioniert, egal ob > ein 8Bit, 32Bit oder 64Bit System gerade vor einem liegt. > Dann ist int der "natürliche" C Datentype. Die meisten Funktionen sind > in C geschrieben, verwenden dieser Logik folgend auch gerne int als > Parameter
-
Thread
Mega328 mit AVR Studio 4.13?
Hallo, mit Win7/64 lief bei mir auch das Studio 4.18 für einige wenige alte ASM und C-Projekte. Da WinAVR-20100110 unter Win10 Pro/64 freiwillig nicht mehr wollte, bin ich auf Studio 4.19 und die AVR Toolchain umgestiegen
Michael U. schrieb im Beitrag #6308096: > Da WinAVR-20100110 unter Win10 Pro/64 freiwillig nicht mehr wollte Was *GENAU* ging denn nicht? Bei mir läuft 4.18(Upd2) unter Win7Pro64 (privat) genauso wie unter Win10Pro64 (Arbeit) völlig problemlos.
-
Thread
Z180SoftSystem
Danke für das Feedback. Ich habe die Version 1.2.1 kurz in folgenden VMs getestet: WinXP 32bit , Win7 64bit , Win10 64bit , Debian Buster 64bit , Mint LMDE 4 64bit und KUbuntu 18.04 64bit.
8168: Kilobyte Drive Capacity 1024: 32 Byte Directory Entries 1024: Checked Directory Entries 256: Records/ Extent 32: Records/ Block 32: Sectors/ Track 6: Reserved Tracks [/code] DPB-Daten für CP/M 2: [code] dpbdat_simhd
-
Thread
PIC Microchip lebt noch?
> von den budget-ARMs (STM32F0 zb) Nicht jeder hat Lust einfache und unkomplizierte Controller durch komplexe ARMs zu ersetzen. Wenn einem 64 byte Register reichen, nimmt man keine 8 k RAM. > Padauk Nicht jeder hat Lust chinesische
oder Atmel > oder ARM arbeitet. Naja ich programmiere beruflich so ziemlich von A-Z, also vom AVR über STM32 bis zu ARM9, Sitara usw. Aber PIC würde ich wenn irgendwie möglich zu vermeiden suchen.
-
Thread
MPLAB X IDE v5.40
"MPASM is a 32-bit Windows application and will not run on 64-bit operating systems. A 64-bit PIC Assembler will be available with the MPLAB XC8 toolchain but will require migration." steht bei mir ;-)
zitter_ned_aso schrieb im Beitrag #6302242: > "MPASM is a 32-bit Windows application and will not run on 64-bit > operating systems. A 64-bit PIC Assembler will be available with the > MPLAB XC8 toolchain but will require migration." > > steht bei mir ;
-
Thread
#01 Dark Side of Code C&P Culture Gesperrt
/649f978224d79947d679612e4bcb326280f4f963#diff-2228e887b64ce2b5b6988c253d21fe48
> Focus. liest sich im Eröffungspost aber komplett anders. Ich denke mal das ist wie beim ESP32.. Wenn ich Geschwindgkeit brauche benutze ich direkt das IDF im Arduino. Das gleiche klappt genauso beim AVR und das wurde in den letzten 10 Jahren bestimmt 1000 mal durchgekaut. Arduino ist auch
-
Thread
FLASH im normalen Addressbereich AVR128DA
Ich arbeite mich jetzt gerade in die neue AVR128DA MCU Familie ein und habe dabei gesehen, dass ein Teil das Flash, nämlich die oberen 32kbyte, in den Adressraum der Daten gemapped ist. Das finde ich natürlich sehr praktisch habe aber noch nicht
ganz einfach: [...] Naja, klar geht das einfach, hat man ja schon immer so gemacht, seitdem es AVR mit mehr als 64k Flash gab. Ist nur nicht das, was der TO wollte, er wollte das Mapping in den SRAM-Bereich benutzen. Für den Zugriff auf konstante Strings bringt das natürlich eher keinen Vorteil
-
Thread
warum braucht Blinkbeispiel 780 byte Flash?
man leicht finden kann (open=offen) wie das gemacht wird. > http://svn.savannah.gnu.org/viewvc/avr-libc/trunk/avr-libc/crt1/gcrt1.S?revision=2519&view=markup Danke für den Link Jörg. avr-libc/crt1/gcrt1.S ist ein asm-file mit einer Vektortabelle. Der erste Befehl könnte ein Jump zum eigentlichen
List-File: https://stackoverflow.com/questions/56844328/how-do-i-generate-an-accurate-listing-file-using-avr-gcc
-
Thread
ATmega2560 PWM.h library
Ich würde mit einem kleineren Vertreter der AVR-Mikrocontroller erste Erfahrungen sammeln, dann ist es übersichtlicher. MfG
erzeugt, dass ein breites Frequenzspektrum liefert, obwohl der ATmega2560 mit dem Prescaler (1, 8, 32, 64, 128, 256) eingeschränkt ist. Gerade das ist die spannende Kunst dahinter. Ich habs mit nem Oszi nachgeprüft, 750Hz 10% -> Stabile 748Hz und 10,18% laut Oszi. Mit Prescale garnicht möglich!
-
Thread
Unterschiede zwischen Emulator und Virtueller Maschine?
unterscheidlich sind, da geht dann nur noch die Emulation aber eben keine Virtualisierung. Kurz IA-32, x86-64 und IA-16 sind alle drei x86.
Virtualisierung und trotzdem nicht die gleiche Architektur. Nano schrieb im Beitrag #6296490: > Kurz IA-32, x86-64 und IA-16 sind alle drei x86. Thumb, Thumb2, ARM32 und ARM64 sind verschiedene Befehlssätze, obwohl ein ARM-Prozessor wahrscheinlich mindestens zwei davon ausführen kann. Ebenso sind IA-16
-
Thread
Potentiometer an Mikrocontrollter
vorhanden, nein. Auch ist "int" oft der effizienteste Datentype. Egal ob ein int jetzt gerade mal 16, 32 oder 64 Bit breit ist. (Ausnahme: 8Bit µC)
begibt dem hilft auch nicht mehr uint64_t oder int64_t, gibts denn schon uint128_t oder gar uint256_t? uint8_t var1=0; uint16_t var2=0; uint32_t var3=0; uint64_t var4=0; uint128_t var5=0; uint256_t var6=0; also ab 64_t meckert der
-
Thread
ATMega 8 programmieren
Also ich versteh nicht warum so viele Leute Probleme mit der Treiberinstallation haben. 3x Win10 (1x32bit, 2x64bit) installiert, Treiber per Hand installiert und Bascom-IDE läuft, und das ohne irgeneine Softwareuntestützung zum Installieren. Das alles mit einem selbstgebauten USB-ASP nach Fischl, selbst
Mit nem FTDI-Chip hat man aber noch keinen funktionierenden AVR-Programmer wie den USBASP.
-
Thread
Arduino Bibliothek - Methoden bzw. Funktionen en Detail erklärt - gesucht
was auch immer. Ich bin schon etwas älter, mein Programmier-Werdegang: HP97, SHARP PC1245 (Basic), C64 (Basic), PC (GW-Basic), Turbo-Pascal 3-6, dBase/Clipper. Du siehst, ich bin DOS-Mensch, aber irgendeinen Atmel AVR..frag mich nicht was, bekomme ich in BASCOM für meine Zwecke auch geregelt. Ein bisschen
Von ihm ist zum Beispiel die Arduino "Time" Library, auch diverser Code für RTCs und eingie STM32 Projekte wie STM32duino.
-
Thread
Serielle Kommunikations µC mit floats oder double
Ich pack (cast) jeweils Int32, Int16, Int8, Char, Float32 .. alles, als Little Endian, auf ein Bytearray und schiebs auf den Transmit Ringbuffer Strings uebertrage ich als Laenge zuerst, dann den String, ohne die Null am Ende.
https://de.wikipedia.org/wiki/IEEE_754 je nachdem welche Genauigkeit du benötigst 32 oder 64bit. oder als ASCII https://de.wikipedia.org/wiki/Wissenschaftliche_Notation zum Probieren https://www.h-schmidt.net/FloatConverter/IEEE754de.html alternativ aus multiplizieren so das
-
Thread
Z80 CPU einer der modernsten CPUs?
Frage wäre dann noch in welchen Geräten oder Systemen werden dann > heute solche Mikrocontroller STM32H7 eingesetzt? Was kostet solch ein > Mikrocontroller? Ein 32bit-Core, 144 Pins und 1 MB Flash-Speicher kosten in Serienstückzahlen unter einem Euro. 8 bit-Controller mit Speichergrößen bis 64kB
gleiche Gerät ebenfalls zu realisieren > gewesen wäre? Ein heutiger kleiner Mikrocontroller von 32 bis 64 Pins ist ja Quasie schon ein ganzer Commodore aus den 80ern.. auf den größeren STM32 kann man schon fast nen Betriebssystem aufsetzen. (Mittelweit hergeholt)
-
Thread
Problem beim Bootloader brennen Atmega4809
number: 00:00:00:00:00:00 Device ID: JTAGICE mkII AVR Part : ATmega4809 Chip Erase delay : 0 us PAGEL : P00 BS2 : P00 RESET disposition
0 0 0 0 0 0x00 0x00 usersig 0 0 0 0 no 64 64 0 0 0 0x00 0x00 flash 0 0 0 0 no 49152 128 0 0 0 0x00 0x00 eeprom 0 0 0 0 no 256 64
-
Thread
AVR mit VScode
ADDITIONAL_DEPENDENCIES:= OUTPUT_FILE_DEP:= ./makedep.mk LIB_DEP+= LINKER_SCRIPT_DEP+= # AVR32/GNU C Compiler ./%.o: .././%.c @echo Building file: $< @echo Invoking: AVR/GNU C Compiler : 4.9.2 $(QUOTE)C:\Program Files (x86)\Atmel\Studio\7.0\toolchain\avr8\avr8-gnu-toolchain\
)" -MT"$(@:%.o=%.d)" -MT"$(@:%.o=%.o)" -o "$@" "$<" @echo Finished building: $< # AVR32/GNU Preprocessing Assembler # AVR32/GNU Assembler ifneq ($(MAKECMDGOALS),clean) ifneq ($(strip $(C_DEPS)),) -include $(C_DEPS) endif endif # Add inputs and outputs from these
-
Thread
I2C Slave Problem Arduino
digitalWrite(zuendung , HIGH); } else { digitalWrite(zuendung , LOW); } if (a2 >= 64) { a2 = a2 - 64; bool rfstatus = HIGH; } else { bool rfstatus = LOW; } if (a2 >= 32) { a2 = a2 - 32; digitalWrite(bremslicht , HIGH); } else
digitalWrite(anlasser , HIGH); } else { digitalWrite(anlasser , LOW); } if (b2 >= 64) { b2 = b2 - 64; bool nachtlichtan = HIGH; } else { bool nachtlichtan = LOW; } if (b2 >= 32) { b2 = b2 - 32; digitalWrite(standlicht , HIGH); digitalWrite
-
Thread
Anfängerin sucht Hilfe beim Aufbau
Paar Zeilen Basic ... komisch, vor ca. 35 Jahren hab ich mit m 64er Basic angefangen ... mit dem Handbuch! Im Netz gibts hunderte Tutorials, die man lesen kann und sollte und die einfache Aufgabenstellung ist wohl auch genau dazu gedacht den Leuten das selbst lernen
Fläschchen, der kleinen Flasche. Würdest Du die Frage ernst meinen, hättest Du G* nach Olimexino-32u4 befragt und die Erkenntnis gewonnen, dass das ein Arduino-Clone ist. Wird sich vermutlich über die A*-IDE als Leonardo befingern lassen.
-
Thread
Live-Linux Porteus / Slackware und Firefox
Programmieren lernen und hier für Mikrocontroller gedacht ist. Auf ihr sind die Compiler für ARM, AVR und der SDCC enthalten. Endlich funktioniert (fast) alles, inklusive einer "Unmenge" an Demoprogrammen für diverse Controller (irgendwas fällt einem aber dennoch immer wieder ein) und ich mache mir
seriellen Bootloader geschrieben. Für beide MCS-51 und STM8 gibts eigene Upload-Programme. Für STM32 ist libopencm3 eingerichtet und als Uploadtool gibts ST-Link und STFLASH (sowie ein modifiziertes STFLASH welches einen ATtiny13 als Resetcontroller für STM32 und LPC fungiert). Dazu gibts einen Makefilegenerator
-
Thread
Mikrocontroller mit 9 PWM ausgängen?
mal an, hat USB schon drauf, reichlich PWM Kanäle und kostet nur 5 Euro. http://stefanfrings.de/stm32/stm32f3.html#stm32f3mini Der Shop ist offenbar gerade down, versuche es später nochmal. Die nehmen jedenfalls weniger als 5€ Versandkosten.
Dannegger: https://www.mikrocontroller.net/topic/340449 8 Kanäle bei 12 Bit @ 2kHz BAM auf einem 8MHz AVR: 9% CPU Load, und die 8 Kanäle sind synchron. Bei 8 Bit Auflösung wirds dann wahlweise schneller (16x) -> 32kHz Refreshrate, oder noch weniger Zeitkritisch. Erst recht mit schnellerem Basistakt von
-
Thread
avr-gcc-10 - "volatile deprecated [-Wvolatile]" Warnungen
so gut wie allen Datenblättern von so gut wie allen AVRs. Ausnahme sind die Uralt-Typen Mega8/16/32/64/128, und noch in paar aus der Zeit. Das „unlike most other“ hat da mal irgend ein Atmel-Ingenieur in das Datenblatt des ersten AVRs geschrieben, der mit Single Bit sbi kam, und da alle AVR-Datenblätter
Veit D. schrieb im Beitrag #6264902: > Dein ursprüngliches*p++ += 42; > frisst mein avr-gcc nicht. Komisch, meiner schon: [pre] D:\avr-gcc-10.0.0_2019-12-16_-mingw32>bin\avr-gcc.exe -Wall -Wdeprecated -gdwarf -g3 -O0 t.cpp D:\avr-gcc-10.0.0_2019-12-16_-mingw32>bin\avr-objdump.exe
-
Thread
Neue AVR Familie - AVR-DA
#6257697: > Nur bei den 24 MHz sind sie etwas sparsam geblieben, wenn > die alten XMegas doch schon 32 MHz konnten. Ich betreibe die mit 48, 56 oder 64MHz ;-)
sich viel weniger einschränken muss bei der Auswahl der Teile die man verwendet. Zurück zu den AVR128DA, wenn die Pins von den 28-Pin Gehäuse nicht reichen hat man da eh gelitten. Das 32-Pin TQFP geht noch wenn man ein wenig Übung hat, die Pins haben 0,8 mm Abstände. Bei den 48-Pin und den 64
-
Thread
Azubi Elektro Projekt
ich mal ein Tutorial geschrieben, wo jeder einzelne befehl erklärt ist. Siehe http://stefanfrings.de/avr_workshop/index.html > wir dürfen nicht programmieren Ohne Programm geht das aber nicht. Jedenfalls nicht ohne gigantischen Aufwand.
jemand etwas hätte bitte. Ich habe doch den Schaltplan davon gezeigt! http://stefanfrings.de/avr_workshop/index.html#zufall Harald W. schrieb im Beitrag #6257716: > Das ist das kleinste Problem. Man nimmt einen Zähler, der solange > zählt, wie der Mensch den Knopf drückt. Wenn man loslässt
-
Thread
Visual Basic 6 und Directx7/8
auf einem ESP32 stand-alone realisieren. ;-) Trotzdem viel Spaß mit Deinem Vorhaben. Gruß aus Berlin Michael
. Ist allerdings mit callback-Funktion (AddressOf) https://docs.microsoft.com/en-us/windows/win32/api/_multimedia/
-
Thread
250 kHz PWM -> ¿Filter? -> micro speaker
0x13, 0x15, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 0x20, 0x22, 0x24, 0x26, 0x28, 0x2B, 0x2D, 0x2F, 0x32, 0x34, 0x37, 0x39, 0x3C, 0x3F, 0x41, 0x44, 0x47, 0x4A, 0x4D, 0x4F, 0x52, 0x55, 0x58, 0x5B, 0x5E, 0x61, 0x64, 0x67, 0x6A, 0x6D, 0x70, 0x74, 0x77, 0x7A, 0x7D }; volatile uint8_t
irgendwie phasenstarr miteinander verkoppelt? Nein, der schnelle Timer mit PWM wird von der asynchronen 64 MHz PLL getaktet: > Timer/Counter1 and the prescaler allow running the CPU from any > clock source while the prescaler is operating on the fast 64 MHz > (or 32 MHz in Low Speed Mode) PCK clock in
-
Thread
Weg von Atmel, hin zu arm, stm32.
Ist mir eigentlich auch egal ob Microchip oder ST, habe mich jetzt eben in meinen Recherchen auf stm32 konzentriert. Gibt's zu den SAM auch ein kostenloses HAL? Gibt's da sonst Argumente für SAM und gegen stm32 oder andersherum (aus der Sicht eines Umsteigers von avr). Als programmer/debugger dürfte der
Layer" stört dabei nur und kostet mehr Einarbeitungszeit. > Oder generell gegen mein Vorhaben von avr auf arm umzusteigen? ARM und besonders die STM32 sind heute dermaßen "in", dass das ein Gegenargument sein könnte ;) Andererseits ist Atmel aufgekauft worden... > nehme ich JTAG oder SWD? Die
-
Thread
Absturz bzw. Einfrieren eines Arduino Unos bei einer Klimakammer
nichts. Double auf dem Arduino Uno ist kein double, sondern nur ein IEEE754 Single Precision (binary32), m.a.W. der Typ hat trotzdem nur vier Byte. https://www.arduino.cc/reference/en/language/variables/data-types/double/
dann auch reproduzierbar) oder er bleibt einfach hängen. Mit welcher Frequenz betreibst du deinen AVR? Du könntest mal versuchen dem AVR einen GoldCap als Puffer zu verpassen. Es reicht vielleicht auch einfach eine Diode zu nutzen um die 12V in einen 1000µF Elko fließen zu lassen und von dort dann
-
Thread
Arduino IDE 1.74 <-> 1.89
Uno und Mega. Meine IDE kennt den > noch nicht. Du musst in der Boardverwaltung "Arduino megaAVR Boards" nachinstallieren, aktuell v1.8.5 Wegen avr-gcc 7.3 mit der IDE. Ab IDE v1.8.12 wird das Paket "Arduino AVR Boards" automatisch installiert, aktuell v1.8.2. In älteren IDEs kann man das selbst nachinstallieren und hat den aktuelleren avr-gcc.
-
Thread
IDEs? was nutzt Ihr?
True Studio 9.3 (SPL) für STM32, AVR Studio 4 für AVR - das geht aber nur, weil ich hier noch keine brandneuen AVRs benutze.
EMBITZ,Stm32CubeIDE,Keil, AVR Studio
-
Thread
Große Arrays mit AVR-GCC
https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#Dateien_direkt_im_Flash_einbinden https://www.mikrocontroller.net/articles/Bin%C3%A4re_Daten_zum_Programm_hinzuf%C3%BCgen https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial#RAM Variablenzugriff >64kB