perkalian dan pembagian dengan PBP

K

klemm

Guest
Halo, bagaimana saya bisa menulis rumus di PBP: volt = INT (5.0/1024 * volt1 * 1000) Terima kasih Klemm
 
Saya tidak tahu banyak tentang dasar, tapi biasanya lebih baik ke kanan pergeseran dari membagi, terutama bila Anda membagi oleh kekuatan 2. Pergeseran ini tidak menuntut tugas sebagai divisi. 1024 adalah sama dengan 2 ^ 10 jadi alih-alih pembagian dengan 1024 Anda harus benar pergeseran 10 kali. Anda juga harus melakukan semua perkalian sebelum divisi, untuk meminimalkan kesalahan pembulatan. Di C itu akan terlihat seperti ini: volt = ((5 * 1000 * volt1)>> 10); atau sederhana: volt = ((5000 * volt1)>> 10);
 
Pertama saya harus mengatakan bahwa saya tahu apa-apa tentang PBP ... Saya berasumsi bahwa Anda ingin menghitung tegangan dari nilai diukur dengan DAC Pic 10 bit? Jika PBP memiliki datatype yang dapat setidaknya menahan 640.000 (yang menggunakan 3 byte) saya akan melakukannya seperti ini: volt = (volt1 * 625) / 128 divisi A dengan 128 dapat dilakukan sebagai pergeseran nilai 7 bit ke benar, tidak tahu apakah PBP dapat melakukan hal ini. Hanya sebuah catatan singkat: Anda tidak akan pernah mencapai nilai 5000 sebagai nilai maksimum yang Anda dapatkan dari DAC adalah 1023 (atau 0x3FF) ... salam
 
Maka cara terbaik adalah dengan melakukan seperti ini: volt = ((625 * volt1)>> 7); Ini adalah bahasa C. >> 7 menas pergeseran kanan 7 kali. Aku tidak tahu bagaimana menulis ini dalam BASIC, tapi mungkin Anda dapat angka ini keluar sendiri.
 

Welcome to EDABoard.com

Sponsor

Back
Top