আমার কাছে একটি PIC18F46K22 আছে এবং এটি এক্সসি 8 সংকলক সহ প্রোগ্রাম করে। শেষ পর্যন্ত, আমার সাথে একটি পিসির মতো সিস্টেম থাকবে stdinএবং stdout। মূল লুপটিতে একটি ফাংশন থাকবে যা পরীক্ষা করে দেখছে যে কোনও নতুন ইনপুট রয়েছে কিনা। যদি ইনপুট থাকে তবে সেই অনুযায়ী একটি ফাংশন ডাকা হবে। সুতরাং উদাহরণস্বরূপ, যখন আমি কোনও এ ইনপুট করি তখন stdinপিআইসি একটি ফাংশন চালাবে যার function_Aপরিবর্তে function_Bযখন আমি বি বি ইনপুট করি তখন বলা হয় is
যখন পিআইসি ফাংশনটি সম্পন্ন হয়, আমি চাই যে নতুন ইনপুটটি ফাংশনে প্রেরণ করা হোক। সুতরাং যখন টিপুন তখন আরএস 232 ট্রান্সমিটারটি খোলে, সেই মুহুর্ত থেকে প্রতিটি ইনপুট আরএস 232 এর মাধ্যমে প্রেরণ করা হবে। শেষ পর্যন্ত প্রকল্পটি একটি একা একা পাঠ্য সম্পাদক। সুতরাং এ টিপে যখন ফাইল সিস্টেমটি খোলে তখন সেই মুহুর্ত থেকে আপনি আর পাঠ্য সম্পাদনা করছেন না তবে ফাইলগুলির একটি তালিকা দেখছেন। তার মানে হল যে উপরে এবং ডাউন টিপানোর অর্থ পাঠ্য-সম্পাদনা পরিবেশের চেয়ে আলাদা কিছু।
আমি সিটিতে এই প্রোগ্রামটি কীভাবে করব তা নিয়ে আমি অনেক চিন্তাভাবনা করেছি এবং আমি এটি কাল রাতে চিন্তা করেছিলাম এবং এটি সম্ভব কিনা এবং যদি তা হয় তবে তা কীভাবে তা জানতে চাই। আমি যা করতে চাই তা হ'ল:
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 তে পরিবর্তিত হওয়া উচিত ।
সুতরাং মূলত আমার প্রশ্ন আমি কীভাবে পারি
- কোনও ফাংশনের ঠিকানা পান (এবং এটি একটি ভেরিয়েবলে সঞ্চয় করুন)
- একটি নির্দিষ্ট ঠিকানায় একটি ফাংশন কল করুন