প্রথমে অলিনও লক্ষ্য করেছেন: স্তরগুলি একটি মাইক্রোকন্টোলার সাধারণত আউটপুট যা দেয় তার বিপরীত হয়:
চিন্তার কিছু নেই, আমরা দেখতে পাব যে আমরা এটিও এভাবে পড়তে পারি। আমাদের কেবল মনে রাখতে হবে যে সুযোগে একটি শুরু বিট একটি 1
এবং স্টপ বিট হবে 0
।
μμμ1
μ0
স্ক্রিনের ডেটা প্রেরিতের সাথে মিলছে বলে মনে হচ্ছে না 0x00
। আপনি একটি সংকীর্ণ 1
বিট দেখতে হবে (আরম্ভ বিট) একটি দীর্ঘ নিম্ন স্তরের (936 ) এর পরেμ
0xFF
μ
guesstimates:
0b11001111 = 0xCF
0b11110010 = 0xF2
0b11001101 = 0xCD
0b11001010 = 0xCA
0b11001010 = 0xCA
0b11110010 = 0xF2
সম্পাদন করা
ওলিন করা একেবারে ঠিক, এটি ASCII এর মতো কিছু। প্রকৃতপক্ষে এটি 1 এর ASCII এর পরিপূরক ।
0xCF ~ 0x30 = '0'
0xCE ~ 0x31 = '1'
0xCD ~ 0x32 = '2'
0xCC ~ 0x33 = '3'
0xCB ~ 0x34 = '4'
0xCA ~ 0x35 = '5'
0xF2 ~ 0x0D = [সিআর]
এটি নিশ্চিত করে যে আমার স্ক্রিনশটগুলির ব্যাখ্যাটি সঠিক।
2 সম্পাদনা করুন (আমি কীভাবে জনপ্রিয় অনুরোধের ভিত্তিতে ডেটাটি ব্যাখ্যা করি :-))
সতর্কতা: এটি একটি দীর্ঘ গল্প, কারণ যখন আমি এই জাতীয় কোনও জিনিসকে ডিকোড করার চেষ্টা করি তখন এটি আমার মাথায় কী ঘটে। আপনি যদি এটি মোকাবেলার জন্য একটি উপায় শিখতে চান তবে কেবল এটি পড়ুন।
উদাহরণ: 2 টি সরু ডাল দিয়ে শুরু করে 1 ম স্ক্রিনশটে দ্বিতীয় বাইট। আমি দ্বিতীয় বাইটটি উদ্দেশ্য নিয়ে শুরু করি কারণ প্রথম বাইটের চেয়ে আরও বেশি প্রান্ত রয়েছে তাই এটি সঠিকভাবে পাওয়া সহজ হবে। সরু ডালের প্রত্যেকটি বিভাগের প্রায় 1/10 তম হয়, সুতরাং এটির মধ্যে কম বিট সহ প্রতিটি 1 বিট বেশি হতে পারে। আমি এর থেকে আরও সংকীর্ণ কিছুই দেখতে পাচ্ছি না, তাই আমি অনুমান করি এটি একটুখানি। এটা আমাদের রেফারেন্স।
তারপরে, 101
নিম্ন স্তরে একটি দীর্ঘ সময় পরে । পূর্ববর্তীগুলির চেয়ে দ্বিগুণ প্রশস্ত দেখায়, তাই হতে পারে 00
। উচ্চ অনুসরণ যে আবার দ্বিগুণ প্রশস্ত, তাই হবে 1111
। আমাদের কাছে এখন 9 টি বিট রয়েছে: একটি স্টার্ট বিট ( 1
) প্লাস 8 ডেটা বিট। পরবর্তী বিট স্টপ বিট হবে, কিন্তু এটি কারণ0
এটি তাত্ক্ষণিকভাবে দৃশ্যমান নয়। সুতরাং এটি সমস্ত একসাথে রাখা 1010011110
, শুরু এবং স্টপ বিট সহ। স্টপ বিটটি যদি শূন্য না হয় তবে আমি কোথাও একটি খারাপ ধারণা তৈরি করতাম!
মনে রাখবেন যে একটি ইউআরটি প্রথমে এলএসবি (কমপক্ষে উল্লেখযোগ্য বিট) প্রেরণ করে, তাই আমাদের 8 টি ডাটা বিটগুলি বিপরীত করতে হবে: 11110010
= 0xF2
।
আমরা এখন একক বিটের প্রস্থ, একটি ডাবল বিট এবং 4 বিটের ক্রম জানি এবং আমাদের প্রথম বাইটটি দেখুন। প্রথম হাই পিরিয়ড (প্রশস্ত ডাল) 1111
দ্বিতীয় বাইটের চেয়ে কিছুটা প্রশস্ত , সুতরাং এটি 5 বিট প্রস্থ হবে। নিম্নে এবং এর পরে চলমান প্রতিটি উচ্চ বর্ধমানটি অন্য বাইটে ডাবল বিটের মতো প্রশস্ত, তাই আমরা পাই 111110011
। আবার 9 টি বিট, সুতরাং পরেরটিটি একটি বিট হওয়া উচিত, স্টপ বিট। এটি ঠিক আছে, সুতরাং আমাদের অনুমানটি সঠিক হলে আমরা আবার ডেটা বিটগুলি বিপরীত করতে পারি: 11001111
= 0xCF
।
তারপরে আমরা ওলিনের কাছ থেকে একটি ইঙ্গিত পেয়েছি। প্রথম যোগাযোগটি 2 বাইট দীর্ঘ, দ্বিতীয়টির চেয়ে 2 বাইট কম। এবং "0" এছাড়াও "255" এর চেয়ে 2 বাইট কম। সুতরাং এটি সম্ভবত ASCII এর মতো কিছু, যদিও ঠিক না। আমি আরও লক্ষ করি যে "255" এর দ্বিতীয় এবং তৃতীয় বাইটটি একই are দুর্দান্ত, এটি ডাবল "5" হবে। আমরা ভাল করছি! (আপনাকে সময়ে সময়ে নিজেকে উত্সাহিত করতে হবে।) "0", "2" এবং "5" ডিকোড করার পরে আমি লক্ষ্য করেছি যে প্রথম দুটিটির কোডগুলির মধ্যে 2 এর পার্থক্য রয়েছে এবং শেষের মধ্যে 3 টির মধ্যে পার্থক্য রয়েছে দুই। এবং পরিশেষে আমি লক্ষ্য করেছি যে 0xC_
এটি পরিপূরক 0x3_
, এটি ASCII এর অঙ্কগুলির নিদর্শন।