násobení a dělení se PBP

K

klemm

Guest
Dobrý den, jak mohu napsat vzorec v PBP: volt = INT (5.0/1024 volt1 * * 1000) Díky Klemm
 
Nevím, moc o základní, ale je to většinou lepší, než pravý shift rozdělit, zvláště když si dělení mocninou 2. Řazení není tak náročný úkol jako divize. 1024 je stejný jako 2 ^ 10, takže místo toho, dělení 1024, měli byste pravý Shift 10 krát. Měli byste také udělat vše, násobení před rozdělením, aby se minimalizovaly chyby zaokrouhlení. V C by to vypadat nějak takto: volt = ((5 * 1000 * volt1)>> 10) nebo jednodušší: volt = ((5000 * volt1)>> 10);
 
Nejprve musím říct, že nic nevím o PBP ... Předpokládám, že chcete vypočítat napětí z hodnoty měří 10 bitů Pic DAC? Pokud se PBP má datový typ, který může alespoň držet 640000 (která používá 3 byty) Já bych to takhle: volt = (volt1 * 625) / 128 128 dělení by mohlo být provedeno posunu bitů hodnoty 7 až právo, může ponětí, jestli to PBP. Jen krátká poznámka: nikdy dosáhnout hodnoty 5000 jako maximální hodnota, kterou dostanete od DAC je 1023 (nebo 0x3FF) ... S pozdravem
 
Pak nejlepší způsob, jak by se na to takhle: volt = ((625 * volt1)>> 7), což je jazyk C. >> 7 menas pravý Shift 7-krát. Nevím, jak napsat to v základním, ale možná můžete zjistit to sami.
 

Welcome to EDABoard.com

Sponsor

Back
Top