-
Thread
Buchempfehlung C++ und MCUs
bisherigen Klassen Templates beziehen sich auf die Hardware eines µC. Aktuell für einen ATmega4809 und AVR128DB48 bezogen. Diese dienen zum konfigurieren, schalten und walten der I/O Pins und zum konfigurieren der Timer TCA und TCB. Bei der Pin Klasse würde ein Array richtig Sinn machen. Beim TCA eher weniger
Jetzt musst Du allerdings natürlich auch noch unterscheiden, dass die mega0-Serie keinen TCD hat, die avr128db allerdings schon. Wenn Du nun den MCU-Typ als DT modellierst, dann brauchst Du eine Meta-Funktion, um den DT der MCU auf ein Integer abzubilden (type-traits sind eine Form von Meta-Funktionen
-
Thread
AVR128, CCP und Optimierung
#6675193: > Cyblord -. schrieb im Beitrag #6675191: >> Ich nutze aber keinen xmega. > > Doch. Der AVR128DAxxx ist eine xmega4 Architektur. Also der Hersteller bezeichnet das alles komplett anders. Es gibt eine AVRxm Architektur (XMEGA). Die AVR128DA sind aber AVRxt welches der Nachfolger ist. Hier
lamentierst Du dann herum. Natürlich nutze ich den. Was mich aber nicht zu falschen Aussagen wie > Der AVR128DAxxx ist eine xmega4 Architektur. verleiten könnte. Vielleicht wolltest du ja sagen: Der gcc nennt die AVR128 Architektur xmega4. Wer weiß?
-
Thread
OLIMEX ATEMGA8 - Debugging-Modus funktioniert nicht
20 Pins: ATtiny 261, 461, 861 https://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2588-8-bit-AVR-Microcontrollers-tinyAVR-ATtiny261-ATtiny461-ATtiny861_Datasheet.pdf 28 Pins: ATmega 48, 88, 168, 328 https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf
. So gehts mir mit dem Kram halt auch. Das hört ja bei Debugging nicht auf. Schon allein neuere AVR (ich nutze aktuell einen AVR128DA für ein Projekt) Toolchainmäßig extern ans laufen zu bekommen ist müßig. Die Pfadeinstellungen um die zusätzlichen Devicepacks da ordentlich zu nutzen sind unschön.
-
Thread
[V] Wohnungsauflösung München Ramersdorf: Messgeräte, Funktionsgeneratoren, Oszi, Bauteile, PC uvm
22 lenovo thinkstation s20: 70€ 23 eizo coloredge cs230: 80€ 24 sharkoon quickport combo: 10€ 25 avr starterkit stk500 & at89/90: 20€ 26 trafo 6/9/12V 5A; 24V 3A: 10€ 27 solder-unit st 081: 5€ 29 arduino experimenting shield v2.1: ?5€?; CP2102N Breakout: 3€ 30 mega128 modul: ?3€? 31 adafruit proto
22 lenovo thinkstation s20: 70€ 23 eizo coloredge cs230: 80€ 24 sharkoon quickport combo: 10€ 25 avr starterkit stk500 & at89/90: 20€ 26 trafo 6/9/12V 5A; 24V 3A: 10€ 27 solder-unit st 081: 5€ 29 arduino experimenting shield v2.1: ?5€?; CP2102N Breakout: 3€ 30 mega128 modul: ?3€? 31 adafruit proto
-
Thread
Atmega88 Code kompiliert ohne Fehler und läuft nicht
//round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 64: 2f ef ldi r18, 0xFF ; 255 66: 33 ed ldi r19, 0xD3 ; 211 68: 90 e3 ldi r25, 0x30 ; 48 6a: 21 50 subi r18, 0x01 ;
//round up by default __ticks_dc = (uint32_t)(ceil(fabs(__tmp))); #endif __builtin_avr_delay_cycles(__ticks_dc); 64: 2f ef ldi r18, 0xFF ; 255 66: 33 ed ldi r19, 0xD3 ; 211 68: 90 e3 ldi r25, 0x30 ; 48 6a: 21 50 subi r18, 0x01 ;
-
Thread
STM32 Chips zur Zeit so gut wie nicht beschaffbar
nicht, sie müssen auch verfügbar sein. Heute würde ich sagen: Wenn die ein AVR reicht, dann nimm einen AVR. Für den Einstieg sowieso.
. Und AVR reicht für das Meiste.
-
Thread
STM32F103 Bluepill mit 128kb lässt sich nicht flashen
Ok, die 128kb sind jedenfalls echt, ein testfile mit 128kb lässt sich flaschen und verify'en. Noch schöner wenn es sich auch debuggen liesse, mit 128kb wären alle meine Sorgen gelöst, da ich inzwischen bei 58kb
klappt es mit 128kb aber ich hoffe mal dass die Bits nicht nach kurzer Zeit vom Winde verweht sind...
-
Thread
AVR Async Timer2 will nicht
1 << AS2); _delay_ms(500); // Einschwingzeit TCCR2B |= (1 << CS22) | (1 << CS20); // Prescaler = 128, d.h. ein Timer2-Ueberlauf pro Sekunde (32768/256/128 = 1) while((ASSR & (1 << TCR2BUB))); TIFR2 = (1 << TOV2); TIMSK2 |= (1 << TOIE2); //Datasheet p. 165 [/c] Und die ISR (wird fehlerhafterweise
das muss man definitiv nicht. Hättest du hier lesen können: https://www.mikrocontroller.net/articles/AVR-GCC-Tutorial/Die_Timer_und_Z%C3%A4hler_des_AVR#Timer2_im_Asynchron_Mode
-
Thread
Nutzt gcc/newlib-nano die FPU von Cortex M4F bei double?
Operation mit double durch das 1.001. Es wäre float mit f=f*1.001f; Wenn man Code aus Arduino oder AVR Libs übernimmt, dann wird da immer unnötig double verwendet weil der gcc für AVR da bisher in float gerechnet hat. Man kann per Holzhammer Methode alle FP Konstanten als default float übersetzen lassen
John Doe schrieb im Beitrag #6621556: > Nur dass die STM32H730/750 nur 128KiB Flash haben im Gegensatz zu > Stefans STM32F303RE mit 512KiB Flash. Wobei ich wohl den Tag nicht mehr erleben werde, an dem die 512kB voll werden.
-
Thread
Attiny2313 Timer16 Bit, Normal Mode, unsauber
Hallo S.Landolt, hast du interesse am Code für unseren AVR128DB48? Ist aber C++. Da es aber nur aus Registerkonfigurationen besteht, sollte das lesbar sein. Habe das mal für den Timer TCD0 mit PLL 48MHz zum laufen gebracht. Kleiner Haken an der Sache. PLL mit
mal - ohne relativ kleinen pull-down am DAC-Ausgang werden Sie Ihr "blaues" Wunder erleben mit dem AVR128DB28.
-
Thread
STM32 USB Übertragungsproblem mit Code von S.F.
Erfolg. Dafür aber wieder was gelernt. Wenn dich der Teil interessiert: [c] void SetSysClockHsi48() { RCC->CR2 |= RCC_CR2_HSI48ON; // Wait till HSI48 is ready while ((RCC->CR2 & RCC_CR2_HSI48RDY) == 0) ; // Enable Prefetch Buffer and set Flash Latency FLASH->ACR = FLASH_ACR_PRFTBE
keine sind. [c] void SystemInit(void) { // Enable the Internal High Speed oscillator (HSI48) SET_BIT(RCC->CR2, RCC_CR2_HSI48ON); while (!READ_BIT(RCC->CR2, RCC_CR2_HSI48RDY)); // switch SYSCLK to HSI48 MODIFY_REG(RCC->CFGR, RCC_CFGR_SW, RCC_CFGR_SW_HSI48);
-
Thread
ATtiny212: Externe Referenz für ADC/DAC
Datenblatt fehlt kann durchaus ein Fehler sein. Warum auch immer. In einem älteren Manual (ATmega4809 oder AVR128DB48 war es) standen z.Bsp. mehr BOD Levels drin wie im aktuellen Manual. Funktionieren tun die nicht mehr dokumentierten jedoch immer noch. Es gibt natürlich keine Garantie das es in neueren µC Revisionen
series and 1614, 1616, 1617, 3216, 3217 only) Mit 2er Serie ist nicht 212er gemeint! Upcoming tinyAVR 2-series There is a new series of ATtiny parts coming - the 2-series, with part numbers like ATtiny3227. https://github.com/SpenceKonde/megaTinyCore/blob/master/megaavr/extras/ATtiny_x12.md
-
Thread
Festkommazahlen in Assembler
Nein, auf AVR. 32 bit longit fuer Regelungsroutinen brauchen nicht so viel Leistung. Ich rechne mit einem Internen Tick von 10ms. Das beinhaltet die Messungen, Linearisierungen, Skalierungen, Algorithmen Speziell
Bibliothek in Assembler nachbildest, erwäge nochmal auf den Verzicht von Fließkommazahlen. Denn statt 1,48€ kann man auch mit 148 Cent rechnen. Statt 1,5 Volt kann man mit 1500mV rechnen. Das Komma ist dann nur noch eine Frage der Darstellung.
-
Artikel
IRSND
Sämtliche Definitionen zu den IR-Protokollen irmpsystem.h - Vom Zielsystem abhängige Definitionen für AVR/PIC/STM32 irsnd.h - Include-Datei für die Applikation irsndconfig.h - Anzupassende Konfigurationsdatei irsnd-main-avr.c - Beispiel Anwendung WICHTIG: Im Applikations-Source sollte nur irsnd.h per include
07.05.2015: Korrekturen zur XMega-Portierung 23.04.2015: Neues Protokoll: PENTAX 23.04.2015: Portierung auf AVR XMega 10.07.2014: Einige GPIO Änderungen für STM32F10x (in IRSND). 10.07.2014: Neues Protokoll: SAMSUNG48 23.06.2014: Neues Protokoll: LGAIR 03.06.2014: Neues Protokoll: TELEFUNKEN 30.05.2014: Neues
-
Thread
Atmega328p mehr digital pins
Hallo, du kannst auch was Modernes nehmen. Jeweils in 48 Pin Ausführung > ATmega4809 oder AVRxxDB48 (xx = 32/64/128). Den 'DB' gibts auch noch mit 64 Pins. Zwei ICs benötigen mit allen drum und dran immer mehr Platz als ein etwas größerer. Der Klopper ATmega2560
verwenden, die zum verwendeten Controller passt: https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48A-PA-88A-PA-168A-PA-328-P-DS-DS40002061B.pdf (auch wenn das bei diesem Thema keinen Unterschied macht) MfG, Arno
-
Thread
Fragen zu Quarzoszillatoren für Mikrocontroller
die AVR_Fuses-Seite richtig interpretiere, wäre ich mit dem Oszillator auf der sicheren Seite und muß den "External RC Oscillator" für die fuse-settings wählen. Aber welche settings genau? Die AVR_Fuses-Seite
nicht. Aber ist ja eh zu spät, du hast den Oszillator ja schon. Immerhin kannst du damit fast jeden AVR retten, wenn du die Clock Selection Fuse Bytes falsch setzt... MfG, Arno
-
Thread
Verständnisproblem in AVR C Syntax Gesperrt
Hallo zusammen, habe ein kleines Verständnisproblem mit AVR C. Schreibe Programme in Bascom und möchte auf AVR Studio umsteigen. Und zwar verstehe ich folgendes nicht so richtig: a = 0x10000F23 a = (a << 3) Was passiert hier genau und was steht danach
Kurzgeschichte: Der kleine AVR und der große PC unterhalten sich miteinander per RS232. Der AVR schickt ihm ein long.
-
Thread
Gibt es so etwas wie einen Hifi Arduino?
dann eher die Finger lassen. In einem Post weiter oben hat ja schon mal wer gerechnet, dass man bei 48kHz Samplefrequenz nur gute 20µsec Zeit hat um ein neues (stereo)sample zu verwursten. Klingt kurz, aber sogar bei einem AVR mit nur 16MHz CPU Takt sind das immerhin 333 Taktzyklen. Bei hoeherem Takt
auf den internen des MC limitiert - FMSC ist leider nicht nutzbar. Das sind dann 64k CoreCoupled und 128k Bus RAM.
-
Thread
DEBO OLED2 0.96 0,96" OLED-Display SSD1306 SSD1312 Initialisierung TWI I2C AVR ATmeg8 Assembler ASM
+3*128) ldi ZH,high(adr_BILD_BEREICH+3*128) rcall OLED_REFRESH_ZEILE ldi ZL,low (adr_BILD_BEREICH+4*128) ldi ZH,high(adr_BILD_BEREICH+4*128) rcall OLED_REFRESH_ZEILE ldi ZL,low (adr_BILD_BEREICH
Angehangen :-) habe ich ein 128x64 Blau-Gelb I2C/TWI 128x64 Display. https://www.roboter-bausatz.de/p/0.96-oled-display-blau-gelb-i2c-iic-twi-128x64-pixel-fuer-arduino Kennt jemand Bezugsquellen für 128x128 RGB *I2C TWI* OLED
-
Thread
ATMega Temperatur
/avr-libc/libm/fplib/log.S
Peter F. schrieb im Beitrag #6556362: > wie Du auf 32-Bit-Gleitkommazahl kommst Das übliche AVR Float steckt in 32 Bit.
-
Artikel
Baud
ist neben der Baudrate und dem erforderlichen Teiler auch der in das UART Baud Rate Register eines AVR einzutragende Zahlenwert aufgeführt (siehe auch AVR-GCC-Tutorial/Der UART). Baudrate Teiler UBRR 75 24576 1535 300 6144 383 1200 1536 95 2400 768 47 4800 384 23 9600 192 11 14400 128 7 19200 96 5 28800 64 3 38400 48 2 57600 32 1 115200 16 0
-
Thread
ATTINY 433MHz Fuchssender mit akustischem Grillen-Sound
Isser nich. 😛 Jo D. schrieb im Beitrag #6537217: > AVR-Studio Projekt
den Frequenbereich ein und kleine Auflösungen erhöhen das Rauschen - bei 8 Bit hast theoretisch noch 48dB Dynamik. Bei der CD sind es eben 96 dB.
-
Thread
PWM mit Timer0 & 2 mit ATmega168PA läuft nicht
Was auch immer das Datenblatt unter https://ww1.microchip.com/downloads/en/DeviceDoc/ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf sagt, entweder ist da ein Fehler drin, oder ich kapiere es gar nicht. Habe mich schon gewundert, dass z.B. in der Tabelle Table 15-8 immer OCRA genannt ist (und
Dito bei einem ATmega48PA.
-
Thread
Kosmos CP1 Emulator mit ATmega
, weil man die internen AVR Pullups verwenden kann. Klar jetzt?
schrieb im Beitrag #6542179: > (...) Bis Du sagtest, dass kann man auch irgendwie mit > internem AVR-Pullup / Down machen, was wohl nicht stimmt. DARUM ging es. Mit dem AVR und dessen internem Pullup kann man das Verhalten des Port 1 eines i8039 emulieren. Darum ging es. Mit dem AVR kann man
-
Thread
Lerncomputer so wie KOSMOS CP1 nachbauen
Wo ist das Problem? Nimm einen AVR und strick dir den Interpreter wie du ihn brauchst.
Hmm, gerade mal geschaut was das Ding genau gemacht hatte: 128 Befehlszeilen mit Pseudo Maschinen code (21 Befehle). Das würde man so auch locker in einem AVR rein bekommen, wenn es nur um die Funktion gehen würde. Ansonsten wird es halt teuer, die Original Bauteile
-
Thread
Padauk PFS154 Programmer mit Arduino Uno / ATmega88 - 328
einlesen ohne diese // auszuwerten for (cx= 0; cx < 16; cx++) { b= ir_getbit(48); if (b == 2) goto timeout_err; if ( waittil_hi(48) ) goto timeout_err; // auf naechstes Datenbit warten } // erste 8 Bit seriell lesen hw= 0; for (cx= 0; cx < 8; cx++) { b= ir_getbit(48); if (b == 2) goto timeout_err; hw |= (b << cx); if ( waittil_hi(48) ) goto timeout_err; // auf naechstes Datenbit warten } result= (uint16_t) hw << 8;
-
Thread
Suche jemanden für PIC-Programmierung VU-Meter / PPM
https://sound-au.com/project55.htm https://sound-au.com/project60.htm https://sound-au.com/project128.htm https://sound-au.com/project136.htm
z.B. per Tabelle. Artikel dazu, Ggl findet noch mehr: https://www.mikrocontroller.net/articles/AVR-Tutorial:_Schieberegister https://www.mikrocontroller.net/articles/Porterweiterung_mit_SPI
-
Thread
Direktmisch-Empfänger: ungewolltes Seitenband passiv unterdrücken
Ausnahme einiger weniger noch immer sendenden Mittelwellen-Rundfunksendern. Naja, und mit einem AVR und so wird das alles nix. Da braucht es was dickeres. W.S.
Mit einem 20 MHz Achtbitter muß man sowohl die Abtastfrequenz arg herunterschrauben, da ist nix mit 48 kHz, dann braucht es auch noch eine deftige Reduzierung der Filtergröße und womöglich auch nicht mal mit 16 Bit (sättigende Arithmetik ist beim AVR m.W. nicht dabei), kurzum es erscheint mir, als ob
-
Thread
Apple Mac für Elektronik-Entwicklung
Cube IDE, natürlich auch den STM32 Cube Programmer, PulseView und meine geliebten Kommandozeilentools avr-gcc, arm-gcc, avrdude, stflash, etc. Nicht zu vergessen die USB Adapter (USBASP, die alten/gefakten PL2303, Atmel ISP mkII, ST-Link).
wirklich gut ausgestatteter Rechner an seine Grenzen kommt (Threadripper 3960x Series 24 Cores (48 Threads) @ 3.8/4.5 GHz mit 128 GB RAM und 16 TB SSD) laufen dann auf einer Gridsoftware unter Windows auf mehreren von diesen Rechnern. Das wollte man bei Apple nicht mal bestellen ob des Preises.
-
Thread
PT100-Thermometer
Aufmerksamkeitsspanne der YouTube Gucker endet eh nach 10 Minuten, selbst wenn der Weg, den Stromverbrauch eines ATmega48PA auf 35uA zu drücken, schon lehrreich war.
. Stattdessen stellst Du uns hier so einen alten 8BIT AVR hin. Gähhhhnnn....
-
Thread
DWARF error: invalid abstract instance DIE ref
mehr klar kommt? Der Compiler selbst meckert nicht. Flash 9200 und RAM 670 Bytes. Controller ist ein AVR128DB48. Die DWARF Meldung hatte ich sonst immer sporadisch. Beim erneuten kompilieren war sie dann weg. Diesmal erscheint sie immer. Muss ich mir Sorgen machen?
Pause. [c] #pragma once #define INLINE inline __attribute__((always_inline)) namespace AVR128DB { namespace TCB { namespace { using Register = volatile uint8_t *; #if defined(__AVR_AVR128DB48__) #include <AVR128DB48_TCBnRegister.h
-
Thread
AVR128DB48 - TCB 32Bit Counter
habe, nämlich TCB0-Capture, Sie hingegen sogar drei. Ich werde nachher mal mein Programm auf den AVR128DB48 bringen, das kann aber, nun bei mir, eine Weile dauern.
Ging schneller als gedacht, läuft unverändert auch auf dem AVR128DB48. > Das Problem wird gefunden Genau, "kriegen wir hin, kriegen wir alles hin".