मेरे पास एक PIC18F46K22 है और इसे XC8 कंपाइलर के साथ प्रोग्राम करें। अंत में, मेरे पास एक पीसी जैसा सिस्टम होगा stdinऔर stdout। तो मुख्य लूप में एक फ़ंक्शन होगा जो कि नया इनपुट होने पर जाँच कर रहा है। यदि इनपुट है, तो तदनुसार एक फ़ंक्शन कहा जाएगा। उदाहरण के लिए जब मैं इनपुट पर एक ए stdin, पीआईसी की तरह एक समारोह चलेगा function_Aबजाय function_Bजो कहा जाता है जब मैं एक बी इनपुट
जब PIC फ़ंक्शन के साथ किया जाता है, तो मैं चाहता हूं कि नया इनपुट फ़ंक्शन को भेजा जाए। इसलिए जब A दबाने से RS232 ट्रांसमीटर खुलता है, उसी क्षण से हर इनपुट RS232 के ऊपर भेजा जाएगा। अंत में प्रोजेक्ट एक स्टैंड-अलोन टेक्स्ट एडिटर है। इसलिए जब A दबाने से फाइल सिस्टम खुल जाता है, उस क्षण से आप टेक्स्ट एडिटिंग नहीं कर रहे हैं, बल्कि फाइलों की एक सूची देख रहे हैं। इसका मतलब है कि ऊपर और नीचे दबाने का मतलब है कि पाठ-संपादन के माहौल की तुलना में कुछ अलग है।
मैंने यह सोचने के लिए बहुत कुछ किया है कि इसे सी में कैसे प्रोग्राम किया जाए। मैंने कल रात यह सोचा था और जानना चाहूंगा कि क्या यह संभव है और यदि हां, तो कैसे। मुझे क्या करना है:
mainसमारोह की तरह एक फ़ंक्शन को कॉलfunction_Afunction_Afunction_addrफ़ंक्शन के पॉइंटर के वैश्विक चर को बदलता हैin_function_A- उस क्षण से, नया इनपुट होने
mainपर फ़ंक्शन को कॉल करताfunction_addrहै।
तो मुझे क्या चाहिए एक mainफ़ंक्शन जो चेक करता है कि function_addrक्या शून्य है। यदि ऐसा है, तो एक 'सामान्य' फ़ंक्शन को बुलाया जाना चाहिए, जैसे function_A। यदि ऐसा नहीं है, तो समारोह को function_addrबुलाया जाना चाहिए। मुझे एक पॉइंटर को function_Aबदलने की भी आवश्यकता function_addrहै in_function_A।
नोट: जब फाइल सिस्टम फ़ंक्शन बंद is_function_Aहोना चाहिए , तो बस function_addr0 में बदलना चाहिए ।
तो मूल रूप से मेरा सवाल यह है कि मैं कैसे कर सकता हूं
- किसी फ़ंक्शन का पता प्राप्त करें (और इसे किसी चर में संग्रहीत करें)
- एक निर्दिष्ट पते पर एक फ़ंक्शन को कॉल करें