PIC 16F শিক্ষানবিস .. বিভিন্ন সংকলক ব্যবহার করার সময় প্রোগ্রাম-সিনট্যাক্সে পার্থক্য


9

আমি যেমন উল্লেখ করেছি, আমি পিক 16f877a এর প্রোগ্রামিং শুরু করেছি। আমি এখন se টি বিভাগের প্রদর্শনগুলির সাথে কাজ করতে পারি। বর্তমানে আমি সিসিএস সংকলক ব্যবহার করছি। কিছুতেই ভুল হয়নি। তবে আমি একটি সংকলক স্বাধীন প্রোগ্রামার হতে পছন্দ করি। সুতরাং আমি একই সাথে অন্যান্য সংকলক যেমন আইএআর বা হাইটেকের মতো কাজ করতে চাই। আমি জানতে চাই যে সিসিএস ব্যতীত "সংস্থাগুলিতে প্রোগ্রামের বিবৃতি ঘোষণা" আলাদা হবে কিনা? কীভাবে এই জিনিসটির কাছে যেতে হবে দয়া করে আমাকে গাইড করুন। আমি সব ধরণের পরামর্শ স্বাগত জানাই। আগাম ধন্যবাদ.

উত্তর:


9

আপনি মহান সংকলক হতে চান যে দুর্দান্ত! দুর্ভাগ্যক্রমে নিম্ন প্রান্তের পিআইসিগুলির জন্য হাইটেক এবং সিসিএস সংকলকগুলি প্রচুর সংকলক নির্দিষ্ট প্রিপ্রোসেসর ঘোষণা, সংকলক নির্দিষ্ট পিন অ্যাক্সেস রুটিন এবং সিসিএস সংকলনের ক্ষেত্রে অ্যাক্সেস কোর ফাংশন যেমন এসপিআই, আই 2 সি, এডিসি ইত্যাদির ক্ষেত্রে নির্দিষ্ট রুটিন ব্যবহার করে।

প্রতিটি সংস্থাপকের অফারে রয়েছে তার নির্দিষ্ট অংশগুলিতে অ্যাক্সেস পাওয়ার জন্য প্রচুর প্রিপ্রোসেসর # ডিফাইন, # আইডিডিফ, # আইফেন্ডেফ এবং আরও অনেক কিছু ছাড়াই আপনার কোডটি কম-সংকলক নির্দিষ্ট করে লেখা সম্ভব নয়। এটি আপনার কোডটি অপঠনযোগ্য করে তুলবে।

আপনি যে লক্ষ্যটি সবচেয়ে ভাল করতে পারেন তা হ'ল আইডিই স্বাধীন হওয়া এবং গ্রহণের মতো কিছু ব্যবহার করা, তাই অন্তত আপনি একই আইডিই ব্যবহার করছেন। এর ফলে মূল ফাংশনগুলি স্থাপনের জন্য সিসিএস উইজার্ডগুলি হারাতে হবে তবে একই আইডিই ব্যবহার করতে আপনাকে আরও নমনীয়তা দেবে।

আরেকটি বিষয় বিবেচনা করার বিষয় হিটেক এবং সিসিএস উভয়েরই (কমপক্ষে অতীতে) সত্যিকারের সি সংকলক লিঙ্কার নেই এবং আপনাকে "# অন্তর্ভুক্ত মাইফাইল সি" ব্যবহার করতে হবে যা আমি ব্যক্তিগতভাবে তুচ্ছ করি ... তবে এটি অন্য গল্প।

আমি কেবলমাত্র সিসিএস এবং হিচেক ব্যবহার করেছি বলে আমি আইআর সংকলকটিতে মন্তব্য করি নি। উভয়ই ঠিকঠাক কাজ করেছে, তবে মোটোরোলা (বর্তমানে ফ্রিস্কেল) প্ল্যাটফর্মটি থেকে মাইগ্রেট করার পরে এবং মেট্রোর্কস সংকলকটি ব্যবহার করা হয়েছিল যা আমি তখন আরও উন্নত ছিলাম না বলে আমি কখনই সত্যই খুশি হইনি। আইএআর সংকলকটি দেখতে দুর্দান্ত তবে আমি এটি কখনও ব্যবহার করি নি।


আপনি যদি পিক 18 বা তারপরের উপরে অবস্থান পরিচালনা করতে পারেন তবে সি 18 সংকলকটি দেখে নেওয়া উচিত। এটির প্রচুর পরিমাণে সমর্থন রয়েছে। আইএআর পিআইসি সমর্থন বাদ দিচ্ছে, তারা আর রক্ষণাবেক্ষণের সাথে লাইসেন্স বিক্রি করবে না।
কর্টুক

এটি আমার বুঝতে পেরেছে যে PIC16 / 12/10 আর্কিটেকচারটি সি ভাষার সাথে খুব ভাল মানচিত্র দেয় না। সুতরাং, সিআইপি সংকলকদের পিআইসি আর্কিটেকচারের ক্ষতিপূরণ দেওয়ার জন্য কিছু অস্বাভাবিক এবং মানহীন কাঠামো থাকতে হবে। শেষ ফলাফলটি সংকলকগুলির মধ্যে কোনওটিই আন্তঃসংযোগ নয়।
কনার ওল্ফ

7

