Bagaimana mengkonversi LSB MSB-sinyal ke MSB-LSB format?

W

woody28

Guest
Hi All Saya bekerja pada serial ke paralel converter untuk Rek-80 protokol. Order bit dalam sinyal yang diterima adalah LSB -> MSB dan saya ingin mengubahnya menjadi MSB - format> LSB. Jadi bagaimana saya bisa melakukan ini di minimum:?:? (Karena mikro saya adalah Flash 1k) silahkan memberikan yang terbaik solusi. Contoh: 11000101 ---> Salam 10100011 Terbaik
 
Yang MCU yang Anda gunakan? Mungkin Anda akan menemukan solusi di set perintah MCUs (atau manual) dengan memeriksa opkode didukung untuk pergeseran / memutar (yang dapat dimasukkan ke dalam C / kode ASM) Harapan itu sangat membantu, Maddin
 
Hal ini tergantung pada set instruksi dari UC Anda. Jika memiliki perintah berikut: - kiri shift - shift kanan - lompat bersyarat (jika negatif) maka pendekatan terbaik akan membuat shift kiri continious dari operan awal dengan lompatan bersyarat jika hasil operan bergeser negatif. Kalau negatif (berarti saat ini MSB = 1) maka Anda harus menambahkan 128 hasil operan dan menggeser dengan benar, jika tidak hanya mengubahnya rigth tanpa penambahan. Setelah 8 siklus algoritma ini Anda akan mendapatkan hasil akhir. Untuk UC paling algoritma ini dapat diterapkan dalam waktu kurang dari 10 instruksi. Ace-X.
 
sebaliknya unsigned char (unsigned biasa char) {unsigned char dibalik jika (normal & 128) terbalik | = 1, jika (normal & 64) terbalik | = 2; etc etc etc kembali (berbalik);} Dalam Micros besar ini akan mengkompilasi untuk tes Bit dan set Bit, harap ini membantu salam
 
Sedikit fungsi yang lebih umum, tetapi untuk UC lebih kuat. typedef unsigned panjang T_u_int32; / * unsigned 32 bit * / T_u_int32 reverse_bits_test (T_u_int32 Inval, bit int) {if (bit> 0) {bit -; kembali reverse_bits_test (Inval >> 1, bit) | ((Inval & 1)
 
Anda dapat mencoba ini: # include unsigned int i, Nomor, RevNumber; i = 1; RevNumber = (Nomor & 1) * 128, sedangkan (i
 
Anda dapat mencoba ini: # include unsigned int i, Nomor, RevNumber; i = 1; RevNumber = (Nomor & 1) * 128, sedangkan (i
 
Jadi banyak terima kasih kepada teman-teman terbaik. : P sangat berguna solusi.
 

Welcome to EDABoard.com

Sponsor

Back
Top