-
Thread
MIDI mit AVR erzeugen
Versatz. Da Note-On Messages aus 2 Bytes bestehen, ist das im besten Fall 2 x 10 x 1/31250s = 0.64 Millisekunden. Also nicht wirklich hörbar. Zusätzlich gibts noch die Möglichkeit bei mehreren Noten das Command Byte nur einmal zu senden, damit wird für die Noten nach der ersten Note nur noch 1
Mit 8-Bit-µCs kann man mehr machen, als sich kaum ein Dödel mit einem 32-Bit-Schnurpel bei GHz-Takt vorstellen kann. Aber selbst das uralte MIDI braucht etwas RAM. Nicht nur 128 Byte, auch 1024 Byte sind zu knapp. 10 K wären schon ein Anfang, aber die findeste nun
-
Thread
Fork: avr-libc version 3, für xtiny
Wenn ich demnächst den von dir präferierten Multilib-Umbau mache (einschließlich der Sachen für 64-bit-FP), möchte ich die major version number der avr-libc hochziehen. Es ist zwar streng genommen theoretisch keine API-Änderung damit verbunden (für die wir eigentlich die major # mal vorgesehen hatten
/releases/tag/avr-libc-2_2_0-release https://avrdudes.github.io/avr-libc/
-
Thread
Debuggen AVR DRAGON Variable ?
Frage, und zwar habe ich nachfolgenden Code hier getestet. Jetzt will ich mir im Debugg Mode mit dem AVR Dragon in der Watchlist die Variable [c]int32_t val = 0;[/c] anschauen, geht das Überhaupt ? ich meine, wenn ich wärend ich im Debbug Modus bin und am Encoder drehe ? Denn, wenn ich die Variable
power on state enc_delta = 0; TCCR1B = (1<<WGM12) | (1<<CS11) | (1<<CS10); // CTC, prescaler 64 OCR1A = (uint8_t)(F_CPU / 64.0 * 1e-3 - 0.5); // 1ms TIMSK1 |= 1<<OCIE1A; } ISR( TIMER1_COMPA_vect ) // 1ms for manual movement { int8_t new, diff; new = 0; if( PHASE_A
-
Thread
Quellcode für einfaches Gerät Programmieren lernen
dafür ist aber die Motivation und das Feedback deutlich größer. Ich denke ein guter alter Atmega32 ist für den Anfang super Sehr einfach ´m unendlich viel Lektüre und Libraries in Pascal, basic C etc programmierbar. Wenn Du aber so große Schwierigkeiten hast nimm Mikroe Mikroe Pascal für AVR. Erst
auch PC und ARM Controller programmieren kann. Unterstützt FreePascal STM32?
-
Thread
Lötstation JBC ?
einen Drehknopf haben. Drucktastenbedienung alleine liegt mir nicht wirklich. Display soll ein 128x64 OLED Typ sein. UC wahrscheinlich ein STM32 oder DsPIC da ich mit denen beruflich zu tun habe.
Gerhard O. schrieb im Beitrag #6053595: > Display soll ein 128x64 OLED Typ sein. > UC wahrscheinlich ein STM32 oder DsPIC da ich mit denen beruflich zu tun > habe. Gerhard O. schrieb im Beitrag #6054530: > Wenn es nicht so viel SW Aufwand wäre, dann würde ein
-
Thread
Warum kann der Compiler nicht erkennen, daß Variable in ISR geändert wird?
Annahme ist, daß es kein C-Äquivalent zu C++ std::atomic für > bestimmte embedded-Platformen wie AVR 8bit gibt. Wenn diese falsch ist > bitte mich korrigieren. Du scheinst Google noch nicht gefunden zu haben! Nachholbedarf. Massiv! https://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html
Annahme ist, daß es kein C-Äquivalent zu C++ std::atomic für > bestimmte embedded-Platformen wie AVR 8bit gibt. Wenn diese falsch ist > bitte mich korrigieren. Wenn du den GCC für AVR verwendest gibts immerhin: https://www.nongnu.org/avr-libc/user-manual/group__util__atomic.html Inwieweit
-
Thread
C: Variablen in Bedingungsanweisungen definieren
< Max <= uint16::max(), uint16_t, std::conditional_t<Max <= uint32::max(), uint32_t, uint64_t>>>; [/c] Welche Probleme sollen das sein? size_type bleibt natürlich weiterhin size_t, nur wozu soll ein Container mit weniger als 256 Elementen dessen Größe in einem
uint8 = std::numeric_limits<uint8_t>; > using uint16 = std::numeric_limits<uint16_t>; > using uint32 = std::numeric_limits<uint32_t>; > > template<uint64_t Max, typename = std::enable_if_t<Max >= 0u>> > using smallest_unsigned_t = std::conditional_t< > Max <= uint8::max(), > uint8_t, >
-
Thread
I2C Expander reagiert nicht
Danke für die Info, aber nein es handelt sich um ein ESP32
#6022626: > Dürfte für ihn schwierig werden, Matze. > > mr.Moe schrieb: >> es handelt sich um ein ESP32 aber die Quellen sind ja einsichtig, evtl. kann man die AVR Register zu ESP Register tauschen. OK auf Registerebene habe ich noch nichts mit dem ESP32 gemacht, ist aber auch nur ein Prozzi, genauer
-
Thread
Welcher ARM-Prozessor als Anfänger ?
STM32F0 oder STM32G0 z.B. STM32F030C8T6TR
Bei STM sind die STM32L Serien auf's Stromsparen getrimmt. Für den Anfang würde ich ziemlich weit unten mit einem Nucleo64 Board mit STM32L072 oder STM32L073 anfangen. Anleitung: http://stefanfrings.de/stm32/stm32l0.html
-
Artikel
AVR Bootloader in C - eine einfache Anleitung
Datenblatt S.288 Device Flash Size Page Size PCWORD No. of Pages PCPAGE PCMSB Atmega88 4K words (8 Kbytes) 32 words PC[4:0] 128 PC[11:5] 11 Aus der Tabelle ergibt sich, dass die Größe einer Page des verwendeten Atmega88 32 Words - also 64 Byte sind. Insgesamt gibt es 128 Pages, damit ergibt sich nach Adam Riese
Datei mit dem Bootloader, als auch das Batch-Script im Solution Directory liegen: Fehler bei Flash > 64k. Neuere avr-gcc optimieren den oben beschriebenen Bootloader mit so genannten "table jumps". Darin verwendet der Compiler LPM Instruktionen. Laut dem "AVR Instruction Set" kann dieser Befehl aber nur
-
Thread
gcc11 könnte das avr Backend verlieren
GPUs arm - ARM arm64 - ARM64 (little endian) arm64_32 - ARM64 (little endian ILP32) armeb - ARM (big endian) avr - Atmel AVR Microcontroller bpf - BPF (host endian) bpfeb - BPF (big endian
32-bit nvptx64 - NVIDIA PTX 64-bit ppc32 - PowerPC 32 ppc64 - PowerPC 64 ppc64le - PowerPC 64 LE r600 - AMD GPUs HD2XXX-HD6XXX riscv32 - 32-bit RISC-V riscv64 - 64-bit
-
Thread
Die "BluePill" spielt Reversi / Ohtello, Code für STM32F103
viele dieser Projekte das Manko, dass für die Hardware oft ein teures Discovery-Board mit bspw. STM32F4 oder gar STM32F7 benötigt wird (und das Discovery-Board das Display mitbringt). Für die AVR Controller gibt es etwas, das sich "Gamebuino" nennt und benutzt ein bekanntes s/w Display. Weil ich
allerdings den Nachteil, dass es nicht > Arduino-kompatibel ist. Ich habe zwar Arduino-Hardware, auch AVR, ESP und diverse "Shields" und mein Standarddevelopmentboard für STM32F103 ist ein eigenentwickeltes PCB mit Arduino r3 Formfaktor, aber ich mag die Arduino Software und Entwicklungsumgebung nicht.
-
Thread
LowPower MCU
"Race to idle" oft besser, denn dann kann man die > Taktquelle längere Zeit ganz abschalten. Ein 32kHz Uhrenquarz zieht nur > rund 1µA bis zum aufwecken. Das kann ein Mega328P (und auch viele andere AVR8, inbesondere praktisch alle ATmega) außerdem auch noch. *Zusätzlich' zu den ganzen möglichen
Quarz laufen lässt gibt es heute uC die dabei weniger Strom als der ATmega brauchen. PicoPower um bei AVR zu bleiben.
-
Thread
ISP-Programmer für Produktion
einer eigens entwickelten Fertigungsmitarbeiter gerechten Oberfläche. Auf anderen Systemen (Win7 32 Bit) habe ich ähnliches am Laufen aber mit AVRDude. Jetzt sollen alle PCs in der Fertigung auf Windows 10, 64-Bit und 32_Bit, umgestellt werden. In diesem Zuge sollte alles vereinheitlicht werden.
Damals habe ich es versucht an meinem Entwicklungsplatz AVR-Studio mit Jungo-Treiber und AVR-Dude mit Lib-USB-Treiber unter 64-Bit Windows und bin damals gescheitert. Habe zwar dann den einen Filter-Treiber installiert und habe die 64-Bit Lib-USB-Treiber
-
Thread
Arduino Bit Shifting Problem
muss ich mal die Takte zählen! Und dafür müsstest du die tatsächliche Zielhardware kennen... Dein AVR-ASM funktioniert auf nem AVR, es mag aber auch sein das er einen Arduino mit nem 32-Bitter verwendet. Daher wäre hier eine Lösung in C angesagt, wie von mir oder Spess, dein ASM hilft hier unter Umständen
r19, 0 d6: 20 e8 ldi r18, 0x80 ; 128 d8: 81 fd sbrc r24, 1 da: 20 64 ori r18, 0x40 ; 64 dc: 82 fd sbrc r24, 2 de: 20 62 ori r18, 0x20 ; 32 e0: 83 fd sbrc r24, 3 e2: 20 61 ori r18, 0x10 ; 16 e4: 84 fd
-
Thread
Suche günstige Open-Collector Schieberegister
gepolt" ist. Die verbraucht im schlimmsten Fall ihren maximalen Sperrstrom bei der Betriebsspannung des AVR. Also so gut wie nix. Alle anderen LEDs "verbrauchen" den Leckstrom der Ausgänge eines AVR. Also quasi garnix.
. Die > verbraucht im schlimmsten Fall ihren maximalen Sperrstrom bei der > Betriebsspannung des AVR. Also so gut wie nix. Alle anderen LEDs > "verbrauchen" den Leckstrom der Ausgänge eines AVR. Also quasi garnix. Denkfehler meinerseits. Bin heute nicht ganz so fit im Kopf... Charlieplexing hab
-
Artikel
AVR Bootloader FastBoot von Peter Dannegger
tiny85, tiny861, mega48, mega8, mega8515, mega8525, mega88, mega16, mega162, mega168, mega328, mega32, mega64, mega644, mega128, mega1281, mega2561. Passwortschutz gegen unberechtigtes Umprogrammieren (aber keine Verschlüsselung des Programms). Freie Software - unter GPL lizenziert (Link). Das eigentliche
GitHub Linux- und Mac-Host (ohne One-Wire-Unterstützung), nur mit Anmeldung Dev-C++ Portierung (Win64) Windows-Host mit GUI von leo-andres.de, alte Version Host-Software für Version 1.7 Python-Script von kreatives-chaos.com Dev-C++ Portierung (Win32) Sonstiges Atmel AVR-Studio (um Bootloader zu assemblieren
-
Thread
Hilfe beim Brett von Stirn lösen [Analoge Sensoren Atmega328p]
durch den triggern lassen. Weil: 54000*13 = 702000 ADC-Takt 16000000/16 = 1000000 16000000/32 = 500000 Der gewünschte ADC-Takt läge also ziemlich genau in der Mitte zwischen den beiden allein mit den Mitteln der ADC tatsächlich erreichbaren.
ich 1Msps und wenn es auch normales C sein darf bei dem man keine Arduino Libs hat nimm ein Nucleo32/64 da gibts F3 und co mit 3-5Msps. Teilweise haben die sogar 2 oder 3 ADCs. Ich meine sogar die Nucleos lassen sich mit der ArduinoIDE programmieren? Zumindest teilweise bin da nicht so auf dem laufenden
-
Thread
STM32F730R8T6 top P/L, crashkurs fragen
: > Die 64k Flash dürften aber ziemlich schnell voll sein. Aber nur für Schwätzer. Wenn man bedenkt, daß ein ATmega328 nur 32 KB hat, dann ist da noch reichlich Luft nach oben ;-) STM32 schrieb im Beitrag
m.n. schrieb im Beitrag #6006780: >> Die 64k Flash dürften aber ziemlich schnell voll sein. > Wenn man bedenkt, daß ein ATmega328 nur 32 KB > hat, dann ist da noch reichlich Luft nach oben Andererseits belegt gleicher Code auf ARM Controllern
-
Thread
Problem mit STM32F103 und RAM-Größe
zu produzieren. Während in einem uint_fast8_t auf einem STM32 durchaus der Wert 256 gespeichert werden kann, ist dies bei einem AVR dann durch Überlauf gleich 0.
Struct noch mit dem Attribut "packed" zu versehen. Naja man kann sich ein bißchen Verschnitt sparen. 32, 16 und 8 bit sind 64 bit normal und 56 bit packed.
-
Thread
Bits shiften - ich verstehe es nicht.
(in & 0x0004) out += 200; if (in & 0x0008) out += 800; return out; } [/c] Sind auf dem AVR 72 Byte Code.
mich, was Du da vergleichen willst: 1. Dein Code versagt für ATmega88 2. Dein Code versagt mit avr-gcc 4.7.2
-
Thread
Conrad Elektronik hat Probleme
Chef von der Bayerischen Re war vor ein paar Wochen noch Pumperlgsund und ist jetzt an Corona mit 64 gestorben. Watch out!
Conrad seine seit 72 Jahren und damit älteste Zweigniederlassung in Nürnberg, Fürther Str. schließt. 32 Beschäftigte. Grund: Wierschaftliche Erwägungen und standortbedingte Besonderheiten. Bundesweit gibt es wohl (noch) 19 Filialen an 14 Standorten.
-
Thread
DVBT mit 2MHz Bandbreite
Ralph B. schrieb im Beitrag #6009038: > ondern auch die fast 2000 QAM64 modulierten > Träger generieren, bzw ein IQ Signal erzeugen, in welche die 2000 QAM64 > modulierten Träger enthalten sind. OFDM erzeugen ist kein grosser Aufwand. Eine 2K-FFT ist inzwischen kein
DVB-T2/T und T2-Lite: Kanäle: VHF Band, UHF Band Bandbreite: 1.7, 5, 6, 7, 8 MHz FEC: QPSK, 16QAM, 64QAM, 256QAM FFT-Mode: 1K, 2K, 4K, 8K, 16K, 32K Code-Rate: 1/2, 2/3, 3/4, 5/6, 7/8 gibts bei https://www.tbs-technology.de/shop/DVB-S2-S-S2X-T-T2-C-C2-Single-Tuner-USB-Multituner-Empfangsbox-TBS-
-
Thread
Atmega32U4-Board: USB-Ausgabe in Betrieb nehmen
es geht um die Nutzung der USB-Schnittstelle eines Atmega32u4-ProMicro-Boards unter Win7 64bit. auf das Board lässt sich mit AVRDUDE Code aufspielen wenn man Reset drückt und sich so der Bootloader meldet. als Code nutze ich das Beispiel "USB Serial, Version
Unter LunaAVR läuft das, nimm mal Putty als Terminal Programm.
-
Thread
Schachcomputer Eigenbau?
//www.ct800.net Den gibt es auch als Platine: https://github.com/d3rvita/ct800-pcb Wenn es ein AVR sein soll, wie wäre es mit dem SHAH? (a.k.a. AVR-Schachzwerg) http://www.andreadrian.de/schach/ https://github.com/d3rvita/avr-schachzwerg Es gibt noch den Mysticum: https://miclangschach.de/index.php
Ist doch pillepalle: 64 Felder, 32 Spielfiguren und Regeln, die im umständlichen Menschen-Sprech auf 2 A4-Seiten mit lesbarer Schriftgröße passen. Da brauchst du noch Hilfe? Selbst IBM hat es vor wenigen Jahren geschafft
-
Thread
Profitiert double von der 32bit FPU?
nicht so, dass eine FPU doubles beschleunigen kann. Das ist ja nicht wie bei einem fixkomma add mit 64bit wo es reicht ein normales add und danach ein add with carry auszuführen. Selbst ein 64bit MUL geht mit 3 32Bit MULs und einer Abfrage. f32 und f64 sind komplett anders aufgebaut. Das f64 müsst
Mw E. schrieb im Beitrag #6001731: > Das ist ja nicht wie bei einem fixkomma add mit 64bit wo es reicht ein > normales add und danach ein add with carry auszuführen. > Selbst ein 64bit MUL geht mit 3 32Bit MULs und einer Abfrage. Das war mein Gedanke dahinter. Wenn man große Integer
-
Thread
usb serial Win7 64bit welches INF-file nehmen
es geht um die Inbetriebnahme eines 32u4-Boards unter Win7 64bit. Auf dem Board läuft usb_serial.c von Paul Stoffregen. Im Gerätemanager taucht ein USB-Gerät auf mit gelbem Rufzeichen. Es fehlt der passende Treiber. Frage: Welchen Treiber
Matthias W. schrieb im Beitrag #6000378: > es geht um die Inbetriebnahme eines 32u4-Boards unter Win7 64bit. Auf > dem Board läuft usb_serial.c von Paul Stoffregen. Im Gerätemanager > taucht ein USB-Gerät auf mit gelbem Rufzeichen. Es fehlt der passende > Treiber. > > Frage
-
Thread
Schnelle ADC (max 4bit) für BAS-Signal
Dr. Sommer schrieb im Beitrag #5999058: > Der allseits beliebte STM32F407VG Mikrocontroller kann bis 6 MHz bei > 12bit samplen und diese Datenmenge dank DMA auch verarbeiten. Das reicht > für über 200 Werte pro Zeile, bei jedem Frame. Wenn du schon mit STM32 daherkomst
KSamples/sec in einem Bereich wo im AVR schon was gehen kann - wenn man nicht troedelt. Gruss WK
-
Thread
ARM-Assembler-Tutorial
/7 - mit 32bit "float", bei manchen M7 auch mit 64bit "double". Alles etwas unübersichtlich, die Details entnimmt man dem ARMv7M Architecture Reference Manual. Damit hab ich mich auch noch nicht so genau auseinander
#6081415: > Und was noch? Der Aufruf > openocd -f interface/stlink-v2.cfg -f target/stm32f1x.cfg -c "program linker_skript_demo_01.elf verify reset exit" liefert: [code] xPack OpenOCD, 64-bit Open On-Chip Debugger 0.10.0+dev (2019-07-17-11:28) Licensed under GNU GPL v2 For bug
-
Thread
Frage zu Timern in C
Indem du einen uint64_t wählst. Dann hast du Ruhe.
verhindern, dass er wöhrend dessen durch die ISR verändert wird. Zum Beispiel so: [c] volatile uint32_t sechzehn_ms=0; int main(void) { // Hier den Timer starten cli(); uint32_t warte_seit=sechzehn_ms; sei(); while(1) { cli(); uint32_t jetzt=sechzehn_ms
-
Thread
Kabelbaum Prüfgerät
Kann hex für arduino mega liefern, vergleicht 64 pin mit golden kabelbaum, keine Wiederstandsmessung usw, nur Durchgangstest.
Widerstandsmessung und spezielle HV Kabel. Ja, ich kann die Messungen machen, aber ich brauche dazu 2x 16/32 dmm Scanner , 1x 8Relay card, high current, 4x 16relay card, high current. Reed relay low current 2kv ISO 64x. Dmm mit rs232, hochspannungsteiler, 2000V PSU, 20v vref , 100:1 Teiler. USB dso, dds
-
Thread
Vier Gewinnt KI für Mikrocontroller
Speicher brauchst du da nicht. Und Geschwindigkeit? Wenn es auf einem Z80 laufen soll, dann ist der AVR allemal schneller. Ich denke wenn Schach am AVR geht, dann geht dieses Fuzzy Spiel spielend.
. Hätte noch an 32 Bittern, die alle auf Arduino Basis laufen: Seeduino XIAO (super klein, M0 Cortex) 32kb RAM, 256 kb Flash ESP8266 D1 Mini (80 kb RAM, 1 MB Flash) ESP8266 Kit 8 (80kb RAM, 1MB Flash) ESP8266 NodeMCU
-
Thread
Wieso funktionieren Decompiler immer deutlich schlechter als Compiler?
und Datenbereiche versucht er auch zu dekompilieren. Ich habe das mal für C++ code und Windows mit x32dbg bzw x64dbg gemacht. Das kannst du nicht aus einem Buch lernen das musst du selber ausprobieren. Wenn dein Binärcode im debug mode erstellt wurde und noch die Symboltabellen enthält bekommst du sogar
//www.pagetable.com/c64disasm/ Das ist der Disassemblierte Code des Commodore 64. Rechts daneben die Kommentare aus dem originalen Quelltext. Noch weiter rechts die Kommentare von unterschiedlichen sehr erfahrenen Spezialisten
-
Thread
Guter, günstiger, Chip für Grafikdisplay
willst. Sag uns doch mal etwas genauer, was du machen willst. Den EPSON S1D15721D00B000 dürfte jeder AVR mit ausreichend PINs, z.B. der populärste Vertreter: Atmega328P, locker ansteuern können. Und dein USBasp kann problemlos den Atmega328P programmieren. Er hat halt "nur" 32 kB Flash, also sehr weit
. Sag uns doch mal etwas genauer, was du > machen willst. Den EPSON S1D15721D00B000 dürfte jeder AVR mit > ausreichend PINs, z.B. der populärste Vertreter: Atmega328P, locker > ansteuern können. Und dein USBasp kann problemlos den Atmega328P > programmieren. Er hat halt "nur" 32 kB Flash, also
-
Thread
BME680 etwas ATMega-freundlicher auslesen
internal API is used to calculate the temperature value. */ static int16_t calc_temperature(uint32_t temp_adc, struct bme680_dev *dev) { int64_t var1; int64_t var2; int64_t var3; int16_t calc_temp; var1 = ((int32_t) temp_adc >> 3) - ((int32_t) dev->calib.par_t1 << 1); var2 = (
_C(16016016), UINT32_C(8000000), UINT32_C(4000000), UINT32_C(2000000), UINT32_C(1000000), UINT32_C(500000), UINT32_C(250000), UINT32_C(125000) }; var1 = (int64_t) ((1340 + (5 * (int64_t) dev->calib.range_sw_err