সুচিপত্র:

ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং: 3 টি ধাপ
ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং: 3 টি ধাপ

ভিডিও: ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং: 3 টি ধাপ

ভিডিও: ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং: 3 টি ধাপ
ভিডিও: Telegram App এর সকল Settings সম্পর্কে জানুন | Telegram All Settings Bangla 2024, জুন
Anonim
ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং
ক্লাউডএক্সের সাথে সিরিয়াল ডিবাগিং

এই প্রকল্পে, আমি সিরিয়াল টার্মিনালের মাধ্যমে ডিবাগিংয়ের ধারণা ব্যাখ্যা করার লক্ষ্য নিয়েছি। কিন্তু প্রথমে একটি স্টার্টার হিসাবে, এর অর্থের মাধ্যমে এর ধারণা ব্যাখ্যা করা যাক।

1. সিরিয়াল যোগাযোগ

সিরিয়াল যোগাযোগ হল ক্লাউডএক্স বোর্ড এবং একটি কম্পিউটার বা অন্যান্য ডিভাইসের মধ্যে যোগাযোগের জন্য। সমস্ত ক্লাউডএক্স বোর্ডে কমপক্ষে একটি দেখা সিরিয়াল পোর্ট রয়েছে (এটি একটি UART বা USART নামেও পরিচিত): সিরিয়াল। এটি সফটকার্ড ব্যবহার করে USB এর মাধ্যমে কম্পিউটারের মতো অন্যান্য হার্ডওয়্যার বা সিরিয়াল কমিউনিকেশন মডিউল (যেমন gsm এবং gps) এর সাথে ডিজিটাল RX এবং TX পিনে যোগাযোগ করে। সুতরাং, যদি আপনি এই ফাংশনগুলি ব্যবহার করেন, আপনি ডিজিটাল ইনপুট বা আউটপুটের জন্য TX এবং RX ব্যবহার করতে পারবেন না। ক্লাউডএক্স বোর্ডের সাথে যোগাযোগের জন্য আপনি ক্লাউডএক্স পরিবেশের অন্তর্নির্মিত সিরিয়াল মনিটর ব্যবহার করতে পারেন। টুলবারের সিরিয়াল মনিটর বাটনে ক্লিক করুন এবং serialBegin () নামক প্যারামিটারে ব্যবহৃত একই বড রেট নির্বাচন করুন।

2. ডিবাগ

ডিবাগিং এর সহজ অর্থ হল (কম্পিউটার হার্ডওয়্যার বা সফটওয়্যার) থেকে ত্রুটি চিহ্নিত করা এবং অপসারণ করা। ডিবাগিং সফটওয়্যার টেস্টিং প্রক্রিয়ার অংশ এবং এটি পুরো সফটওয়্যার ডেভেলপমেন্ট লাইফ সাইকেলের একটি অবিচ্ছেদ্য অংশ। উদাহরণস্বরূপ ধরুন যে আপনার কোড সফলভাবে সংকলিত হয়েছে এবং আপনি আপনার হার্ডওয়্যার পরীক্ষা করছেন এবং এটি প্রত্যাশিতভাবে কাজ করছে না, যদিও আপনার কোড ডিবাগ করার অনেক উপায় রয়েছে; সিরিয়াল ডিবাগিংয়ের মাধ্যমে এটি ডিবাগ করার একটি সহজ এবং কার্যকর উপায়। CloudX IDE সফল সংকলন, HEX এবং COFF ফাইলে 2 ধরনের ফাইল তৈরি করে। HEX ফাইলটি কঠোরভাবে মেশিন কোড যা বাস্তব জগতে কার্যকর করার জন্য বোর্ডে বুটলোড করা হয় কিন্তু এটি আপনার পিসি সিমুলেশন সফটওয়্যার যেমন প্রোটিয়াস আইসিসে চালাতে পারে যখন COFF ফাইলটি আপনার পিসি সিমুলেশন সফ্টওয়্যারগুলিতে একটি পঠনযোগ্য ফরম্যাট (প্রোটিয়াস আইসিস) । এই সুযোগের জন্য আমরা সিরিয়াল প্রোটোকলে দুটি প্রাথমিক ধরনের ডিবাগিং বিবেচনা করব,

1. নরম সিরিয়াল ডিবাগিং:

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

ধাপ 1:

ছবি
ছবি
ছবি
ছবি

/*

* ফাইল: newmain.c

* লেখক: OGBOYE GODWIN * * তৈরি করা হয়েছে 28 জুন, 2018, সকাল 10:15 AM */

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

