-
Thread
Arduino - Speicheroptimierung?
8bit-Ints gebraucht werden. Außerdem ist die Basis auch noch variabel. Also wohl mit Modulo und Division und dann auch noch in 16bit. Daher könnte man ein LEDtoa() selber implementieren, das sollte auch die Flash-Ersparnis wieder raufschrauben. also itoa(LED_num, str_req+STR_REQ_LED_NUM_POS, 10
daran ist, daß auf dem AVR zwar die nette Funktion div existiert, die einem Quotient und Rest einer Division auf einen Schlag liefert, blöderweise aber für 16bit-ints. Also richtig zu Fuß und dann auch ohne Division und Modulo, das müßte auch auf einem 8-bitter zügig gehen. 8-bit-Hacking, yeah. :-)
-
Thread
STM32F3 Timer Interrupt hängt
TIM2Init; TIM2Init.TIM_Prescaler = 10; TIM2Init.TIM_Period = 2000; TIM2Init.TIM_ClockDivision = TIM_CKD_DIV1; TIM2Init.TIM_CounterMode = TIM_CounterMode_Up; TIM2Init.TIM_RepetitionCounter = 1; TIM_TimeBaseInit(TIM2, &TIM2Init); TIM_ITConfig(TIM2, TIM_IT_Update, ENABLE
-
Thread
Arduino Nano vs UNO , Spannungsteiler, Werte ungenau
für einen Analogrechner. Keinesfalls ist ist ein solcher Analogrechner ungenau. Jede digitale Division trägt das Potential in sich viel ungenauer zu sein.
-
Thread
Modulo von großer Zahl
der Zahl zu operieren Das lernt halt heute keiner mehr, aber man kann ja nach schriftlicher Division googeln, so schwer zu begreifen ist das nicht. Georg
-
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
ACS712 effiziente Berechnung der Stromstärke
Dann ist es besser, statt ADCW * 50 lieber die Summe von 50 Wandlungen zu verwenden. Statt einer Division kann man eine Multiplikation (kann der atMega in Hardware) mit nachfolgender Division durch ein Vielfaches von 2 verwenden, was auf ein SHR shift right rausläuft. Also überlegt: wie hoch ist die
bei 16-Bit bleiben. Obwohl ich selten Float verwende, ist die "Trägheit" meist kein Grund. Eine Division läuft im Millisekundenbereich, d.h. 1000 Divisionen pro Sekunde - warum sollte das zu langsam sein? Außerdem, was soll das abs(512-ADCW)?
-
Thread
UART Baudrate richtig runden ( Regelung )
Operator-Reihenfolge. > Systemtakt / 16* Baud -1 = 218,5 Systemtakt wird wohl int sein dann erfolgt die Division durch 16 was als Int augeführt wird. dann wird Baud multipliziert was auch als int gemacht wird und dann wird die 1 abzogen. Dabei kommt also überhaupt keine Nachkommestellen raus, weil alles
Integerrechung wird immer abgeschnitten. ... was einen aber nicht daran hindern kann, vor der Division zum Dividend die Hälfe des Divisors hinzu zu addieren. De facto läuft das dann etwa auf das Gleiche wie eine Rundung bei der Division reeller Zahlen hinaus.
-
Thread
STM32F4: µs-Delay
dessen Version bei 1µs nicht so präzise ist, wundert mich nicht. Kommt sicherlich daher, daß er die Division in der Warteroutine macht, anstatt den Ausdruck "SystemCoreClock/1000000L" außerhalb nach dem Einstellen der Taktfrequenz einmal zu berechnen und in einer globalen Variablen (naja, file-static) zu
-
Thread
ATMEGA328P-PU: USART sendet ungültige Zeichen bei 8MHz, funktioniert aber bei 1 MHz
Fragezeichen, egal welche Baudrate ich beiderseits eingestellt habe. Wenn ich jedoch das Clock Division Fusebit setze, sodass der µC auf 1Mhz läuft funktioniert alles wunderbar und ich habe keine Ahnung warum. Wenn möglich würde ich gerne auf einen externen Quarz verzichten, vor allem kann's doch
Klaus V. schrieb im Beitrag #4863978: > Wenn ich jedoch das Clock Division Fusebit setze, sodass der µC auf 1Mhz > läuft funktioniert alles wunderbar und ich habe keine Ahnung warum. Wenn du nur das Fuse-Bit änderst und es dann geht dann stimmt schlicht dein UBBR-Wert
-
Thread
Polynomdivision mit Schieberegister
links: 0b101 << 2 = 0b10100 ~ x^2 * (x^2 + 1) = x^4 + x^2 Schieben nach rechts entspricht Division mit Rest durch x, wobei das herausfallende Bit 0 (Carry) den Rest darstellt: 0b101 >> 1 = 0b10, Carry=1 ~ x Rest 1 = (x^2 + 1) Div x etc. Ansonsten ist der Algorithmus für die Polynomdivision
-
Thread
kein ADC Wert trotz anliegender Spannung
aber weiterhin kein Bit gesetzt. Mit den Wandlungsraten kenne ich mich nicht aus. Ich habe den Division factor auf 128 gesetzt. Was muss ich hier beachten?
-
Thread
STM32 USART mit falscher Baudrate
{/* PREDIV1 selected as PLL clock entry */ /* Get PREDIV1 clock source and division factor */ prediv1source = RCC->CFGR2 & RCC_CFGR2_PREDIV1SRC; prediv1factor = (RCC->CFGR2 & RCC_CFGR2_PREDIV1) + 1; if (prediv1source == 0) {
{/* PLL2 clock selected as PREDIV1 clock entry */ /* Get PREDIV2 division factor and PLL2 multiplication factor */ prediv2factor = ((RCC->CFGR2 & RCC_CFGR2_PREDIV2) >> 4) + 1; pll2mull = ((RCC->CFGR2 & RCC_CFGR2_PLL2MUL) >> 8 ) + 2; SystemCoreClock
-
Thread
Bootloader -> Verständnisproblem Intel-Hexfile
dem signalisiert wird, ob eine neuer page beginnt und die Adresse wird irgendwie über eine Art Division mit Rest bestimmt. [c] if(flash_page_flag) { flash_page = hex_addr - hex_addr % SPM_PAGESIZE; flash_page_flag = 0; } [/c]
-
Thread
Nachkommawert auf Display ausgeben (in C)
Wenn es nicht so genau werden muss geht es recht einfach ohne division. Deine vier bits um zwei nach rechts schuppsen. Mit 25 multiplizieren und fertig. Pseudocode: print(8bit), print(','), print((4bit >> 2)*25),print('\n') Edit: ggf. halt eine Variante davon
-
Thread
SSD1306/1309 Library zum Darstellen von Text auf OLED Displays
int i=5; char c='0'+i; // ergibt "5" [/c] Auf alles Weitere müsstest du mit Nachdenken, Divisionen und Modulus Operator kommen.
Stefanus F. schrieb im Beitrag #5685447: > Divisionen und Modulus Operator Da Division und Modulus eigentlich immer gemeinsam berechnet werden, spart man sich eine zusätzliche Operation, wenn man gleich die (Standard-)Funktion div() benutzt. Aber
-
Thread
stm32f103 3phase-generator
TIM_CounterMode_Up; TIM_TimeBaseStructure.TIM_Period = 0x00FF; TIM_TimeBaseStructure.TIM_ClockDivision = 0; TIM_TimeBaseStructure.TIM_RepetitionCounter = 0; TIM_TimeBaseInit(TIM1, &TIM_TimeBaseStructure); TIM_UpdateRequestConfig(TIM1, TIM_UpdateSource_Global); TIM_UpdateDisableConfig(TIM1,DISABLE
-
Thread
Was heisst der Strich auf dem W bei (R/W)?
Addition steht. Naja... Bei der Multiplikation sind Punkt, Stern und X weit verbreitet. Bei der Division findet man den Doppelpunkt, den Schrägstrich und auch den waagerechten Strich z.B. in Brüchen. Die Operation ist fest gelegt. Das Symbol ist doch wurscht, Hauptsache jeder weiß, was damit gemeint
-
Thread
fragen zu schaltplan (AVR-ISP-MK2-klon)
allow to configure the PLL input prescaler to generate the 8MHz input clock for the PLL. Clock Division Factor 1 oder 2 zur auswahl. somit kann es nur 8 oder 16 Mhz zugeführt werden. bitte korrigiert mich. dann habe ich nach stunden fehlersuche schließlich rausgefunden dass die CKDIV8 fuse eingeschaltet
-
Thread
AVR - nach Interrupt Code überspringen
Interrupt wissen, daß er einen fehlerhaften Code unterbrochen hat? Er könnte z.B. eine Math-Lib (Division), LCD-Lib usw. unterbrochen haben, die fehlerfrei sind. Und woher soll er wissen, wohin er springen soll? Ein Programm besteht ja in der Regel aus vielen Tasks. Die longjump-Lib funktioniert
-
Thread
Rampenberechnung für Schrittmotoren / Open Source?
Bremsphase ist). Sollte in Fixkomma mit ein paar Int Multiplikationen, ein paar Additionen und evt. 1-2 Divisionen recht schnell sein. Ich hab auf einem Cortex-M3 (120MHz) schon 3 Achsen mit >30kHz Schrittfrequenz auf die Art gesteuert. Hilfreich: Atmel AVR446 appnote, http://hwml.com/LeibRamp.pdf, http://
-
Thread
PWM Signal mit HAL STM32
htim4.Init.CounterMode = TIM_COUNTERMODE_UP; htim4.Init.Period = 10000; htim4.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; if (HAL_TIM_Base_Init(&htim4) != HAL_OK) { Error_Handler(); } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; if (HAL_TIM_ConfigClockSource
-
Thread
Assertions mit Divisionsbedingung
ist der Rest gleich Null. Soweit es mich betrifft, scheint mir das "offensichtlicher" als die Division mit anschliessender Multiplikation.
-
Thread
Frage zu Parametern von Wärmeleitpaste
RellDocuments/SYS_10/accessories_64-68.pdf Dort wird zwar die Länge in Zoll (in) angegeben, aber Division und Multiplikation soll ja schon erfunden sein.
-
Thread
FPGA an Hardware und Kunden binden
alledem, was zum (Henk**) soll die Kunden dazu bringen eine neue Firmware zu kaufen... Gruß DivisionByZero
-
Thread
Passiver Tastkopf
Das hängt davon ab, wie die Zeitbasis eingestellt wurde. Man kann mit einem 100 MHz-DSO auch 5sec/division einstellen.
-
Thread
STM32F303K6 - hängt sich auf wenn eine CAN-Nachricht empfangen wird
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 = 500; //1999 TIM_TimeBase_InitStructure.TIM_Prescaler = 17999; TIM_TimeBaseInit
-
Thread
Statemachine springt in falsche "states" warum?
kannst Du Dir die Fehler einholen wie mit jedem asynchronen Signal in einer FSM ! Gruß DivisionByZero
Synplify generiert), dann können wir den heissen Pfad mal genauer untersuchen... Gruß DivisionByZero
-
Thread
[V] Digital Storage Oscillosope Tenma 72-8727
Integrierte FFT •Mehrere Signalform-Rechenfunktionen, u. a. Addition, Subtraktion, Multiplikation und Division •Triggerfunktionen umfassen Flanke, Video, Impuls, Steigung und alternative Trigger •Automatische Messung von 24 Signalformparametern, Parametertests und benutzerdefinierte Anpassung •Mehr Flexibilität
-
Thread
32Bit / 16Bit = 32Bit Divisions Routine gesucht
Ich benötige für den dsPIC eine Divisons Routine.. mit dem div Befehl ist nur eine 32Bit / 16Bit = 16Bit Rechnung machbar In Assembler. Ich benötige aber auch ein 32Bit Ergebniss
-
Thread
[V] Dachboden/Weihnachtsverkauf
P400 SAS RAID Controller mit 256 MB Cache. http://h18000.www1.hp.com/products/quickspecs/archives_Division/12400_div_v7/12400_div.HTML Inclusive zwei SFF-8484 nach 4x SATA Kabel. Zusammen 8x SAS 3G / SATA II. Ich habe auf den Controllerchip der sehr heiß wurde einen großen Kühlkörper geklebt. Funktionsfähig
-
Thread
Spannung trotz Labornetzteil bricht stark ein (Step Up)
handelt es sich um eine Shottky http://www.digikey.de/product-detail/de/vishay-semiconductor-diodes-division/SSB43L-E3-52T/SSB43L-E3-52TGICT-ND/1091691 Die sollte rund 450mV bei 4A brauchen.
-
Thread
(EMV) verringert lackierung die Schirm/Dämpffähigkeit von Blech?
DivisionByZero schrieb im Beitrag #4837702: > Finde deine Aussage schon etwas seltsam ?!? Ehrlich gesagt verstehe überhaupt nicht was du mir mit deinem Beitrag sagen willst. Irgendwie gehen deine Aussagen
DivisionByZero schrieb im Beitrag #4837885: > Wer ausser technisch versierten Personen soll die Praxis nicht Standard > Konformer Geräte in den Markt zu bringen den zur Anzeige bringen ? Die > Oma wenns beim
-
Thread
C - called Object is not a function or a function pointer
die folgenden Operatoren: [pre] ≤ ≥ ≮ ≯ ≠ Vergleiche ⋅ ÷ Multiplikation und Division ∘ Verkettung von Funktionen ∧ ∨ ¬ Logikoperatoren ∈ ∉ Elementrelation π Kreiszahl ℤ ℚ Datentypen (ganze bzw. rationale Zahlen) [/pre] In
-
Thread
uint32_t zu int16_t?
ist aber "offiziell" kein free-running-counter (a la Systicker) mehr möglich. Zudem ist jede Division durch 2^n eine echte Division (statt shift), da die Zahl ja negativ sein *könnte*. Bitte versteh mich nicht falsch, ich finde diese signed/unsigned-Probleme als mit die schlimmsten bei C. Wie
-
Thread
Atmel Studio 7 itoa
weil die Umwandlung langsam ist. Das ist z.B. der Fall, wenn du wie oben vorgeschlagen "normale" Division und Modulo verwendest. Eine einigermaßen Platzsparende Methode, die schneller arbeitet und ohne MUL auskommt, ist einfach Zehnerpotenzen von der zu wandelnden Zahl abzuziehen: [c] #include
-
Thread
Optimiert der Compiler Formeln?
machen. Dazu kann man durch die entsprechenden Operatoren für UDTs auch sicherstellen, dass bei der Division von Länge und Zeit z.B. auch eine Geschwindigkeit heraus kommt. Gepaar wird das ganz mit constexpr, so dass man sicher ist, dass diese Berechnungen auch zur Compile-Zeit ausgeführt werden.
-
Thread
FPGA - Art der Last
@DivisionByZero (Gast) >Als Ein- Mannbude reduzier ich auch das ein- oder andere Mal den ein- >oder andere C. Aber ich weiss was ich tue (im Layout und im FPGA). Aber >wenn ein Layouter meint er könne
-
Thread
128 Bit Risc
765 = 2 863 311 531. Aber wie > entsteht dieses 1 431 655 765? https://en.wikipedia.org/wiki/Division_algorithm#Division_by_a_constant
vorbereitet halten und erst nachsehen ob sie in dieser LUT ist, wenn nicht, dann die ersten 8 Divisionen parallel stzarten. Wenn eine aufgeht deren Divisionsergebnis als neuen Startwert, oder so.. Mj
-
Thread
Rechnen mit extrem großen Zahlen
eine elementare Implementation in C — die übrigens auch 259 liefert — welche ohne Multiplikation, Division und Modulo auskommt (mul, div und mod mit 2 rechne ich mal nicht mit, weil das einfachste Bitoperationen sind). [c] #include <stdio.h> typedef unsigned T; static T mod_mul (T n, T a, T b
als Strings speichert und auf diese dann schriftliche Addition, Subtraktion, Multiplikation und Division anwendet. So wie ich es vor langer Zeit in der Grundschule gelernt habe. Das war natürlich unglaublich langsam, aber lustig war es trotzdem und funktioniert hat es auch.
-
Thread
C - Fehler bei Berechnung
Da gibt es nichts zu Runden und zu verstecken. Bei der Ausgabe brauchst Du nur die einfache Division durch 100, setzt Dein Komma, und gibst die restlichen Cent aus. Übrigens: Die gesetzlichen Vorschriften zum "wahren" Runden füllen viele, viele Seiten Gesetzestext.