-
Thread
sei nicht schlauer als der Compiler?
MULS, FMULS, MULSU, FMULSU, LSR¹, ASR¹, NEG, BRLO, BRSH, BRLT und BRGE. ———————————— ¹) als Division durch 2 betrachtet
-
Thread
Was macht diese Bascom Zeile?
BasBeginner schrieb im Beitrag #5056599: > Ist das eine Division durch 8 ? Nein, eine Division durch 256. Eine 8-fache division durch 2.
löst man es so, weil es schneller geht, sprich die Zeitintensiven divisionsroutinen umgeht.
-
Thread
[WARNING] Intel Skylake/Kaby Lake processors: broken hyper-threading
Teil der Adressbits, nimmt also Fehlerkennung in Kauf. Peinlicher war freilich der bekannte Divisionsfehler von Intels Pentium. Der überhaupt erst dazu führte, dass Buglisten öffentlich wurden. Davor waren sie nur per NDA zu erhalten. Peinlich deshalb, weil der nicht durch unglückliches Zusammenspiel
-
Thread
Embedded Optimierung einer Addressberechnung
ob man die Rechnung noch vereinfachen kann. D.h. Modulos nach Möglichkeit nicht nutzen und die Division nach Möglichkeit vermeiden. Sehr ihr da noch Optimierungspotential? Danke schon mal im Voraus für eine konstruktive Diskussion!
dass ich diese eine Division akzeptieren kann. Wichtig war mir dass die Modulos weg kommen. Danke dir! BTW. In der geschriebenen Excelformel zum Endergebnis AddrCount war noch ein Fehler. Es wird hier nicht die Zwischensumme
-
Thread
Uart Kommunkation fehlerhaft - debug vs flash download
tim_capture_handle.Init.Period = 0xFFFFFFFFul; //jt löschen 0xFFFFFFFFul; tim_capture_handle.Init.ClockDivision = 0u; tim_capture_handle.Init.RepetitionCounter = 0u; /* define internal HAL driver status here as handle structure is defined locally */ __HAL_RESET_HANDLE_STATE(&tim_capture_handle
-
Thread
Binär Dividierer: Restoring Methode
------------------------ -- restoring.vhd -- -- Implements a sequential version of restoring division algorithm -- section 3.2 Loop-unrolling and digit-serial processing -- x = xn-1 xn-2 ... x0: natural -- y = yn-1 yn-2 ... y0: natural -- condition: x < y -- quotient q = 0.q1 ... qp: non-negative
Hallo, ich habe den Code nicht selber geschrieben. Ich versuche die restoring division Methode zu verstehen, deshalb hat sich das angeboten, ein schon gegebenes VHDL zu simulieren. @Duke Scarring, ich hatte einen Fehler in meiner Testbench. Jetzt läuft es und ich habe deine Testbench
-
Thread
STM32L Timer Problem
// htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 0; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; // TIM_CLOCKDIVISION_DIV4; if (HAL_TIM_Base_Init(&htim2) != HAL_OK){ _Error_Handler(__FILE__, __LINE__); } __HAL_TIM_SET_COUNTER(&htim2, 32); // Nur zum
-
Thread
Welche Programmiersprache auf µC
weitere Dateien wühlen. Es geht dabei nichtmal darum, den Plus-Operator etwa zum Zwecke einer Division mißbräuchlich zu überladen (das tut real niemand), sondern daß es bei bestimmungsgemäßem Gebrauch schon problematisch wird. > Denn schlechten, unlesbaden und unverständlichen Code kann > man
-
Thread
Cortex M4 und FPU Performance
VABS.F32 Absolute value 1 VADD.F32 Addition 1 VSUB.F32 Subtraction 1 VMUL.F32 Multiply 1 VDIV.F32 Division 14 VCVT.F32 Conversion to/from integer/fixed-point 1 VSQRT.F32 Square root 14 [/pre] SQRT und DIV brauchen 14 Zyklen ... Ist aber immer noch schneller als iterativ die Wurzel zu bilden ...
-
Thread
Suche einen Namen für Funktion
; > informCoder(" refactor your code for better readability "); > } > } > > [/c] Division by zero error in line 3.
refactor your code for better readability "); >> } >> } [/c] >> >> Autor: Eric B. (beric) >Division by zero error in line 3. Danke. Das zeigt, wie gut Code ohne Kommentare lesbar sein kann und gleich verstanden wird :-)
-
Thread
Baudrate RS232 herausfinden
0xFF40) / 0x80 = -1.5 usw. Das sieht für mich nach einer Form von Festkomma-Arithmetik aus. Die Division durch 0x80 entspricht einem entsprechenden Shift nach rechts. EDIT: Siehe auch [[Festkommaarithmetik]]
-
Thread
tüv drehzahlsensor
Algorithmen ("YIN" und "McLeod"). Aufgrund der notwendigen vielen Multiplikationen (und einiger Divisionen) ist das allerdings recht rechenaufwendig. Und braucht recht viel Hirnschmalz.
-
Thread
Modulo mit Shift in C, wie?
gewundert; aber beim STM32 kann ich fast nicht glauben, dass es daran liegt. iirc kann der doch Division in Hardware; da waer's sehr verwunderlich, wenn das laenger dauern sollte als eine handgebastelte shifterei. Wie kommst du drauf, dass das lange dauert? Schon mal geguckt, was der Compiler draus
-
Thread
Potiwertebereich für AnalogWrite anpassen
int Variablenüberlauf ist mal eine Ariane-Rakete abgestürzt. Weiter ist dir kekannt daß int divisionen abschneiden. Also 11/12 ist bei int 0!
Und wenn es dann noch ohne Division abgehen soll, geht auch etwas in der Art[pre]y = (x * 1478 - 248130) / 4096[/pre]
-
Thread
Frequenzteiler HC393, ein Rechtecksignal funktioniert, das andere nicht
kurz wie möglich. > > Schau dir mal die Flanken der Signale an bei 500 oder weniger ns pro > Division. Und mit kurzem Gnd-Stripperl der Probe. > > Jeder mm Draht hat ein paar nH Induktivität, bei steilen Signalen > ergeben sich wunderbare Schwingkreise mit den Eingangskapazitäten der > ICs.
alles wie erwartet. > Schau dir mal die Flanken der Signale an bei 500 oder weniger ns pro > Division. Und mit kurzem Gnd-Stripperl der Probe. Blitzsauber, aber das waren sie schon vorher.
-
Thread
Assembler (AVR) Freaks bitte: der schnellste Weg, einen ganzzahligen Wert zu skalieren? Gesperrt
) Division/Addieren, uint8_t, fest > 4) FastScale, template, fest (wie Division/Addieren) > 5) Lookup, template, variabel > 6) Lookup, template, fest > 7) asm,
. Ja. Irgendein Unterschied zwischen <= v6 und >= v7. Die alte(n) Version(en) machen keine Division, die neue(n) aber schon.
-
Thread
STM32F07VG Discovery - Timer + Sleep
TIM_TimeBaseStructure.TIM_Period = 65535; TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInit(TIM3, &TIM_TimeBaseStructure); /* Prescaler configuration */ TIM_PrescalerConfig(TIM3, PrescalerValue
-
Thread
Hersteller gesucht Bild angefügt
Draloric Electronic GmbH. With the acquisition of Draloric Electronic GmbH by the electronics division of Corning Glass Works in 1981, the name was changed to Corning-Draloric, which lasted until its acquisition by Vishay Intertechnology in 1987. Vishay Draloric is a leading brand for MELF resistors
-
Thread
CAN bus message, stm32f407
auf die ID 0x67 prüfst , dann den Zähler erhöhst. Mit dem Zähler kannst du dann den Rest einer Division durch nehmen und den auf [c] if((counter1 % 10) == 0) [/c] prüfen. Damit sollte es gehen , wenn sende Puffer und Empfangspuffer getrennt sind. Welche ID hat deine Antwort ? Wenn die größer
-
Thread
ETR1 Timer2 PWM
Init.CounterMode = TIM_COUNTERMODE_CENTERALIGNED3; htim2.Init.Period = 500; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim2) != HAL_OK) { Error_Handler(); } if (HAL_TIM_PWM_Init(&htim2) != HAL_OK) { Error_Handler(); } sSlaveConfig.SlaveMode
-
Thread
STM32 - DC Motor - PWM Steuerung - Period/Pulse
TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_Period = 8399; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up ; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode
-
Thread
STM32F407V - Counter i = i + 1 (?)
TIM_TimeBaseStructure.TIM_Prescaler = 0; TIM_TimeBaseStructure.TIM_Period = 8399; TIM_TimeBaseStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseStructure.TIM_CounterMode = TIM_CounterMode_Up ; TIM_TimeBaseInit(TIM4, &TIM_TimeBaseStructure); TIM_OCInitTypeDef TIM_OCInitStructure; TIM_OCInitStructure.TIM_OCMode
-
Thread
Soft-PWM Tiny25
channel_select++; OCR1B=OCR1B_reload[channel_select]; } void main(void) { // Crystal Oscillator division factor: 1 #pragma optsize- CLKPR=(1<<CLKPCE); CLKPR=(0<<CLKPCE) | (0<<CLKPS3) | (0<<CLKPS2) | (0<<CLKPS1) | (0<<CLKPS0); #ifdef _OPTIMIZE_SIZE_ #pragma optsize+ #endif // Input/Output Ports
-
Thread
Frage zu GPIO STM32
); TIM_TimeBaseStructInit(&TIM_TimeBaseInitStructure); TIM_TimeBaseInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInitStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBaseInitStructure.TIM_Period = 0; setting TIM_TimeBaseInitStructure.TIM_Prescaler
-
Thread
STM32 C++ Memberfunktion in Interrupt
RCC_APB1PeriphClockCmd(RCC_APB1Periph_TIM2, ENABLE); TIM_TimeBase_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBase_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_TimeBase_InitStructure.TIM_Period = 9; TIM_TimeBase_InitStructure.TIM_Prescaler = 4199; TIM_TimeBaseInit
-
Thread
Zufallszahl mit falscher Verteilung
* (Max - Min) / 256 Dafür brauchst du noch nicht mal Gleitkommaberechnungen da du Anstelle der Division einfach die oberen 8Bit des Ergebnisses der Multiplikation verwenden kannst. Sascha
Warum? Weil sonst die Gleichverteilung flöten geht. Bei deinem Vorschlag entstehen durch die Division Nachkommastellen, die Abstände von benachbarten Zahlen im Zahlenbereich beträgt aber 1. Mit anderen Worten ... Bei einem ganzzahligen Vielfachen kann man die Verteilung gleichmäßig auf den gewünschten
-
Artikel
16/32Bit Computer/Konsole
internal memory; request in internal memory adr = sp; sp = sp + 1 neg da da = 0 - da udivgq da get division qoutinent udivgr da get division remainder udivgqh da get division qoutinent high [31 ..16] udivgrh da get division remainder high [31 ..16] udivsdd da set division divident udivsdv da set division
aus Geschwindigkeit und Hardwareaufwand zu ermöglichen. Wie bei einer normalen Division wird der Divisor und Dividend gesetzt, zusätzlich muss noch die Divsions-Bitbreite angegeben werden (max. 32 Bit). Durch den Befehl udivstep wird eine '1-Bit Division' ausgeführt, d.h. udivstep muss
-
Thread
C-Control PRO AVR32. Atan2 Funktion fehlt
ist. Du müsstest mindestens einen der beiden Operanden in ein Single konvertieren, damit die Division ebenfalls Single ist und damit seine Nachkommastellen behält. Wie das geht, weiß ich nicht. Wenn dir nichts besseres einfällt, kannst du es mit 1.0 * datx / daty versuchen, auch
Falls du nicht weiterkommst, kannst du ja mal die an der Berechnung beteiligten Operationen (Division, fabs, Vergleich, atan und die Ausgabe) mit verschiedenen Operanden (Integer, Single, positiv und negativ) einzeln testen, - um zu sehen, und welchen Bedingungen die Fehler passieren, und
-
Thread
Frage zur Periodenlänge von LFSR (Linear Feedback Shift Register)
+ b^3 denn in Z/3Z ist 1 + 1 + 1 = 0. Prüf's einfach nach und addiere 3 ganze Zahlen, die bei Division durch 3 Rest 1 haben. Das Ergebnis der Addition ist immer durch 3 teilbar, d.h. 0 mod 3, d.h. die 0 in Z/3Z. > Johann L. schrieb im Beitrag #4995576: >> Als Startwert nimmt man s_0 = 1, und in
abziehen, ohne dass sich der Wert mod P ändert. Ist ganz analog zum Rechnen in Z/nZ: Der Rest bei Division durch n ändert sich nicht, wenn man beliebige Vielfache von n addiert: a mod n = (a + k·n) mod n für beliebige a, k aus Z und n aus Z\{0}. > X^2 - 1·(X^2 + 1) = -1 und fehlt da ne Klammer um
-
Thread
STM32 - relativ praezises Delay ohne Timer
Der Trick, die Division für den Takt in eine Init auszulagern, ist allerdings sehr gut. Der Div-Befehl kann je nach Daten unterschiedlich lange dauern. Beim Mul-Befehl muss man nur wissen, ob ST den großen oder nur den kleinen
-
Thread
Atmega 328p Referenzspannung und Kanal wählen
eine schlechte Idee. Da muß der Controller richtig rechnen. Nimm 4 oder 8 Werte. Dann wird die Division mit einer einfachen Schiebeoperation erledigt. Wenn der Akku die Versorgungsspannungsquelle des Controllers ist, kann man die Spannung auch intern und ohne externe Beschaltung mit Bandgap gegen
eine schlechte Idee. Da muß der Controller > richtig rechnen. Nimm 4 oder 8 Werte. Dann wird die Division mit einer > einfachen Schiebeoperation erledigt. Das ist eine gute Idee. Viele Grüße Torsten
-
Thread
Alternativen zum Binärsystem?
nicht proportional n bzw. log(n) ist sondern fix (2) je Operation Einsatz z.Bsp. in Serieller Division (digit online), Aktivierungsfunktion eines Neurons, Flächenreduzierter CORDIC ... Also über all, dort wo man in der Arithmetik möglichst frühzeitig einen Größenvergleich für die weitere Berechnung
-
Thread
Gemischte Datentypen
einer arithmetischen Operation in > die Variable eines anderen Datentyps zu speichern? Für Division (32 Bit geteilt durch 16 Bit ergibt 16 Bit) ginge das, für alle anderen klassischen Operationen (Addition, Subtraktion, Multiplikation, beliebige Bitoperationen) nicht.
S. R. schrieb im Beitrag #4989038: > Georg M. schrieb: > > Für Division (32 Bit geteilt durch 16 Bit ergibt 16 Bit) ginge das, für > alle anderen klassischen Operationen (Addition, Subtraktion, > Multiplikation, beliebige Bitoperationen) nicht. Nein stimmt nicht
-
Thread
Atmega32 ADC0 bis ADC7 nur High oder Low erkennen
einfach nur, aber ausgeführt wird er doch zur Laufzeit. Sprich es findet eine Multiplikation und eine Division mit float Werten statt. Einzig der Wertevergleich ist dann auf Integerbasis und sollte schneller gehen. Das Rechnen mit float Werten spart man sich dadurch ja nicht. Oder meintest Du, dass damit