के दाएं घुमाएं मैं वर्तमान में सरल पूर्ण चरणों का उपयोग करके एक स्टेपर मोटर को नियंत्रित करने की कोशिश कर रहा हूं। इसका मतलब है कि मैं इस समय इस तरह के मूल्यों का एक अनुक्रम outputting हूँ:बिट-वार 4-बिट मान
1000
0100
0010
0001
मैं यह करने के लिए एक आसान तरीका सोचा था बस मेरी 4 बिट मूल्य लेने के लिए और प्रत्येक चरण के बाद, एक घुमाएं सही कार्रवाई करने के। "कोड" स्पष्ट रूप से वाक्य रचना के किसी भी प्रकार का पालन नहीं कर रहा है, यह बस वहाँ मेरे विचारों को वर्णन करने के लिए है:
step = 1000;
//Looping
Motor_Out(step)
//Rotate my step variable right by 1 bit
Rotate_Right(step, 1)
मेरे समस्या यह है कि वहाँ स्पष्ट रूप से किसी भी 4 बिट सरल डेटा प्रकार है कि मैं इस के लिए उपयोग कर सकते हैं नहीं है , और यदि मैं 8-बिट हस्ताक्षरित int का उपयोग करता हूं तो मैं अंततः एमएसबी को 1 बंद कर दूंगा, जिसका अर्थ है कि मैं वास्तव में रुचि रखने वाला 4-बिट मान कुछ चरणों के लिए 0000 में बदल जाऊंगा।
मैंने पढ़ा है कि आप इसे हल करने के लिए structs और बिट-फ़ील्ड का उपयोग कर सकते हैं, लेकिन अधिकांश चीज़ों से मैं इसे पढ़ रहा हूं, यह मुझे बता रहा है कि यह एक बहुत बुरा विचार है।
क्या आपके पास केवल 4 मान या कोई 4 बिट नंबर होगा? – Swanand
अच्छी तरह से चरण-दर-चरण का उपयोग करके स्टेपर मोटर को नियंत्रित करना मतलब है कि मैं उपर्युक्त अनुक्रम को 4 पिनों पर उच्च/निम्न मानों के रूप में आउटपुट करता हूं जिसे मैंने सौंपा है। नीचे दिए गए उत्तरों को पढ़ने से मुझे इसे हल करने का मौका मिला है। मुझे पूरा यकीन नहीं है कि मैंने सिर्फ 'एक्स' चार मानों का एक सेट रखने के बारे में क्यों नहीं सोचा था जिसे मैं बस घुमाता हूं। – NT93
http://stackoverflow.com/questions/15648116/bit-shifting-a-character-with-wrap-c –