-
Thread
AVR: ISR "ausstoppen"?
. Ich brauch vermutlich den dynamischen Bereich. Ein großer Vorteil von Float ist, dass man Divisionen mit konstantem Divisor durch eine Multiplikation mit dem Kehrwert ersetzen kann. Wenn man im integer-Bereich dividieren muss, schmilzt der Geschwindigkeitsvorteil ziemlich dahin...
>Ich brauch vermutlich den dynamischen Bereich. Ein großer Vorteil von Float ist, dass man Divisionen mit konstantem Divisor durch eine Multiplikation mit dem Kehrwert ersetzen kann. Wenn man im integer-Bereich dividieren muss, schmilzt der Geschwindigkeitsvorteil ziemlich dahin... Kann
-
Thread
Pascal und Ada für AVR
nichts gequetscht. Krass Berny Wikkipedia (Cobol) [code] Identification Division. Program-ID. HALLOPGM. Procedure Division. Display "Hallo Welt!" STOP RUN. [/code] Der Zielcode des Cobol-Compilersist nicht länger, als der entsprechende
-
Thread
clock configuration
htim3.Init.CounterMode = TIM_COUNTERMODE_UP; htim3.Init.Period = 24000; htim3.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; htim3.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; if (HAL_TIM_Base_Init(&htim3) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); } sClockSourceConfig.ClockSource
-
Thread
Wurzel ziehen - VHDL
auch schon der Wurzelalgorithmus von Heron, Dieser löst das Problem durch einfache Addition und Division. x= 0,5 * (x+a/x) Wobei x die Näherungslösung ist und a die Zahl aus der die Wurzel errechnet werden sol. Das ganze lässt man dann in einer Schleife solange ablaufen bis (x*x-a) <= ERROR_MAX
Das ist das Newton'schen Näherungsverfahren, bei der einfach die erste Division des 1/k-Wertes weggelassen wurde, wodurch man folglich 1/sqrt() erhält. Keine Hexerei. Der wirklich kluge Kunstgriff dieses Ansatzes besteht im trickreichen Ermitteln des Startwertes, damit die Folge
-
Thread
Array mit 512 Bytes über Rs232 vom PC zum PIC
Bitverschiebung, > zumindest nicht mit der Methode ">>" ja dann nimm halt eine Multiplikation oder Division Sascha
Sascha Weber schrieb im Beitrag #1940445: > ja dann nimm halt eine Multiplikation oder Division auf vb-tec.de steht, dass eine Verschiebung nach rechts einer Division durch 2 entspricht. In unserem Fall: [c]byte1 = 128 + (((nummer & 384) / 2 / 2 / 2 / 2 / 2 / 2) + ((DMXValues(nummer
-
Thread
Eprom(s) ZX-Spectrum-Clone von Ilmenau
Das System hat zwei Taktgeneratoren Videotakt 6.5 Mhz Zeilenfrequenz 15,625 kHz → Division durch 416 = 2⁵ · 13 → /32 + /13 Halbbild 50 Hz → Division durch 130000 CPU-Takterzeugung 9.8304 MHz / 4 = 2.4576 MHz Hier waren auch unterschiedliche Bestückungsvarianten möglich. In den ersten
-
Thread
Atmega128 programmieren
c] counter ist eine int, 31250 sowieso. Beide Operanden also int, demnach wird eine Integer-Division durchgeführt. Somit kann delay nur die Werte 1.0, 0, und -1.0 annehmen.
ADCSRA = (1<<ADPS2) | (1<<ADPS1) | (1<<ADPS0); // Frequenzvorteiler = ADPS2 ADPS1 ADPS0 = Division Factor 128 Kann man nichts falsch machen, aber die Wandelung ist evtl zu langsam. Willst schließlich schnell abtasten. CKSEL3..0 0001 ==> Nominal Frequency (MHz) 1,0Mhz Note: 1. The device
-
Thread
Probleme Schieberegister 74LS164 an ATtiny
}else{ PORTB&=~(1<<PB1); } } number=number/2; //Division 2 PORTB|=(1<<PB0); //1x Clock an, aus für Shifter asm("nop"); PORTB&=~(1<<PB0); } }
<<PB1); } //============================== number=number/2; //Division 2 PORTB|=(1<<PB0); //1x Clock an, aus für Shifter asm("nop"); PORTB&=~(1<<PB0); } }
-
Thread
Spindel, HF-Spindel Empfehlung?
schneidet er es auch in einigen Pässen. Ob die Drehbank stabilitätsmäßig viel schlechter wie ein Divisionskopf ist, kann ich nicht beurteilen. Das Problem ist halt wie man von Drehbank umspannen kann ohne den Rundlauf zu beeinträchtigen. Ich hatte schon den Eindruck daß er alles wichtige bedacht hatte.
ich als Bausatz (LP + uC) von MEDW bestellt. Hier ist der Link dazu: https://medw.co.uk/wiki/DivisionMaster Muß aber erst alles zusammenlöten und in ein Gehäuse einbauen. PN ist OK, klar! Muß jetzt aber ins Bett. Grüße, Gerhard
-
Thread
Lineare Beschleunigung schrittmotor in bestimmter Zeit
in 1 fast multiply loop: https://en.wikipedia.org/wiki/Division_algorithm#Newton.E2.80.93Raphson_division
Wolfgang schrieb im Beitrag #4873022: > Geert H. schrieb im Beitrag #4873004: >> Division consumes a lot of time. > > It dependst on your understanding of "a lot". I think on AVR it takes about 3000 cycles for a 'standard' floating point division. At 16 Mhz some 5000 divisions/sec
-
Thread
günstiges Oszilloskop gefunden
- 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
beep-debugging
Du kannst einer Prozedur keine Frequenz übergeben, weil der verwendete Mikrocontroller keinen Divisionsbefehl kennt? Erkläre das bitte mal näher…
. Das konnte schon mein Z80 vor 40 Jahren. Und der hatte definitiv keinen Divisionsbefehl.
-
Thread
uC bleibt hängen - Ursache unklar - Fehler nicht reproduzierbar
des SP und PC. Der PC läßt auf die Stelle des Hängers schließen. Auch andere "Exceptions", z.B. Division durch Null, sollten so behandelt werden. Für die Implementierung macht preemtiv oder kooperativ einen großen Unterschied aus. Bei kooperativen BS löst jede Dauerschleife eine WD-Restart aus. Bei
-
Thread
Interrupts bei Fahrradtacho und clock
dir mal z.B. den L412KBT an, oder noch neuer, die G4-Familie. Cortex-M0 und -M0+ brauchen für Divisionen eine externe Bibliothek. Die -M3 und -M4 kann man ganz ohne solchen Ballast programmieren, rein mit dem GCC. Noch was: bitte nicht das Display auf dem Umweg über I2C-Expander betreiben, das gibt
-
Thread
String in Int umwandeln, damit rechnen und wieder zurückkonvertieren
hinsetzen und den Algorithmus ordentlich ausarbeiten und nicht gleich mit dem Koden anfangen. Divisionen sollte man da zudem möglichst vermeiden.
-
Thread
Anfängerfrage: Temperaturgesteuerter Heizer
Temperatur in Grad Celsius: tC = (t >> 1) | (t & 0xFF00); [/C] wird nach der Division durch 8 noch einmal durch den >> 1 durch 2 dividiert (*). In Summe also Division durch 16 Lass doch den Mist, wenn du ihn nicht brauchst! Wozu soll denn das überhaupt gut sein? tC ist bei dir ein
-
Thread
Tschätschipiti-VHDL
Koeffizientenoptimierung auf ideale Breiten und versteckte Skalierungen, also erhöhte Zwischenauflösungen bei späterer Division. Besonders das Optimieren auf Ganzzahlen oder Binärzahlen wäre ja ein Ziel beim VHDL. Einen Butterfly für Audio-AA bei z.B. 24kHz hat er so z.B. zwar richtig hinbekommen (Frequenzgang passt!), allerdings
-
Thread
AD9850 DDS Modul - Schaltplan gesucht
genug Wink > 73, Andreas Ohoh, wenige Takte. 2^32/Fosc ist eine Konstante, man braucht keine Division! Bitte mal hier lesen: http://www.mikrocontroller.net/topic/84498#712353 Uwe, kannst Du bitte deine Kollegen darauf hinweisen?
-
Thread
[STM32] HAL vermeiden?
10PPRE1: APB Low speed prescaler (APB1) > Set and cleared by software to control APB low-speed clock division factor. > Caution:The software has to set these bits correctly not to exceed 42 MHz on > this domain. Also mal testweise den Systemtakt von 96 MHz auf 84 MHz reduziert und damit eben auch den
-
Thread
AtMega328 teilweise instabil
] time_in_sec = round(time_in_millis / 1000); [/c] time_in_millis / 1000 ist eine int-Division und somit immer ganzzahlig. Da gibts also überhaupt nichts, was man runden könnte.
-
Thread
switch-case Anweisung
UND und ODER. Arithmetische Operationen gehören dort nicht hin. Also auch kein Inkrement, keine Division oder dergleichen. Der Vorteil davon ist bessere Lesbarkeit und bessere Testbarkeit des Codes.
-
Thread
Dos für neue Rechner ?
Maximalwert erreicht hatte noch bevor der Systemzeitgeber weitergeschaltet hat. Das führt dann zu einer Division durch Null die sich als Runtime Error 200 äußert.
-
Thread
ARM7 mit VIC und Spurious Interrupts
agreement, also Maulkorb) nichts davon erfährt. Diese Erfahrung hat z.B. Intel beim berühmten Divisionfehler des Pentium-Classic gemacht, und daraus gelernt. Bis dahin waren bei den Prozessoren offiziell so gut wie nie irgendwelche Fehler bekannt, seither wimmelte es nur so von offiziell dokumentierten
-
Thread
Aufstieg durch Weiterbildung
schon mehrfach bestätigt und auch offen gesagt, sogar von Leitern anderer Geschäftseinheiten / Divisionen. Du wirst das natürlich besser wissen, klar. Typisch deutsch. Berufsrevolutionär schrieb im Beitrag #5795358: > Das sollte Dir zu denken geben, wenn sich die Firma nicht auf zwei Jahre > an Dich
mehrfach > bestätigt und auch offen gesagt, sogar von Leitern anderer > Geschäftseinheiten / Divisionen. Du wirst das natürlich besser wissen, > klar. Typisch deutsch. Dann ist das so. Wenn Du nur einen begrenzten Aufgabenbereich abdecken sollst und dies auch nur eine Dienstleistung zu denen ist
-
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
Profitiert double von der 32bit FPU?
Signalprozessor, der das unterstützt hat. Typ weiss ich nicht. Dort gab es eine schnelle "ungefähre" Division und einen Extrabefehl, um mittels Fixpunktiteration die restlichen Stellen zu beschaffen.
Signalprozessor, der das > unterstützt hat. Typ weiss ich nicht. Dort gab es eine > schnelle "ungefähre" Division und einen Extrabefehl, > um mittels Fixpunktiteration die restlichen Stellen > zu beschaffen. mindestens, weiss ich nicht, ungefähr, ... Na das ist ja alles sehr konkret. Ein Spezialfall
-
Thread
PWM Signalerzeugung
Erase bits of CKD */ TIM2->CR1 |= TIM_CLOCKDIVISION_DIV1; /* Set the clock division to 1*/ TIM2->PSC = Presc; /* Set the Prescaler value */ TIM2->ARR = period - 1; /* Set the Auto-reload value*/ TIM2
~(TIM_CR1_DIR | TIM_CR1_CMS); tmpcr1 |= Structure->CounterMode; } if(IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; tmpcr1 |= (uint32_t)Structure->ClockDivision; } TIMx->CR1 = tmpcr1; /* Set the Autoreload value
-
Thread
sprechende Namen
tatsächlich ein Problem. Viele Kommentare im Code sind dort nämlich deutsch - das ist das Erbe von StarDivision (StarOffice).
-
Thread
Spannungsmessung ATmega
Ani schrieb im Beitrag #4667453: > Bei dieser Rechnung bekomme ich nach der Division eine Kommazahl heraus. nein bekommst du nicht. Zumindest nicht der Compiler sondern nur du wenn du sie im Taschenrechner eingibst.
Ani schrieb im Beitrag #4667453: > Bei dieser Rechnung bekomme ich nach der Division eine Kommazahl heraus. > Wie kann ein int-Datentyp damit rechnen? Na in dem du nicht auf 12 Volt, sondern 12000 Millivolt umrechnest...
-
Thread
Frage zu einer Codezeile in C
wiki.haskell.org/Haskell_in_industry [pre] AT&T Haskell is being used in the Network Security division to automate processing of internet abuse complaints. Haskell has allowed us to easily meet very tight deadlines with reliable results. BAE Systems As part of the SAFE project, BAE has built
-
Thread
uint16_t Division compilerabhängig? HardFault bei bestimmtem Compiler
Achja, wCalibCurrent und wCalibValue sind nicht 0, wenns an die Division geht. Division durch 0 kann es also eigentlich nicht sein.
Wie sieht der Asm-Code der Division denn aus? Der CM0 hat keinen Divisionbefehl. Wenn du da die falsche Runtime-Lib erwischst, dann scheppert es.
-
Thread
byte zu Zahl in C
"Modulo-Operation" in C keine Modulooperation im mathematischen Sinn ist, sondern eher eine "Divisionrest-Operation"
Modulo-Operation" in C keine > Modulooperation im mathematischen Sinn ist, sondern eher eine > "Divisionrest-Operation" Wo ist denn nun, mathematisch, der Unterschied zwischen einer "Divisionrest-Operation" und einer Modulo-Operation? Ich hätte das jetzt Synonym gesehen.
-
Thread
BME280 Beispiel Code in BASCOM
einem mir nicht näher bekannten Grund muss &HEC angegeben werden, da irgendwo ein shift_r für eine Division durch zwei sorgt und dann kommt halt &H76 raus. Joe
Joe schrieb im Beitrag #4952879: > für eine Division durch zwei sorgt und > dann kommt halt &H76 raus. Gut beobachtet. Der konkrete Blick aufs Protokoll sorgt dann für endgültige Klarheit.
-
Thread
Auslastung/Rechenleistung eines µC
wenn der Rechenzeitbedarf von den Daten abhängt. Beispiel AVR und Multiplikation oder allgem. Division, wenn keine HW Unterstützung vorhanden ist. Diese Stellen im Code muss man kennen und eine Abschätzung auf anderem Weg (worst case -> Taktzyklen aus Assemblercode, etc.) bestimmen.
-
Thread
Zu viel Rauschen bei OPV Schaltung
ist, die "runtergeht", ist das schon sonderbar. Also: - Sind an jedem IC (insbesondere dem Divisions-Chip und den OPAMPS) die Spannungsversorgungen gegen Masse entstört D. h. hast Du an die 100nF Keramikkondensatoren, evtl. zusätzlich 10µF Elkos gedacht? - Gibt es eine Möglichkeit, die Sensorsignale
negativen Spannungen: Das geht normalerweise nicht. Aber auf Seite 8 ist eine "TWO-QUADRANT DIVISION" beschrieben. Da wird der Nenner zum zähler addiert. So kann man ihn ausklammern. Ist da auch beschrieben. Würde man einfach ein Offset auf den Zähler machen, hätte man keine richtige normierung
-
Thread
TFT-Monitor reparieren 3 neuse Elkos
browse.jsp%3FN%3D204245%26No%3D0%26getResults%3Dtrue%26appliedparametrics%3Dtrue%26locale%3Dde_DE%26divisionLocale%3Dde_DE%26catalogId%3D%26skipManufacturer%3Dfalse%26skipParametricAttributeId%3D%26prevNValues%3D204245 Der Si4501 oder SI4564 wären kräftig, aber hab ich außer bei Farnell nirgendwo gesehen
-
Thread
Reziproker Frequenzzähler+ Optimierte 64bit uint Routinen
Multiplikation 64bit x 32bit -> 64bit (Ersparnis über 200bytes in Vergleich zu C, viele KB zu libgcc) * Division 64bit / 32bit -> 64bit (Ersparnis über 150bytes in Vergleich zu C, viele KB zu libgcc) Der Code muss sich leider auf die Registerkonvention von Funktionsaufrufen verlassen, weil gcc's asm()
-
Thread
lpc1700 - ARM Cortex M3 von NXP: Endlich!
einfach perfekt, da man die zwei 1M Sample 12BIT ADC simultan betreiben kann. Durch die "Hardware division" schaffe ich schließlich eine 16bit arctan Berechnung in 36 Takten. Für einen Controller in der Preisklasse schon gewaltig.
-
Thread
PT1000 - konkrete Schaltung
Wartezeit, ob ein Bis 0 oder 1 ist nur einige NOPs lang. Habs gemacht und funktioniert prima. Die Division kannst Du dir auch sparen, wenn Du 5 Werte addierst. Das eliminiert auch gleich die Meßfehler untereinander. Das Ergebnis ist dann zwar Faktor 10 zu groß aber das ist nur ein zu setzendes Komma!
-
Thread
uhrenquelcode
. Oder viel schlimmer noch, Zahlen bis zu 235959, weil du das augenscheinlich ja irgendwie mit Divisionen durch Zehnerpotenzen auf die einzelnen Segmente aufteilen willst. > Habe vor zwei Jahren mit der Programmiersprache C angefangen. Sieh dir an, wie groß der Wertebereich der Datentypen uint8_t
-
Thread
Suche geeignetes 433 MHz Funkmodul
>> Schaltungsentwicklung des PPM Multiplexers > > Was soll das bitte sein? Mittels Time-division multiplexing sollen 8 Positionsmodulierte Impulse innerhalb von 125 µs versendet werden.
Heinz schrieb im Beitrag #7729763: > Mittels Time-division multiplexing sollen 8 Positionsmodulierte Impulse > innerhalb von 125 µs versendet werden. Und wie soll das mit Sprache und Musik Übertragung zusammengehen?
-
Thread
Impulse = Symbole?
Maxima immer auf den Minima des Nachbarträgers liegen. Sowas nennt man dann OFDM Othogonal Frequency Division Multiplexing. Übrigens auch Bei DAB+. Damit bekommt die Frge des TO nicht nur eine theoretische Antwort, sondern ein bisschen Praxisbzug. Ich weiß, die Sache ist nicht so ganz einfach. ciao
-
Thread
Womit hohen Pulsstrom durch 1 Ohm Last jagen?
1000A Pulsstrom. https://www.digikey.de/de/products/detail/vishay-general-semiconductor-diodes-division/VS-65EPS12LHM3/9467430 > Oder geht das auch günstiger? Mit FET > kurzschließen bei umgekehrter Polarität oder sowas? Lass mal. Eine passive Diode ist genau das Richtige, vor alle bei DEINEN
-
Thread
Temperatur des Heizdrahtes berechnen
Spannungs- und einer Strommessung insofern unproblematischer, da die Genauigkeit der Referenz durch die Division keine Rolle mehr spielt, solange sich die Referenz zwischen den Messungen nicht ändert. Allerdings darf die Aufbereitung der Signale selbst keine Fehler einschleifen. Es git halt für komplexe Problemstellungen
-
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
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
Moduswechsel durch gleichzeitiges Drücken beider Taster
Beitrag #6104230: > TB0CCR2 = (int)((float)(PWM_Aktuell) / 100 * (float)(Frequenz)); Float Division innerhalb eines Interrupts dürfte suboptimal sein. Kann man die nicht heraus ziehen? Antonowan225 schrieb im Beitrag #6104230: > else if ( Modus == 2) Wenn es nur 2 sind, ist das if überflüssig
Frage: mach if else im Timer Sinn? Natürlich, das sind nur 2-3 Befehle, also nichts. Float Division ist dagegen richtig teuer (viele 100 CPU-Zyklen). Ändert sich die Berechnung wirklich in jedem Interrupt? P.S.: Sehe grad, das sind ja nicht die Interrupts mit den float, also alles gut.
-
Thread
Dopplereffekt bei Signalwiedergabe über Lautsprecher?
d.h. der Sinus der Wellen liefert +/- 2, wodurch die Membran virtuell um +/-2 cm schwingt. Durch Division mit der Schallgeschwindikeit ergibt sich daraus ein virtueller Zeitpunkt, der gemäß der Elongation etwas verschoben ist und der die Wellenkompression nachbildet. In der Spalte "Ohr" taucht dann der
-
Thread
LCD Progress Bar (Balkenanzeige)
zum > nächsten Zeichen springe. Du gibst so viele vollständig gefüllte Kästchen aus, wie die Division durch 5 ganzzahlig ergibt. Beispiel 76 durch 5 ergibt 15. Also gibst du 15 vollständig gefüllte Kästchen aus. Dann kommst der Rest. Weil 15 mal 5 gleich 75 ist und der Ausgangswert aber 76 ist, bleibt
-
Thread
32Bit Division mit inline Assembler
Das Ganze geht auch ohne Division, da die 600... (Die restlichen Nullen spare ich mir jetzt) ja konstant ist. Also muss man nur die Abweichung * 0.00000000167 nehmen oder * 167 (dann gehen auch Ganzzahlen). Den ATN kann man dann
Biruas 32/32-Bit-Routine auf 64/32 erweitert. Die Umformung Bin-BCD braucht mehr Platz als die Division.