আপনি যদি পিক 18 অংশ ব্যবহার করে থাকেন তবে আমি মাইক্রোচিপ থেকে সি 18 সংকলক সুপারিশ করব। এটি সিসিএস সংকলকটির তুলনায় এএনএসআই সি-তে অনেক বেশি ঘনিষ্ঠভাবে মেনে চলে। আমি হাই-টেক সংকলকটি সম্পর্কে নিশ্চিত নই যেহেতু আমি এটি ব্যবহার করি নি। যেমনটি আগেই বলা হয়েছিল যে আপনি যদি সত্যই সংকলক স্বাধীন কোড তৈরি করতে চান তবে আপনাকে প্রচুর প্রাক-সংকলক নির্দেশিকা ব্যবহার করতে হবে। আমি মাইক্রোচিপ উদাহরণস্বরূপ কয়েকটি প্রোগ্রাম যা একবারে একাধিক সংকলককে কীভাবে এটি করা হয় তার ধারণা পেতে সহায়তা করার পরামর্শ দিই।


পিক 18 এর জন্য সি 18, পিক 24 এর জন্য সি 30 এবং ডিএসপিক, পিক 32 এর জন্য সি 32!
কর্টুক

সিসিএস চমৎকার যে নির্দিষ্ট কিছু করার সহজ হয় (বিঘ্নিত এবং টাইমার উদাহরণস্বরূপ - সব মাইক্রোচিপ উদাহরণ আপনি লিখতে C18 কাজ ডানদিকে বিঘ্নিত পেতে এ এস এম আছে), কিন্তু এটা ANSI সি কাছাকাছি
জে Polfer

আপনার কেবলমাত্র একটি সমাবেশ নির্দেশ প্রয়োজন এবং এটি হ'ল গোটো যা বাধা পরিষেবাটির নিয়মিত নির্দেশ করতে বাধা ভেক্টর সেটআপ করতে ব্যবহৃত হয়।
mjh2007

3

দুর্ভাগ্যক্রমে আপনি দেখতে পাবেন একটি মাইক্রোকন্ট্রোলার জন্য একটি সংকলক স্বাধীন প্রোগ্রাম খুঁজে পাওয়া খুব কঠিন। বেশ কয়েকটি সমস্যা রয়েছে, এখানে মাত্র দুটি:

  1. পেরিফেরিয়াল, এসএফআর নামকরণ ইত্যাদির পার্থক্য (বিশেষত অন্যান্য প্রসেসরের তুলনায়, এমনকি একই পরিবারের সংকলকগুলির সাথেও), এবং;

  2. কিছু সংকলকগুলিতে অ-স্ট্যান্ডার্ড বৈশিষ্ট্যগুলি যেমন পৃথকভাবে বিট সেট করা বা সমাবেশ কোডটি চাওয়ার জন্য বিভিন্ন কাঠামো।

16 এফ সিরিজটি আর্কিটেকচারের দিক থেকে খুব সীমাবদ্ধ এবং কোনও সি সংকলক সমর্থন করার জন্য সত্যই ডিজাইন করা হয়নি। যে কারণে এটির জন্য কোনও জিসিসি নেই।


3

এসডিসিসি একবার দেখুন । এটি অনেকগুলি PIC16 এবং PIC18 ডিভাইস সমর্থন করে। জিসিসি পিআইসি 24 এবং ডিএসপিক সমর্থন করে।


আমি বিভিন্ন সংকলক ব্যবহার করার সময় বিবৃতিগুলির পার্থক্য সম্পর্কে জিজ্ঞাসা করেছি .. যাইহোক আমি আরও 1 টি সংকলক 'এসডিসিসি' সম্পর্কে জানতে পেরেছি .. অনেক অনেক ধন্যবাদ ..
ভিভি রাও

2

সংকলন নির্ভর-নির্ভর হওয়ার সম্ভাব্য দিকগুলি হ'ল:

  • একক বিট ব্যবহার করে (বিশেষত আইও বন্দরে)
  • আকারের পূর্ণসংখ্যার, এবং চর স্বাক্ষরিত বা স্বাক্ষরযুক্ত
  • মজার পয়েন্টার: সি 18 রোম এবং র‌্যাম পয়েন্টারকে পৃথক করে :(
  • কনফিগারেশন ফিউজ
  • ব্যস্ত অপেক্ষা

এটি হ্যান্ডেল করার জন্য আমার পছন্দসই উপায় হ'ল এই দিকগুলির জন্য ম্যাক্রোগুলি লিখুন এবং সংকলককে সংকলক-নির্দিষ্ট পূর্বনির্ধারিত ম্যাক্রোগুলির উপর ভিত্তি করে সঠিক ম্যাক্রো নির্বাচন করুন। আমি এইভাবে একটি আরএফএম 70 গ্রন্থাগার তৈরি করেছি এবং উদাহরণস্বরূপ অ্যাপ্লিকেশনগুলি পিক 14 (হাইটেকসি), পিক 16 (সি 18) এবং এআরএম (জিসিসি) তে চালিত হয়।

(আপডেট) আমার আরএফএম 70 লাইব্রেরিটি এখন সম্পূর্ণ। এটি পিপিসি 16 এফ (হাইটেক সংকলক), সি এবং সি ++ এলপিসি 11114 (কর্টেক্স) এবং এলপিসি 2148 (এআরএম 7 ডিটিএমআই) (জিসিসি সংকলক) এবং আরডুইনো (এটিএমএগ128, জিসিসি সংকলক) কে সি সমর্থন করে। পাইথন স্ক্রিপ্টে কিছু প্রিপ্রোসেসিং করে একই উত্স থেকে এটি (ডোজিন ডকুমেন্টেশন সহ) উত্পন্ন হয়। জল সমর্থন বিকাশাধীন, সম্ভবত প্রোটনবাসিক অনুসরণ করবে। http://www.voti.nl/rfm70

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.