-
Thread
Arduino Genuino 101 - Erfahrungen?
Bedenke, dass so ein AVR Mikrocontroller wesentlich mehr leistet, als ein C64 oder ein Gameboy, und die hatten ganze Videospiele ausgeführt! Nutze die Gelegenheit, zu lernen, wie man performante Programme schreibt. Das Gelernte
Die AVR COntroller, die ich verwende können sowohl bei der steigenden als auch bei der fallenden Flanke einen Interrupt auslösen. Zum Erfassen der Pulsbreiten gibt es reichlich konkreten Anleitungen im Netz
-
Thread
Arduino Benchmark auf verschiedenen MCUs
AVR, die ARMS wären schön ...
glaube ich lieber meinem Oszi. :-) Wenn das der Overhead durch die Schleife ist, dürfte das auf einem AVR auch noch mehr ausmachen.
-
Thread
[V] Rauchmelder FireAngel ST-620-DET
abgeklemmtem Beeper (nervig) und gedrücktem Taster springt die Spannung an der Batterie zwischen 2,64V und 2,90V ein paar mal hin und her, vermutlich im Takt der LEDs. Das ist eindeutig zu wenig. Macht er RM nun selber Tests, in dem er den Taster "betätigt" und der Beeper dabei deaktiviert wird? Der
nicht von mir, ich habe ihn von Holger aufgegriffen, weil er mir auch eingeleuchtet hat. Seit dem 28.12.19 ist tatsächlich Ruhe im Karton bis auf einen Melder, der trotz Kondensator immer wieder gepiept hat, aber auch die anderen nicht getriggert hat. Da hat die Batterie wohl wirklich einen Treffer,
-
Thread
Die besten Youtube-Kanäle (Elektronik)
Curve Tracer: https://www.youtube.com/watch?v=eFzsyQOTXbM Berühmt wurde sie durch ihren Einchip-C64 in einem Joystick. Hydraulic Press Channel / Beyond The Press steht bei mir inzwischen auf dem Index (Blacklist), da sie in dem Video, wo sie ihre Presskraft von einem Fachmann messen lassen, zwei
Hier mal was zur AVR Assembler Programmierung : https://www.youtube.com/watch?v=Q1rR1IgBgcU&lc=z221cx1q0p3at3xom04t1aokgq4egfx4ve0rmqtohbvnbk0h00410 https://www.youtube.com/watch?v=WrUriBP7La0&list=PLg8rGAQEOsuh9ZCwP6aW5ycCM5PFFqoNe
-
Thread
CRC Summe von Konstanten zur Kompilierzeit automatisch berechnen
so zaubert man z.B. auf einem AVR mit gcc6.2 eine 1-wire ID ins Flash: [c]template <uint64_t V> struct OwID { uint8_t value[8] = {byte(6), byte(5), byte(4), byte(3), byte(2), byte(1), byte(0), calcCrc() }
operator[](const uint8_t idx) const { return pgm_read_byte(&value[idx]); } }; const OwID<0x28A2D984000002> myOwId PROGMEM; ... // access ID's 1st byte auto id0 = myOwId[0]; [/c]
-
Thread
Z80 Board ausgebuddelt - Welche Anwendung?
Grips? nicht die verfluchte Fädelarbeit) was für EPROMS hat der denn? 2716 2732 2764? EEPROM 28c64 o.ä. auf Analogmultiplexer 4053 für Daten und CE OE Ein paar normale Gatter mit !EN 244/245 für Zugriffe int. ext. an die Adressleitungen
Joachim B. schrieb im Beitrag #4971709: > EEPROM 28c64 o.ä. auf Analogmultiplexer 4053 für Daten und CE OE > Ein paar normale Gatter mit !EN 244/245 für Zugriffe int. ext. an die > Adressleitungen 27C128A Typen, TI mit 16KB. Denke mal, dass ich
-
Thread
Strukturierte AVR-Assembler-Programmierung Gesperrt
Atmel-Studio): [avrasm] ; ------------------------------------------------------------------------- ; s'AVR - Precompiler for Structured AVR Assembly by Eberhard Haug (C) 2017 ; Version 1.04 (BETA), compiled 05-FEB-2017. ; This is the Lite version using RJMP (+/- 2k address range) and no JMP. ; s'AVR File compiled: 06.04.2017 17:41:28 ; Please report any bugs by email to sAVR@empirem.de ; No liability accepted for any code generated by s'AVR! ; ------------------------------------------------------------------------- ;01
-
Thread
AVR PWM Register wie schieberegister befüllen
immer mehr befüllt wo kann das problem liegen? als beispiel habe ich einen Bitstream mit dem Wert 64 im Dezimalsystem gesendet. Wie auf dem Screenshot vom Oszilloskop.
[c]/* * PWMShifter.c * * Created: 28.03.17 17:55:08 * Author : jan */ #include <avr/io.h> #include <stdbool.h> #include <stdint.h> int i = 0; void readdata(){ bool oldvalue = false; bool value = false; int bitcounter
-
Thread
Sinus erzeugen mit Mikrocontroller
Hier ein fertiges Projekt mit R2R Netzwerk: AVR DDS V2.0 signal generator http://www.scienceprog.com/avr-dds-signal-generator-v20/ http://www.radiolocman.com/shem/schematics.html?di=69926 Kann Sinus, Rechteck, Dreieck, Sägezahn, Sägezahn reverse
du möchtest 50Hz Sinus-Frequenz f = (10kHz*akku_inkr)/256 akku_inkr = 50Hz * 256 / 10kHz = 1,28 Die 1,28 noch mit 2^24 multiplizieren und hex-Wandeln, Nachkommastellen abschneiden: akku_inkr = 0x0147AE14; Ist jetzt für einen AVR, aber du hast ja nicht geschrieben, welchen µC du verwenden
-
Thread
AVR: Grafik-Display-Ansteuerung
ein Pixel-Byte zu schreiben. Und prinzipiell müssen ja auch immer 8 Pixel geschickt werden, weil der AVR ja nicht weis, ob die anderen 7 an oder aus sind, und das Display auch keine Möglichkeit zu lesen anbietet Auch weil der AVR mit den internen 8MHz laufen soll und Soft-SPI machen muss(USI ist schon
zwangsläufig ändern müssen. Das interessante dabei: (das Device ist falsch, weil das gepatchte avr-size keinen ATtiny841 kenn, aber der ATtiny84 hat die selben Speichergrößen) (Compiler avr-gcc 7) [pre] avr-size --format=avr --mcu=attiny84 display.elf AVR Memory Usage ---------------- Device
-
Thread
ARM-Cortex als Anfänger?
kommst bei Deinen Schaltungen mit max. 3,3 V aus und hast keine > Probleme bei einem µC-Defekt ein 64-144 pol. TQFP Gehäuse auszulöten und > zu ersetzen? > Dann fange mit ARM an. Naja, es gibt ja auch so was wie den LPC1114/201 im DIP28 und die Peripherie ist nicht komplizierter als bei einem AVR
tech-notes/general/unexpected-usagefault-or-hardfault-exceptions/ Hier hat mal einer versucht den ENC28J60 Ethernet Stack von AVR auf Cortex M0 zu portieren, aussichtslos.
-
Thread
Akku Überwachung so machbar ?
mit dem 10k und 6k8 verwendest muesste die Grundgleichung folgendermassen lauten: ADvalue/(Ubat/1.64) = 1023/2.56 => ADvalue = (1023/2.56)*(Ubat/1.64) => ADvalue = 400 *(Ubat/1.64) Setzt man fuer Ubat verschiedene Werte ein,erhaelt man entsprechende ADvalues Der Wert 1.64 ergibt sich aus dem
mit der > Spannungsteilergeschichte werkeln zu lassen. Sehe ich auf jeden Fall so. > Der Wert 1.64 ergibt sich aus dem Spannungsteilerverhaeltnis,bzw dem > Spannungsverhaeltnis von 4.2V/2.56V (= 1.64) > Der 6k8 muesste korrekterweise etwa 6k betragen - dies ist aber kein > Standardwert - gerechnet
-
Thread
Benörige Hilfe bei Grafikdisplay LM240120
einzelne Pixel. Was genau ist dein Problem ? P.S. Wird wahrscheinlich genau wie ein 128x64 angesteuert, nur eben mehr Pixel.
Geht nicht so einfach. Das sind 8051 (bzw. 8052) spezifische Sachen, die es auf dem AVR in der Form nicht gibt - jedenfalls nicht in C. Aber: So ein parallel LCD Interface gibts für AVR wie Sand am Meer. Das klaut man sich einfach irgendwo her (-> Google, Github).
-
Thread
Merkwürdige Laufzeitunterschiede bei umgestellten Gleichungen (float + int)
f7ff fbc4 bl 80024ae <_ZN4mbed5Timer7read_usEv> 8002d26: 1c31 adds r1, r6, #0 8002d28: 9003 str r0, [sp, #12] 8002d2a: 1c38 adds r0, r7, #0 8002d2c: f000 faca bl 80032c4 <__aeabi_fmul> 8002d30: 4948 ldr r1, [pc, #288] ; (8002e54 <main+0x204>) 8002d32
8002d5e: 1c31 adds r1, r6, #0 8002d60: f000 fab0 bl 80032c4 <__aeabi_fmul> 8002d64: 1c06 adds r6, r0, #0 8002d66: a80c add r0, sp, #48 ; 0x30 8002d68: f7ff fb92 bl 8002490 <_ZN4mbed5Timer4stopEv> 8002d6c: a80c add r0, sp, #48 ; 0x30 8002d6e
-
Thread
AtMega16 Timer Problem
Hat jemand eine Idee dazu? Den Code habe ich meist von Vorlagen aus diesem Forum. Ich benutzte das AVR Studio 6.2 auf einem XP Rechner. Den AtMega16 hab ich über EBay bezogen. Ist es möglich, das ich hier fehlerhafte Chips bekommen habe? Grüße Michael [c] #include <avr/io.h> #include <avr/interrupt.h
einer ISR in diesem Forum "unbemeckert" geblieben ist: [c]TCNT0 = (uint8_t)(int16_t)-(F_CPU / 64 * 10e-4 + 0.5); // preload for 1ms [/c]
-
Thread
ATtiny841 onboard Temperatur auslesen
ADMUXB = (1<<REFS0); // set 1,1V Reference ADCSRA = (1<<ADPS2)|(1<<ADPS1); // set Prescaler 64 (125kHz) ADCSRA |= (1<<ADEN); // enable ADC } int16_t read_onboard_Temp() { uint8_t low = 0; int16_t temp = 0; ADCSRA |= (1<<ADSC); // Start A/D Wandlung while(ADCSRA
beim Sensor auslesen selbst nicht zu >verwenden. Da gibt es sogar eine AppNote: AN_8108 - AVR122: Calibration of the AVR`s Internal Temperature Reference MfG Spess
-
Thread
KiCAD ist im Kommen
(width 0.25) (layer F.Cu) (net 1) (tstamp 58CAFD46)) (segment (start 59.055 29.845) (end 60.325 28.575) (width 0.25) (layer F.Cu) (net 1) (tstamp 58CAFD48)) (segment (start 60.325 28.575) (end 86.36 28.575) (width 0.25) (layer F.Cu) (net 1) (tstamp 58CAFD4A)) (segment (start 86.36 28.575) (end
File GND_name_none.kicad_pcb fehlerhaft net 0 (segment (start 59.055 29.845) (end 60.325 28.575) (width 0.25) (layer F.Cu) (net 0) (tstamp 58CAFD48)) (segment (start 60.325 28.575) (end 86.36 28.575) (width 0.25) (layer F.Cu) (net 0) (tstamp 58CAFD4A)) (segment (start 86.36 28.575) (end
-
Thread
AVR Attiny10 External Interrupt in C
zumindest GCC auf nem Tiny versuchen, und dass es daher nicht vergemene Liebesmüh ist, den Support in avr-gcc und avr-libc weiter auszubauen, was entgegen deine Unkenrufe auch geschieht.
Support > in avr-gcc und avr-libc weiter auszubauen, was entgegen deine Unkenrufe > auch geschieht. Es ist schwer zu verstehen, dass Du nicht verstehst, ich hab' schon wesentlich bessere Posts von Dir gesehen. Es
-
Thread
PWM interrupt am LPC2148
Prozessoren gibt? Ich habe gerade mal die beiden genannten Reihen überflogen. Der LPC2148 hat ein LQFP64 Gehäuse. In beiden Familien habe ich keinen Prozessor mit identischem Gehäuse gefunden. Bei Mouser finde ich immerhin zwei: MKV31F512VLH12 LPC54113J128BD64QL
Thorsten E. schrieb im Beitrag #4930574: > MKV31F512VLH12 > LPC54113J128BD64QL Die sind bestimmt nicht pingleich. Ich befürchte genau für den LPC2148/64 gibt es keinen Ersatz, obwohl es hier behauptet wird: "Pin-compatible with ARM7 LPC2x00" http://www.nxp.com/products
-
Thread
Atmega - Messunsicherheit
Warmwasserspeicher MP2: Außentemperatur MP3: Temperatur im Viessmann-Boiler Volt: Spannungsmessung #1: 28 7 43 2,61 #2: 35 13 47 2,53 #3: 25 5 36 2,64 #4: 32 11 42 2,56 #1: 39 17 50 2,48
... und "sortiert: > #1: 39 17 50 2,48 > #2: 35 13 47 2,53 > #4: 32 11 42 2,56 > #1: 28 7 43 2,61 > #3: 25 5 36 2,64
-
Thread
Atmega328P ADC Problem
PORT C 0 (23) = PORT C 1 (24) = PORT C 2 (25) = PORT C 3 (26) = PORT C 4 (27) = PORT C 5 (28) = PORT D 0 ( 2) = Anschluss 11 am LCD = DB4 PORT D 1 ( 3) = Anschluss 12 am LCD = DB5 PORT D 2 ( 4) = Anschluss 13 am LCD = DB6 PORT D 3 ( 5) = Anschluss 14 am LCD = DB7 PORT D 4 ( 6) = Anschluss
und Teilungsfaktor auf 64 stellen ADCSRA = (1<<ADEN) | (1<<ADPS2) | (1<<ADPS1); // Kanal des Multiplexers waehlen // Interne Referenzspannung verwenden (also 2,56 V) ADMUX = channel | (1<<REFS1) | (1<<REFS0);
-
Thread
STM32: Arrays und Performance
Os | O1 | O2 | O3 ------|--------|--------|--------|--------|------- 8bit | 88.10s | 28.82s | 29.64s | 23.73s | 22.67s 32bit | 90.12s | 33.97s | 32.79s | 25.69s | 26.78s unsigned: | O0 | Os | O1 | O2 | O3 ------|--------|--------|--------|--------|------- 8bit | 88.12s | 30.88s | 32.84s | 21.73s | 21.71s 32bit | 87.06s | 29.86s | 33.79s | 28.76s | 23.72s [/pre]
-
Thread
AVR Simulator mit grafischer Benutzeroberfläche für Linux
amd64 1.3.2-6+b1 amd64 Fast Light Toolkit - OpenGL rendering support ii libfltk-images1.3:amd64 1.3.2-6+b1 amd64 Fast Light Toolkit - image loading support ii libfltk1.1:amd64 1.1.10
Neuigkeitem mehr gab: Ich habe gerade src_20190427-1040.tar.gz unter Debian 5.10.179-1 (2023-05-12) x86_64 GNU/Linux compiliert und erhalte eine Warnung: [c] ~/AVR/avrsim/src$ ./c In file included from avrsim.cpp:326: config.c: In function ‘void writeConfig()’: config.c:185:11: warning: ‘%s’ directive
-
Thread
Werden Atmels 8-Bit-Mikrocontroller teurer?
sich immer. Von AVR zu AVR ist das immer noch um > Meilen einfacher als jeder Architekturwechsel. Nicht gelesen was ich geschrieben hab? Der Architekturwechsel war trivial, nachdem Programm und Treiber sauber getrennt
). Vielleicht werden diese ja zu einem zweiten Standbein des Forums, neben AVR.
-
Thread
Liste von AVR mit PDI Programmierschnittstelle gesucht
28i:81041,v:!%281,2,3,4,5,6,7,8,9,10,11,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79%
29%29,%28i:8392,v:!%280,1%29%29,%28i:8378,v:0%29,%28i:8445,v:!%281,4,5,6,7,9%29%29,%28i:8236,v:!%280,36%29%29,%28i:8449,v:!%281,11%29%29,%28i:8474,v:!%280%29%29,%28i:8248,v:!%280,1%29%29,%28i:8264,v:!%280,5%29%
-
Thread
Fading in Schleife
Artikel dazu gelesen. Mein Code führt dazu das die LED ehr unkoordiniert flackert. [c] #include <avr/io.h> #include <avr/interrupt.h> #include <stdint.h> #include <stdbool.h> #define LED_DDR (DDRD) #define LED_PORT (PORTD) #define LED (1<<3) static const uint16_t pwmtable_16[256] PROGMEM
10, 10, 11, 11, 12, 12, 13, 13, 14, 15, 15, 16, 17, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 31, 32, 33, 35, 36, 38, 40, 41, 43, 45, 47, 49, 52, 54, 56, 59, 61, 64, 67, 70, 73, 76, 79, 83, 87, 91, 95, 99, 103, 108, 112, 117, 123, 128, 134, 140, 146, 152, 159, 166, 173, 181, 189
-
Thread
Binäreeingang mit 32 Ausgänge
Willst Du immer nur genau eins der 64 Relais schalten oder beliebige Kombinationen?
Nicole28 schrieb im Beitrag #4886258: > Ich habe vor eine Relaiskarte > zu bauen, der eigentlich 64 Ausgänge haben soll Bist du dir klar darüber, was für eine Monsterplatine das wird? Ich würde da mehrere
-
Thread
if condition schöner schreiben?
ich wollte fragen ob es eine schönere Lösung > dafür gibt? eventuell so [c] if ( i > 0 && < i 28 && ( i & 4 == 0 ) ) { } [/c]
[c] switch( PINB ){ case 0 ... 63: case 128 ... 191: led_on(); break; case 64 ... 127: case 192 ... 255: led_off(); break; } [/c] sondern: [c] if( PINB & 1<<6 ) led_off(); else led_on(); [/c]
-
Thread
Horizon EDA [War: Neues, halbfertiges Elektronik-CAD-Programm]
/unix/sysv/linux/raise.c:51 #1 0x00007ffff22cd19a in __GI_abort () at abort.c:89 #2 0x00007ffff28e3b85 in __gnu_cxx::__verbose_terminate_handler() () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #3 0x00007ffff28e1956 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #4 0x00007ffff28e19a1 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #5 0x00007ffff28e1be4 in () at /usr/lib/x86_64-linux-gnu/libstdc++.so.6 #6 0x00007ffff290a15f in std::__throw_out_of_range(char const*) () at /usr/lib/x86_64-linux-gnu
-
Thread
SDR-Dekoder für TFA KlimaLogg Pro/IT+ Temperatursensoren
ID 7e5e +22.7 41% seq e lowbat 0 RSSI 80 #013 1509614450 2d d4 65 f1 85 11 31 60 20 56 28 BAD 3 RSSI 65 (CRC 28 1b) #014 1509614452 2d d4 15 43 86 92 1d 60 c0 56 63 ID 1543 +29.2 29% seq c lowbat 0 RSSI 80 #015 1509614454 2d d4 12 00 08 82 32 00 01 02 44
ist für x86_64 zu berücksichtigen.
-
Thread
Arduino - Speicheroptimierung?
und den Rest vom externen Server nachladen zu lassen. Zusammenführen macht der Webbrowser. Der AVR muss nicht Reverse-Proxy spielen. AJAX dann natürlich direkt zwischen Webbrowser und AVR.
ohne AVR, also "trocken", zu üben.
-
Thread
SD Karte(FatFs) verträgt sich mit ENC28J60 nicht
#4882917: > Warum wird dein ENC, der > anscheinend mit 3,3V betrieben wird, direkt an deinen 5V AVR > angeschlossen? Die Eingänge des ENC28J60 sind 5V Tolerant, die brauchen nicht umbedingt ein Pegelwandler. Falk B. schrieb im Beitrag #4882917: > Für MISO fehlt ein Pegelwandler von 3,3 auf
am CS Signal nicht, 10k gegen +5V. Dann kann man den AVR auch ohne Probleme uns sinnlose Längswiderstände am SPI programmieren. https://www.mikrocontroller.net/articles/AVR_In_System_Programmer#ISP-Pins_am_AVR_auch_f.C3.BCr_andere_Zwecke_nutzen
-
Thread
Programmable Waveform Generator
und entsprechend die Toneinstellungen geändert. Das alles in PWM-Ausgang. Dafür brauche ich AVRs, wo 64 MHz-PLL für PWM zu haben ist. Mit Interrupts von einem anderen Timer, der von externen Frequenz gesteuert wird (um die Tonhöhe homogen zu haben, da bei fast allen AVR PLL nur von RC-Oszillator arbeiten
Stimme genug zu tun, und das Wichtigste ist ja, immer und wieder rechtzeitig neue Byte auszugeben. AVR in DIP28 kostet so wenig, daß es sich lohnt, eher mehr AVR zu benutzen, als komplizierte 8-bit-Bus auf einer Platte auf mehreren Verbraucher zu führen. D.h. einfach AVR-Port als Register für parallele
-
Thread
Buck-Converter Transistor-"Abschaltkurve"
+208+176+0%0Ar+208+128+208+96+0+470%0AR+208+64+208+32+0+0+40+12+0+0+0.5%0Aw+208+64+288+64+0%0Aw+288+64+368+64+0%0At+336+176+368+176+0+-1+12.824595814789165+-7.066347507134196e-11+100%0Aw+368+160+368+64+0%0Aw+336+176+288+176+0%0Aw+368+192+368+224+
+16+64+0+2083+80+3.2+0+-1+0%0A
-
Thread
Autodesk Eagle 8.0 ist da.
8-er Free-Versionen ausschließlich 64 Bit und nur Englisch ?
19% Umsatzsteuer auf 86 Euro sind immer noch 28 Euro weniger.
-
Thread
Diverse Anliegen (Bauteile, Leitungen, LEDs uvm)
. Gibts da was "einfacheres"? Bei teilen mit bestimmten Gehäusen sind diese ja gleich. Also TQFP64, SOP28, TO220, usw. Diese sind ja "genormt". Wie ist das bei Elkos und Kondensatoren. Bei SMD muss ich nur auf die Gehäuse achten, richtig? Was ist der unterschied zwischen Keramik und Folienkondensator
schrieb im Beitrag #4866992: > Bei teilen mit bestimmten Gehäusen sind diese ja gleich. Also TQFP64, > SOP28, TO220, usw. Diese sind ja "genormt". Wie ist das bei Elkos und > Kondensatoren. Es gibt sicher irgendwelche "gaengigen" und "exotischen" Gehaeusegroessen. Musst du halt ein paar Datenblaetter