-
Thread
AVR C implizite Typkonvertierung, fehlerträchtig oder falsch?
höherwertigen Bytes des Rückgabewerts von millis() enthält. Sowohl die Schiebeoperation als auch die Division durch 65536 optimiert der Compiler zu - nichts. In jeder Optimierungsstufe außer O0 - da kopiert er die Daten ein bißchen im Kreis herum. > Für Menschen die den AVR nicht von innen und aussen kennen
-
Thread
Übertragungsfunktion mit Sapwin, geht nicht
erstmal erkennen ob gleiche Faktoren im Zähler und im Nenner da sind und dann man manuell eine Division machen. Da man ja im Normalfall nicht weiß, dass da gleiche Faktoren drinstecken ist das nicht befriedigend. 2. Nur wenn deine Bauteile in beiden Pfaden exakt gleich sind, ist es egal ob die Eingangsquelle
-
Thread
STM32 Timer muss skaliert werden für richtige Messung
htim9.Init.CounterMode = TIM_COUNTERMODE_UP; htim9.Init.Period = 65535; htim9.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_OC_Init(&htim9) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } sConfigOC.OCMode = TIM_OCMODE_TIMING; sConfigOC.Pulse = 0; sConfigOC.OCPolarity
-
Thread
Ultraschallsensor und ATmega 2560
wie viel Rechenzeit wiegen dieser Zeile bei jedem Schleifendurchlauf drauf geht. Du hast da eine Division und eine Multiplikation bei jedem Schleifendurchlauf. Besser so: > if (getUSTimePerCM() - lastChecked >= 60*1000/58) { Der Unterschied ist, dass in diesem Fall die Multiplikation und die Division beide vom Compiler vorberechnet werden können. Die Kosten zur Laufzeit sind 0. 60*1000/58 = 1034. Das würde ich in eine definition auslagern, um dem Ausdruck einen sprechenden Namen zu geben
-
Thread
Wird analoge Technik jemals aussterben?
so viel, daß sie es sogar benutzen: https://www.itwissen.info/Wellenlaengenmultiplex-wavelength-division-multiplexing-WDM.html
viel, daß sie es sogar benutzen: > https://www.itwissen.info/Wellenlaengenmultiplex-wavelength-division-multiplexing-WDM.html Interessant, wusste nicht, dass man da schon unterwegs ist. :-)
-
Thread
Name und Nachname in der Versionsverwaltung nach Kündigung
Problem ist, dass Entwickler oft Leichen im Keller produzieren. Schlechter Code, Off-By-One Errors, Division by Zero, Zeigerfehler, die oft erst Jahre nach dem Ausscheiden des Entwicklers dem Arbeitgeber um die Ohren fliegen, oft erst im Feld. Dann ist der Entwickler nicht mehr da, um Emotionen zu regulieren
-
Thread
Komische Werte werden berechnet.
Ganzzahligkeit. 1000/255 = 3.92.. abgerundet (integer division) 3. 3 * 255 = 765
Teilausdruck nur Integer Parameter hat, dann wird mit einem Integer Algorithmus gerechnet. Der Rest einer Division wird dabei verworfen. Das ist jetzt auch kein Special in C, das machen viele andere Programmiersprachen ebenso.
-
Thread
Programmiersprache C; natürlicher Logarithmus
solltst du das selbst können, ohne hier zu spicken. Aber ich will dir mal nen Tip geben: Pseudo-Division und Pseudo-Multiplikation. So, ein bissel Theorie an einer benachbarten Funktion: Nehmen wir mal an, du willst/sollst e^x berechnen, also verbal "e hoch x" und das im Bereich 0 bis 1. Jetzt
-
Thread
SAMD21 Probleme mit den Timern (Interrupt)
GENDIV settings GCLK_GENDIV_Type gclk1_gendiv = { .bit.DIV = 1, /* Set output division factor = 1 */ // .bit.ID = GENERIC_CLOCK_GENERATOR_XOSC32K /* Apply division factor to Generator 1 */ .bit.ID = 0x04 }; // Write these settings GCLK->GENDIV.reg = gclk1_gendiv.reg
GENDIV settings GCLK_GENDIV_Type gclk3_gendiv = { .bit.DIV = 1, /* Set output division factor = 1 */ .bit.ID = GENERIC_CLOCK_GENERATOR_OSC8M /* Apply division factor to Generator 3 */ }; // Write these settings GCLK->GENDIV.reg = gclk3_gendiv.reg; // Configure
-
Thread
Alte Taschenrechner Potenzierung mit negativer Basis
klassische Zahlenstrahl ist die "X-Achse". Dann definiert man sich noch die Multiplikation und Division und erhält ein System in welchem Kommutativität, Assoziativität und Distributivität erhalten bleiben und man (fast) genau so rechnen kann wie bekannt. Mit so Gedanken-Krücken wie Sqrt(-1) muss man
-
Thread
Verständnisfrage: Warum regelt mein I-Regler nicht?
gesucht hatte :-) Lothar M. schrieb im Beitrag #5634684: > Hast du mal angesehen, wie diese Division umgesetzt wird? Nein, aber die Division ist in beiden Varianten ja gleich? Ich hatte eher die Vermutung dass ich bei der Variablen einen Denkfehler habe... Lothar M. schrieb im Beitrag #5634684
einzubauen? D.h. den Prozess in 2 aufzuteilen, und im ersten z.B. die Multiplikation und im 2. die Division + Begrenzung durchzuführen?
-
Thread
Signal mit Faktor multiplizieren
gelöst worden, und zwar mit Analogrechnern (in Schrankgröße). Addition, Subtraktion, Multiplikation, Division, Differentiale und Integrale, alles war machbar. Heute geht das analog mit kleinen Operationsverstärkern. Schau Dir mal die Grundschaltungen an. Gruß - Werner
-
Thread
[Verschenke] Altes Analog Oszilloskop
Sinus mit 20 MHz, hier geht die Amplitude schon erkennbar runter, bzw. das ist die Bandbreite (Division war nicht zwangsweise fest zwischen den Fotos). Das ganze währe abzuholen in Gilching bei München. Sofern jemand möchte, bitte um kurze PN und kurze Notiz was Du damit machen magst. Viele
-
Thread
MATLAB: Merkwürdigkeit bei Ganzzahl-Division
unterschiedlich sind. Der ARM (bzw. der C-Compiler) verhält sich so, wie ich das bei einer Integer-Division erwarte: Es wird nur der Ganzzahlanteil des Quotienten berechnet, ein eventueller Divisionsrest verworfen. 3/2 ergibt also 1. Dies ist äquivalent zu einem Abrunden auf die nächstniedrigere Ganzzahl
tatsächlich "working as intended" https://de.mathworks.com/help/matlab/ref/rdivide.html?searchHighlight=division&s_tid=doc_srchtitle
-
Thread
Modulo in C richtig
int8_t i = 0; i < 10; ++i) std::cout << int { counter3.count () } << std::endl; }[/c] Keine Division, keine Möglichkeit einen zu hohen Wert zuzuweisen.
Peter D. schrieb im Beitrag #5622506: > Auf MCs ohne HW-Division muß dazu aber die Math-Lib aufgerufen werden, Das ist sogar auf einigen der großen ARM Cortex-A so. Die haben ebenfalls keine Hardware-Division (da man Division so selten braucht, ist es sinnvoller
-
Thread
Benchmark bei verschiedenen addierern
multiplizierern und ähnliches "Eigenkreationen" zu entwickeln? Wie schaut es da mit der modularen Division aus? Gibt das Synthesetool eigentlich Fehlermeldungen aus, wenn man z.b. das "%" verwendet und dieses nicht synthetisierbar ist?
Taktfrequenz. Ist wohl vor allem fuer die Profi-Codeknacker ein KO-Kriterium... Aber ein Modulo oder eine Division oder Wurzel oder ARCTAN oder oder must du aus den vorgegebenen Elementen (LUTs) zusammenbasteln.
-
Thread
Dekrementieren vs. Subtrahieren (n-- vs n-1)
richtigen™ funktionalen Sprache werden die redundanten Aufrufe erkannt und wegoptimiert... Die unnötige Division allerdings vermutlich nicht.
-
Thread
EMV Probleme mit SDIO Interface
mir auch > komisch vor (gemessen mit einem 100MHz Oszi). Ja sehr! CLKDIV auf 5 gestellt (d.h. Division des 48MHz-Takt durch 7)? Im RefMan heißt es ja: SDIO_CK frequency = SDIOCLK / [CLKDIV + 2]. Zeig mal deine SDIO-Initialisierung. Sicher dass der Systemtakt korrekt ist? Vielleicht mal den Quarz
-
Thread
HF-Stromtrafo paper
Electronic components & applications / Philips Gloeilampenfabrieken, Electronic Components and Materials Division Ort/Jahr: Eindhoven : Philips, 1978-1992 Ersch.-verlauf: 1.1978/79 - 10.1991/92; damit Ersch. eingest Bibliogr. Zusammenhang: Vorg.: Electronic applications bulletin. Vorg.: Mullard technical
-
Thread
PID-Regler: Wie schnell ist schnell genug?
erfolgen? Nur Du kennst Deinen Regelkreis und weißt, wie schnell er sein muß. Du hast nen Haufen Divisionen durch Konstanten drin, die kann man bequem aus der Schleife herausziehen.
Regelschleife konstant. Du mußt sie daher nur dann neu berechnen, wenn Du sie auch änderst. Divisionen sind recht langsam. Daher lohnt es sich, sie aus der Schleife heraus zu ziehen.
-
Thread
Geteilt Rechnung vereinfachen in C
Ob mit oder ohne Compileroptimierung, die Division dauert immer gleich lang. Es wird immer die gleiche Lib aufgerufen. Man kann zur Optimierung aber auch float statt long nehmen. Float berechnet nur 24 Bit und ist daher schneller.
Zerlegung in einen Kettenbruch Ich werfe mal Subtraktion und Addition in einer Schleife ins Forum. Division ist wiederholte Subtraktion, also kann man das auch so hinschreiben.
-
Thread
STM32F103 Timer 3
50MHz; GPIO_Init(PWMTIM1PORT, &GPIO_InitStructure); TIM_TimeBase_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBase_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBase_InitStructure.TIM_Period = 999; TIM_TimeBase_InitStructure.TIM_Prescaler = 0; TIM_TimeBaseInit
50MHz; GPIO_Init(PWMTIM3PORT, &GPIO_InitStructure); TIM_TimeBase_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBase_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBase_InitStructure.TIM_Period = 999; TIM_TimeBase_InitStructure.TIM_Prescaler = 0; TIM_TimeBaseInit
-
Thread
Interrupt: - STM32f302cc - TIM2_Handler Wird nicht aufgerufen
htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 8400; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.RepetitionCounter = 0; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; HAL_NVIC_SetPriority( (IRQn_Type)TIM2_IRQn, 5,1 ); HAL_NVIC_EnableIRQ
htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 8000; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.RepetitionCounter = 0; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; HAL_TIM_Base_Init(&htim2); HAL_TIM_Base_Start_IT(&htim2);
-
Thread
gcc Division negative int32 Zahl durch unsigned int32 ->Käse..
] cval/=steilheit; return(cval); } [/c] liefert Blödsinn wenn cval vor der Division negativ ist, hätte ich nicht gedacht, ist aber klar mein Fehler, auch wenn der gcc (5.4.0) nicht warnt. Ein cval/=(int32_t)steilheit; vertreibt das Problem. Gruß, Holm
und bleibt ein architektonisches Minenfeld. UB beim Überlauf wenn signed, das Problem hier mit Division und noch schlimmer bei größer oder kleiner, integral Promotion oder %i, die nicht durch einfaches uint_xx portabel werden, ... Und das für all die Werte, die doch "sowieso eigentlich nie" größer 100
-
Thread
Verständnis Einheit dB µV/m/Hz
bei 1 Hz Bandbreite die > Referenzgrösse darstellt (0dB). Du meinst also im Endeffekt, die Division /m in der Einheit der Bezugsgröße ist eine "wirkliche" Division: man kann die Feldstärke mit einer Länge in Meter multiplizieren und erhält eine Spannung. Aber die Division /Hz ist dabei nur eine
Achim S. schrieb im Beitrag #5607271: > Aber die Division /Hz ist dabei nur eine symbolische Angabe: man darf > den Wert nicht mit der Bandbreite in Hz multiplizieren. Sondern man > "weiß" einfach, dass die Bandbreite nur in der Wurzel eingeht, > multipliziert
-
Thread
Unkomplizierte Berechnung oder doch schon Gleitkomma Berechnung?
Berechnung für den Prozessor ein Problem da bzgl. länger Rechnenzeit? Oder sieht er dieses als normale Division an? Lg
Rechnen mit Integer Zahlen finde ich korrekt. Kann man machen, aber da die Zahlen groß werden und Divisionen ohnehin "teuer" sind, könnte der Schuss nach Hinten losgehen. Ich würde beide Varianten ausprobieren, wenn es wichtig ist, Zeit zu sparen. Wenn Zeit egal und float genau genug ist, würde ich das
-
Thread
Rechen-Framework für VHDL
durchaus können könnte und IMO auch können sollte. Z.B. die Berechnung der Vektorbreite nach einer Division zweier Binärzahlen mit Vor- und Nachkommastellen: Die Position des Kommas ist eigentlich fest definiert und kann von mir im Kopf ja auch berechnet werden, Simulink kennt die aber nicht.
-
Thread
Rauschen nichtinvertierender OPA
Vorgehensweise eigentlich die Berechnung des Rauschens am Ausgang ist, und dann das RTI Rauschen durch division mit dem noise gain zu erhalten. -> Der sicherste wäre also zunächst das RTO (referred to output) Rauschen zu berechnen, ohne Berücksichtigung der Bandbreite bzw. endlichen open loop Verstärkung
-
Thread
Timer1ms bei TI Sitara
So kann u.a. aus dem 32768Hz-Signal der RTC ein 1000Hz-Takt erzeugt werden, d.h. praktisch eine Division durch 32,768. Das wird erreicht, indem der Zähler abwechselnd zwischen 32 und 33 umgeschaltet wird, d.h. die Periode des Ausgangstakts so variiert wird, dass in Summe 1kHz rauskommt. Leider wird
-
Thread
ADC: 16 Bit in 10 Bit
fehlt mir momentan der Unterschied / > Vorteil. Ist auch kein Vorteil, aber wenn man sich eine Division statt eines Shifts angewöhnt, stellt sich die Vorzeichenfrage garnicht erst ;)
-
Thread
Ersatz für einen Optokoppler mit langen Lieferzeiten
25000 direkt ab Lager lieferbar https://www.digikey.de/product-detail/de/vishay-semiconductor-opto-division/TCMT4100T0/TCMT4100T0CT-ND/7702407
-
Thread
Implementierungsfrage VHDL
sehr sparsam bzgl. Logik. Habe ich vor kurzem erfolgreich implementiert: "n-cycle restoring division algorithm"
schrieb im Beitrag #5591426: > Habe ich vor kurzem erfolgreich implementiert: "n-cycle restoring > division algorithm" Das hab ich schon gemacht, weil die IPs wie lpm_div nur bis 64Bit gehen :) Für Add, Sub und Compare hab ich das nicht ausprobiert. 25MHz Clock sind dafür gut genug - allerdings
-
Thread
LCD per I2C an AtTiny13 anbinden?
Flashs. Schlimmer noch: du willst ja deine Zahlen auch formatiert ausgeben, dafür braucht es eine Division durch 10, kostet auch nochmal Code. Von Gleitkommawerten reden wir gleich gar nicht … > Nun meine Frage: funktioniert das mit einen AtTiny13 mit nur 1KB und "Im Prinzip ja, aber …" > braucht
-
Thread
STM32 Shift operationen
zu schieben. Das (wie schon angemerkt) geht ohne Zwischenritt "Bit-Ermitteln" einfach durch Division seines ausgelesenen Wertes durch diese 0x400 (oder welchen Wert auch immer).
-
Thread
Drehregler Peter D Code
htim1.Init.CounterMode = TIM_COUNTERMODE_UP; htim1.Init.Period = 65525; htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim1.Init.RepetitionCounter = 0; htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_ENABLE; }[/c] Jetzt habe ich in der Interrupt Service Routines folgendes
-
Thread
Array mit Kommas getrennt ausgeben in C
printf ("%d", array [i]); > } Warum so kompliziert? Und ineffizient (doppelter printf-Aufruf, Division...)?
. Die Division wird wegoptimiert, macht aber den Code flexibler.
-
Thread
Rechnen mit Logarithmustabellen?
schneller? Ist das wirklich weniger fehleranfällig? Es geht deutlich schneller, vor allem bei Divisionen. Und gerade bei denen verringert sich auch die Fehlerneigung. Für den praktischen Einsatz taugen aber die vierstelligen Tafeln aus der Schule kaum; die eignen sich nur zur Demonstration. Bessere
-
Thread
Kleines Matheproblem (Positionsbestimmung)
anstellen, den Überblick behalten, konstante Ausdrücke durch eigene Bezeichner abkürzen und bei Divisionen aufpassen (dazu gleich noch was...). >Habe ich in all meinen Skripten, nur nicht hierher kopiert. OK - woher soll ich das wissen... >Mach dir einfach mal klar, wie schwer das werden kann
haben, die Null werden kann, und bei der Sonderbehandlung des Null-Falls müsste genau eine solche Division dann nochmal passieren mit einer anderen Größe. >Scheinbar ist die Mitte des Dreiecks keine behebbare Singularität, Es gibt jedenfalls eine stetige Fortsetzung dort. Ob man eine Lösung finden
-
Thread
Analogtelefon: Klingelspannung richtig?
Das sind 20V pro Division, oder?
foobar schrieb im Beitrag #5578953: > Das sind 20V pro Division, oder? Gute Frage. ;-) Dann reicht das.
-
Thread
Arduino: Typecast von float nach unsigned int Gesperrt
Auf einem PC gibt es z.B. bei Division durch 0 eine Fehlermeldung. Auf einem MC kommt dann aber typisch -1 raus und die CPU macht einfach mit dem nächsten Befehl weiter.
-
Thread
Neues Oszilloskop
- Waveform average, persistence, intensity, invert, addition, subtraction, multiplication, division, X-Y plot. - Save waveform in the following: text file, jpg/bmp graphic file, MS excel/word file. - One computer can connect many DSO, extend channel easily. Model: Virtual Oscilloscope
Vertical Mode: CH1, CH2, Dual, ADD Math: FFT, addition, subtraction, multiplication, division. Cursor: Frequency, Voltage Compensation Range: 15~45pF Operation Environment: 0~50°C,0~80%RH Storage Environment: -20~60°C,0~90%RH Product Weight: 716 G / 25.26 Ounces
-
Thread
Festkommaarithmetik
5000 kann man maximal um 8 kürzen, am besten durch 4, es bleiben 256 und 1250 d.h. statt der Division durch 256 lässt man das unterste Byte weg. Aber es gibt noch eine elegantere Lösung, wenn man sich die Bits und deren Wertigkeit ansieht: [pre] Bit Wert mV 9 512 2500 8 256 1250 7
-
Thread
Division mit Logikgattern
Dann hast du nicht aufgepaßt. Ende der Ansage. Der Trick ist: es gibt Sonderfälle bei der Division, die sich mit sehr viel weniger Aufwand in binärer Logik abhandeln lassen. Das Halbieren eines Wertes ist so ein Sonderfall...
Der Zähler enthält dann das ganzzahlige Divisionsergebnis. Das geht mit Logikgattern recht einfach. Habe ich damals im 1. Semester des Studiums mal mit einem CPLD gemacht.