/* আমরা তৈরি করবো

লাল পিন 1 সবুজ পিন 2 হলুদ পিন 3 *বোতাম পিন 4 */ চর *বলুন = "হুম, আমি স্পর্শ করেছি"; সেটআপ () {পিনমোড (1, আউটপুট); পিনমোড (2, আউটপুট); পিনমোড (3, আউটপুট); পিনমোড (4, ইনপুট); Serial_begin (9600); loop () {while (! readPin (4)); Serial_writeText (বলুন); Serial_writeText ("…। লাল হয়ে যাচ্ছে"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (1, উচ্চ); বিলম্ব (200); // সমস্ত বিলম্ব মন্তব্য করার চেষ্টা করুন এবং দেখুন কি হয় // তারপর তাদের প্রতিস্থাপন করুন (আপনি অবশ্যই পছন্দ করবেন!)। যখন (! readPin (4)); Serial_writeText (বলুন); Serial_writeText ("….moving to green"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (2, উচ্চ); বিলম্ব (200); // সমস্ত বিলম্ব মন্তব্য করার চেষ্টা করুন এবং দেখুন কি হয় // তারপর তাদের প্রতিস্থাপন করুন (আপনি অবশ্যই পছন্দ করবেন!)।

যখন (! readPin (4));

Serial_writeText (বলুন); Serial_writeText ("…। হলুদে সরানো"); Serial_write (0x0D); portWrite (1, 0x00); pinSelect (3, উচ্চ); বিলম্ব (200); // সমস্ত বিলম্ব মন্তব্য করার চেষ্টা করুন এবং দেখুন কি হয় // তারপর তাদের প্রতিস্থাপন করুন (আপনি অবশ্যই পছন্দ করবেন!)। }}

এর সাহায্যে আপনি দেখতে পারেন সিরিয়াল ডিবাগিং কতটা গুরুত্বপূর্ণ যদি আপনি বিলম্ব দূর করেন। যদি আপনি তা করেন তবে আপনি দেখতে পাবেন যে সহজ কোডটি কতটা কষ্টকর হতে পারে যদি এটি বিলম্ব না করে বাস্তব জগতে কার্যকর করা হয়।

ধাপ ২:

ছবি
ছবি
ছবি
ছবি
ছবি
ছবি

2. হার্ডওয়্যার ডিবাগিং:

এই পদ্ধতিতে, সফটকার্ড ব্যবহার করে পিসিতে ক্লাউডএক্স প্রোটোটাইপ বোর্ড সংযুক্ত করে এবং ক্লাউডএক্স আইডিই এর সিরিয়াল টার্মিনাল (প্রস্তাবিত) অথবা প্রোটিউস আইএসআইএস কমিম, রিয়েলটার্ম ইত্যাদি ব্যবহার করে অন্যান্য দরকারী সফটওয়্যার ব্যবহার করে প্রতিটি পরীক্ষা এবং ডিবাগিং করা হয়। ফাইলটি এখানে ব্যবহার করা যাবে না কারণ এই পদ্ধতিটি হার্ডওয়্যারে HEX বুটলোডের দাবি করে, আমি ক্লাউডএক্স সফটকার্ডের জন্য এটি ব্যবহার করার পরামর্শ দিই। মনে রাখবেন যে আপনার কোডটি ধাপে ধাপে চলে না যাতে আপনি সর্বদা জানতে পারেন যে কোন লাইনটি নিয়ামকটি কোন সময় সিরিয়াল আউটপুট দ্বারা চলছে। আসুন এই কোডটি উপরে তালিকাভুক্ত একই উদাহরণটি দেখে নিই, আপনার হার্ডওয়্যারটি লাল LED --------- থেকে পিন 1 সবুজ LED --------- pin2 হলুদ LED-এর জন্য সিমিলার হিসাবে সেটআপ করুন ------- pin3 বোতাম --------- pin4

ধাপ 3:

ছবি
ছবি

পদক্ষেপ

1. উপরের মত একই কোড ব্যবহার করুন

2. আপনার বোর্ডে বুটলোড করুন

3. টুল বারে "সিরিয়াল" বোতামে ক্লিক করে ক্লাউডএক্স সিরিয়াল টার্মিনাল শুরু করুন

4. পছন্দসই পোর্ট এবং বড রেট নির্বাচন করুন (এই টিউটোরিয়ালে 9600)

5. সংযোগে ক্লিক করে টার্মিনালটি শুরু করুন (যদি আপনি ছাড়তে চান তবে সংযোগ বিচ্ছিন্ন করুন)

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

প্রস্তাবিত: