-
Thread
STM32F446 - Timer kommt zu oft?
schreiben. BSRR ist aber ein schlechtes Beispiel, daher hier mit TIM_CR1_CKD: [c]void setClockDivision (uint8_t ckd) { TIM2->CR1 = (TIM2->CR1 & ~TIM_CR1_CKD_Msk) | (((uint16_t) ckd) << TIM_CR1_CKD_Pos); }[/c] Oder auch Werte abfragen: [c]uint8_t getClockDivision (void) { return (TIM2->CR1
> TIM_CR1_CKD_Pos; }[/c] Etwas kürzer gehts mit den vordefinierten Makros: [c]void setClockDivision (uint8_t ckd) { MODIFY_REG(TIM2->CR1, TIM_CR1_CKD_Msk, ((uint16_t) ckd) << TIM_CR1_CKD_Pos); } uint8_t getClockDivision (void) { return READ_BIT(TIM2->CR1, TIM_CR1_CKD_Msk) >> TIM_CR1_CKD_Pos
-
Thread
Umrechnung von Dezi zu HEX und Kontrolle
Man kann das aber auch selber schreiben. Mit etwas Bitoperationen geht das recht einfach. Mit Division und Modula aber auch (etwas langsamer)
-
Thread
STM32L1 PWM mit DMA falsche Periodendauer
TIM_CounterMode_Up; TimerInitStructure.TIM_Period = 0xFFFF; TimerInitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_TimeBaseInit(TIM2, &TimerInitStructure); //PWM CHANNEL OutputChannelInit.TIM_OCMode = TIM_OCMode_PWM1; OutputChannelInit.TIM_Pulse = 0; OutputChannelInit.TIM_OutputState
-
Thread
Auswahl eines ARM-µC für Einsteiger
Cortex M0+ die wichtigsten ARM-Vorteile wie bedingte Ausführung und Barrel-Shift eingespart wurden. Division hat er auch nicht. DMA haben auch beide.
M0+ die wichtigsten ARM-Vorteile wie bedingte > Ausführung und Barrel-Shift eingespart wurden. Division hat er auch > nicht. Mehr Einsatz von 16Bit und 32Bit Datentypen Verarbeitung und..... >DMA haben auch beide. Naja du möchtest doch jetzt nicht den sehr speziellen und begrenzten light
-
Thread
Wird ein Interrupt gespeichert?
möchte. *Synchrone Interrupts* stehen in direktem Zusammenhang mit dem Befehlsablauf. Sowas wie Division durch 0 fällt darunter. Werden oft auch zwecks Unterscheidung als Traps oder Exceptions bezeichnet. *Asynchrone Interrupts* werden von Ereignissen ausgelöst, die mit dem Befehlsablauf nichts zu
-
Thread
STM32 Timer External clock
Triggern. Das funktioniert mit folgender Initialisierung: [code] TIM_InitStructure.TIM_ClockDivision = TIM_CKD_DIV1; TIM_InitStructure.TIM_CounterMode = TIM_CounterMode_Up; TIM_InitStructure.TIM_Period = 0xFFF; TIM_InitStructure.TIM_Prescaler = 0; TIM_TimeBaseInit(TIM1, &TIM_InitStructure);
-
Thread
SD Karte mit FatFs über SPI an Atmega, wie kann man die Schreibgeschwindigkeit maximieren?
kodiert -> 16KB/s -> reicht doch? Wenn du aber alles in Dezimal umrechnest sind das ne menge Divisionen, und die Kosten auf nem AVR wirklich Zeit: https://www.mikrocontroller.net/articles/ArithmetikBenchmark Rechne dann mal mit einer Division pro Dezimalstelle. 10Bit->5 Stellen -> 245Takte pro Division
-
Thread
Zählerüberlauf
nennt sich der zweite Operand der Modulo-Operation Modul, Es klingt irgendwie logisch... Division -> Divisor (Teilung -> Teiler) Modulo -> Modul (mit dem Maß, Modus, Maß) Zumindest brauchbar, auch wenn schwer zu belegen. Danke für die Vorschläge.
-
Thread
Projektaufgabe: STM32F401 - FreeRTOS - LCD Modul - Taschenrechner
sein kann, also eigentlich 4 Zahlen (A=12,5 C=-12,5 B=2,3 D=-2,3). Multiplikation (A mal B), Division (A durch B) , Potenzieren (A hoch B), wenn möglich Wurzelziehen (Quadratwurzel https://de.wikipedia.org/wiki/Schriftliches_Wurzelziehen ) Ohne den Teil von Gruppe A geben Sie das Zeichen für
-
Artikel
Einfache Division in VHDL und ASM
in C programmierbar sind, bzw. nicht über Multiplikation oder Division verfügen, sowie für FPGAs und PLDs, in denen keine Multiplizierer zur Verfügung stehen, oder genutzt werden sollen. = Methode 1 = Eine Division kann bekanntermassen grundsätzlich durch eine inverse
0 1 1 1 0 1 0 0 1 1 0 1 0 0_0 1 0 1 0 0 1 0_0 0 0 1 = x/3 = 52 + 82/256 + 1/256/16 = 52,32 Eine Division durch 7 lässt sich mit nur 4 Vektoren (1/8 + 1/64 + 1/512 + 1/4096) auf 0,1% genau durchführen. Für weitere Divisionen mit 9,11,13,17 .. etc lässt sich eine Tabelle mit Excel oder MATLAB erzeugen.
-
Thread
"if" wird nicht richtig ausgeführt
reinpassen) und nur mit signed-Operatoren. Also kein Einer-Komplement ("~") und auch kein shift statt Division. Der Compiler kennt diese Tricks selber, aber er weiß auch, wann er sie benutzen darf. Erst wenn Bits und Takte ganz knapp werden, dann kann/muß man tricksen. Davor ist es nur verschwendete Zeit.
-
Thread
VHDL Grundlagen : Rechnen
gelegt. Die Testbench stellt sicher, dass b nie Null ist. Diese Aufgabe soll wie die schriftliche Division, also durch Vergleiche und Subtraktionen gelöst werden. Abzugeben ist wie immer nur die entsprechende VHDL Datei. Für die beiden Lösungsvarianten könnt ihr also diese Datei kopieren oder auch beide
-
Thread
AVR Assembler Division
Ich habe versucht, in Assembler eine Division von zwei 8-bit Zahlen zu berechnen, allerdings funktioniert das Programm bei einigen Zahlenwerten nicht (z.B. bei 130 / 2, bei 129 / 2 jedoch einwandfrei): [c] div: mov r18,r16 clr
STATUS,C ;C=0? dann ist Ergebnis negativ - Ende ; der Division GOTO Div8_8_Rest ;JA, Division beendet, Rest berechnen incf Quotient_0,f ;NEIN, Qoutient +1 GOTO Div8_8_Loop ;erneute Subtraktion Divisor-Dividend ; Div8_8_Rest
-
Thread
logarithmischer Detektor AD8362
XdBm/100Bit5 = -10dBm /180Bit5 <==> XdBm = -10dBm /180Bit5 *100Bit5 XdBm = -5,5dBm Bei der Division muss man noch passend Runden: wenn der Rest r: r = {0 : 0<= r <0.5 // 5 : 0.5<= r <1 }
-
Thread
AVR GCC Optimizer Level in C-Programm abfragen
times;i++) {sumADC += ADC_read(channel);} return sumADC/times; // das dauert länger wegen der Division } [/c] Was ich erlebt habe ist, dass der Optimizer mit -O2 und -O3 den Code messung1=ADC_read_avg(ADC_pin_check,2); nicht ausführt. Das umgehe ich, indem ich temporär auf -O1 zurückgehe,
RichardHi schrieb im Beitrag #5166561: > return sumADC/times; // das dauert länger wegen der Division ... Es sei denn die Funktion wird geinlined, die Division durch 2 ist schnell (bitshift). Le X. schrieb im Beitrag #5166565: > Stelle nur kurze, präzise Fragen die sich ebenso kurz und präzise
-
Thread
n-te Wurzel aus riesigen Zahlen ziehen, wie geht das?
das unabhängig von der Größe der ursprünglichen Zahl ist, so daß man einen passenden Pseudo-Divisionsalgorithmus benutzen kann. Die altbekannte Quelle für sowas (Lampe,Jorke,Wengel) hatte sowas mit dem Z80 für die Quadratwurzel mal durchexerziert. Bin jetzt aber zu faul, das alles wieder herauszukramen
-
Thread
Python Verständnisfrage
Ein Operator, dargestellt durch das Prozent-Zeichen (%), der mit Ganzzahlen arbeitet und für die Division einer Zahl durch eine andere den Rest berechnet. Gruß Newbie
-
Thread
Zwei Glühlampen widerstand
ganz andere Teile und zweitens zwei unterschiedliche Lampen. Da ist aber nichts mit einfacher Division zu machen.
-
Thread
1 Byte in dual 7 Segment Anzeige übersetzen
im Beispiel geht das schon. Schwierig wird die Division, wenn der Divisor variabel ist. Ich verwende dafür einen IP-Core der pro Bit einen Takt braucht. Duke
chris schrieb im Beitrag #5166495: > Ich dachte, Divisionen sind in VHDL zu vermeiden Divisionen durch Zweierpotenzen gingen schon immer (ist ja einfach: Bits abschneiden = anders verdrahten, wobei dieses simple Verfahren nur für positive Zahlen korrekt
-
Thread
STM32F303K8 Input Capturing via internen Komparator
htim2.Init.CounterMode = TIM_COUNTERMODE_UP; htim2.Init.Period = 4294967295; htim2.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim2.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_IC_Init(&htim2) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } sMasterConfig.MasterOutputTrigger
-
Thread
Taschenrechner am Arbeitsplatz
-Solar II + klein und kompakt + Hauptnutzen für kleinste Berechnungen, Addition, Subtraction, Division, Multiplikation, Kehrwert, Logarithmus etc. + ENG Taste - leider nur Solar. Im Labor oder bei schlechtem Tageslicht unvorteilhaft - keine Umrechnung für Binär und Hex Letztens habe ich noch
-
Thread
Getrigerte DDFS
Triggersignalen wird der Takt mittels counter gezählt. des Ergebnis fließt als Divisor in eine Division ein. Hierbei gillt der Wertebereich der genutzten Sinustabelle als Dividend. Das ergebnis dient mir als Schrittweite für die Sinustabelle. Funktioniert einwandfrei. Die Berechnunsdauer der Division
-
Artikel
Entscheidung Mikrocontroller
anderen Controllern in Software nachgebildet werden muss. Beispiele sind z. B. Multiplikation und Division. Wer in einer Hochsprache programmiert, merkt davon nicht viel, da es dort die Befehle sowieso zur Verfügung stehen, aber sie brauchen auf einem Controller ohne Hardwareunterstützung eben deutlich
-
Thread
Matlab Bodeplot und Messwerte
donvido schrieb im Beitrag #5136436: > w_Gs=wout/2/pi; Sehr gefährlich, der hack. Die Division ist nicht assoziativ. (8/4)/2 != 8/(4/2). Cheers Detlef
-
Thread
FIR Filter Performance STM32 berechnen
Ich würde es ebenfalls mit Floats machen ... Das meiste wird in einem Taktzyklus abgearbeitet - Divisionen brauchen länger. Bei einem FIR aber kein Thema :) Mal so grob überschlagen ... 1024-tap FIR-Filter wären 1024 Multiplikatione + 1024 Additionen ... Alsos sowas 2048 Taktzyklen hätte ich jetzt
-
Thread
VHDL Grundlagen
c' ist. Ebenso dass durch die Priorität der Operatoren '/' vor '<' berechnet wird. Und dass die Division ein MACRO für den Precompiler ist. Wenn dem so wäre, sollte es für diesen Fall kein Problem sein. >Ich würde das jetzt einfach mal simulieren. Simulieren kann ich noch nicht. Aber im Anhang sind
Ebenso dass > durch die Priorität der Operatoren '/' vor '<' berechnet wird. > Und dass die Division ein MACRO für den Precompiler ist. Soweit alles richtig. > Wenn dem so wäre, sollte es für diesen Fall kein Problem sein. Mit meiner Off-by-one Bemerkung geht es um die formale Korrektheit der
-
Thread
Polyphonischer DDS Lilypond Music Player für µCs gesucht
man dieses microseconds-per-MIDI-quarter-note-Gedöhns? :) [pre] Header format=1 ntrks=2 division=480 Track start Time=0 Meta Text, type=0x02 (Copyright Notice) leng=35 Text = <Copyright (c) xxxx Copyright Holder> Time=0 Meta Text, type=0x07 (Cue Point) leng=21 Text = <Created
microseconds-per-MIDI-quarter-note-Gedöhns? Damit du weißt, wie schnell du es abspielen musst. > division=480 Also 480 Ticks pro quarter-note. > microseconds-per-MIDI-quarter-note=416666 Damit kannst du dann die Länge eines Ticks ausrechnen. ("quarter-note" entspricht nicht notwendigerweise
-
Thread
CVE Meldungen lokal oder auf Server einlesen/filtern
request_result.getheader('Content-Length')) one_percent = content_size // 100 # integer division pivots = ['-', '\\', '|', '/'] percent = 0 download = '' print('\nDownloading [{}] Bytes'.format(content_size)) while content_size > 0: for p in pivots:
-
Thread
STM32: Bitbanding für Arrays?
Optimierungen eingeschaltet?! Die Division sollte eigentlich wegoptimiert werden.
Dr. Sommer schrieb im Beitrag #5127711: > Optimierungen eingeschaltet?! Die Division sollte eigentlich > wegoptimiert werden. Dann kann ich nicht mehr debuggen, weil der Source Code nicht mit dem Bin File übereinstimmt. Man kann keine BPs mehr setzen und der Codefluss ist chaotisch
-
Thread
16 Bit Division auf 8051
vernünftigen Programmiersprache in Betracht ziehen, in C51 gibt es sicherlich solch eine einfache Division. Üblicherweise schreibt kein effizient arbeitender Programmierer seine Divisionen selbst sondern er setzt fertige Bibliotheken ein. So was gab es früher (als ich noch mit dem 8031 gespielt habe
Anbei mal die 16Bit Division.
-
Thread
Attiny 4313 - Änderung des clock prescalers ohne Effekt
the write procedure is not interrupted. The Application software must ensure that a sufficient division factor is chosen if the selected clock source has a higher frequency than the maximum frequency of the device at the present operating conditions. The device is shipped with the CKDIV8 fuse programmed
-
Thread
Einführung in ASM auf STM32F4
optimiert auf den M4? In der GNU-MP-Bibliothek sind die Grundfunktionen (Addition, Multiplikation, Division usw.) für eine Vielzahl von Prozessoren, u.a. für ARM in Assembler implementiert und dürften damit deutlich schneller als entsprechende C-Funktionen sein. Aus dem Readme in gmp-6.1.2/mpn/arm:
Multiplikation, Addition, > Subtraktion und co. Die meiste Laufzeit werden Multiplikation und Division verschlingen, + und + sind da Pillepalle ;-) Wichtig ist auf jeden fall, kritische Daten in schnellen Speicher zu lokatieren; lahmer Speicher kann Algorithmen mehr ausbremsen als suboptimaler Code
-
Thread
Rotation eines Vektorfeldes
Die selbe Einheit erhält man wenn man das B-Feld (Volt*Sekund/Meter^2) nach der Zeit ableitet (Division durch die Zeit in der Einheit), somit wird die Einheit wie du richtig erkannt hast zu Volt/Meter^2. Stm M. schrieb im Beitrag #5123182: > Diese Maxwellsche Gleichung sagt dass ein veränderliches