আমি ফ্ল্যাশ মেমরি বা এসআরএএম শেষ হয়ে গেলে আমি কী করতে পারি?


28

আরডুইনো ডকুমেন্টেশন অনুসারে, বুটলোডার + আপলোড হওয়া স্কেচের জন্য এটিমেগ 328-তে 32KB ফ্ল্যাশ মেমরি রয়েছে এবং রানটাইম ডেটার জন্য কেবল 2KB এসআরএএম রয়েছে। এটিমেগা 2560 এ যথাক্রমে 256KB এবং 8KB মোট খানিকটা বেশি রয়েছে।

উভয় ক্ষেত্রেই, এই সীমাগুলি বরং ছোট মনে হয়, বিশেষত স্মার্টফোনের মতো একই আকারের ভোক্তা ডিভাইসের সাথে তুলনা করলে।

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


কিছু পরিবর্তনশীল অপ্টিমাইজেশন ব্যবহার করার চেষ্টা করুন। কিছু ভিন্ন পরিবর্তনশীল এখানে আলোচনা করা হয়েছে
TheDoctor

1
আপনার ভেরিয়েবলগুলির জন্য যথাযথ স্কোপগুলি ব্যবহার করুন যদি ইতিমধ্যে এটি না করে থাকে, যখন ভেরিয়েবলগুলি অব্যবহৃত হয় তখন সংকলকটি আপনার জন্য র‌্যাম ব্যবহারের জন্য অনুকূলিত করবে।
জিপ্পি

1
আপনি আসলে একটি টেনেসি ৩.২ ব্যবহার করতে পারেন (টেনেসিডিনো সফটওয়্যার সহ) যা কোনও আরডুইনোর সাথে তুলনীয়। প্রদত্ত যে আপনি র‌্যাম / প্রোগ্রামের বাইরে চলে যাচ্ছেন তার অর্থ হ'ল আপনি সম্ভবত যা করতে চেষ্টা করছেন তা আপনার আরডিনোকে চাপ দিচ্ছে likely টেনেসি ৩.২ এটি এত বেশি ব্যয়বহুল নয়। তবে রয়েছে: 32 বিট, 72 মেগাহার্জ (ডাব্লুটিএফ !?) 256 কেবি ফ্ল্যাশ এবং 64 কেবি র‌্যাম এবং 3x ইউআরটি। এটিএমগা 2560 হিসাবে বেশি প্রোগ্রামের মেমরি নয়, তবে র‌্যাম এবং গতি বৃদ্ধি যথেষ্ট।
পল

উত্তর:


30

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

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

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

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

এসআরএএম ব্যবহারের জন্য আরেকটি হত্যাকারী হ'ল পাঠ্য প্রক্রিয়াজাতকরণ (উদাহরণস্বরূপ Stringক্লাস ব্যবহার করে )। সাধারণভাবে বলতে গেলে, সম্ভব হলে আপনার স্ট্রিং অপারেশন করা উচিত নয়। তারা বিশাল মেমরি হোগ হয়। উদাহরণস্বরূপ, আপনি যদি সিরিয়ালটিতে প্রচুর পাঠ্য আউটপুট Serial.print()করে থাকেন তবে স্ট্রিং কনক্যাটেনশন ব্যবহার না করে একাধিক কল ব্যবহার করুন। আপনার কোডে স্ট্রিং লিটারেলের সংখ্যা যদি সম্ভব হয় তবে হ্রাস করার চেষ্টা করুন।

পাশাপাশি সম্ভব হলে পুনরাবৃত্তি এড়িয়ে চলুন। প্রতিবার পুনরাবৃত্তি কল করার সময় এটি স্ট্যাকটিকে আরও গভীরতর করে তোলে। পরিবর্তে আপনার পুনরাবৃত্ত ফাংশন পুনরাবৃত্তি।

EEPROM ব্যবহার করুন EEPROM
এমন জিনিসগুলির দীর্ঘমেয়াদী সঞ্চয় করার জন্য ব্যবহৃত হয় যা কেবলমাত্র মাঝে মধ্যে পরিবর্তিত হয়। আপনার যদি বড় তালিকাগুলি বা স্থির ডেটার সন্ধানের টেবিলগুলি ব্যবহার করতে হয়, তবে এটি আগে থেকে EEPROM এ সঞ্চয় করার বিবেচনা করুন এবং যখন প্রয়োজন হবে তখনই আপনাকে টেনে আনুন।

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

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

আরও এসআরএএম পাওয়া আসলে মোটামুটি সোজা is একটি বিকল্প হ'ল এক বা একাধিক 23 কে 256 চিপ ব্যবহার করা । এগুলিকে এসপিআই এর মাধ্যমে অ্যাক্সেস করা হয় এবং সেগুলি ব্যবহার করতে আপনাকে সহায়তা করার জন্য স্পিআরাম লাইব্রেরি রয়েছে । তারা সাবধান হন যে তারা 5V নয় 3.3V এ কাজ করে !

আপনি যদি মেগা ব্যবহার করছেন তবে আপনি বিকল্পভাবে ল্যাঙ্গরজিয়াম পয়েন্ট বা রাগড সার্কিট থেকে এসআরএএম সম্প্রসারণ শিল্ড পেতে পারেন ।


1
আপনার কাছে SRAM স্পেস সমস্যা এবং ফ্রি প্রোগ্রাম মেমরি থাকলে আপনি প্রোগ্রাম মেমরিতে ধ্রুবক ডেটা সঞ্চয় করতে পারেন rather দেখুন এখানে অথবা এখানে
কনর উলফ

1
EEPROM এর আর একটি দুর্দান্ত বিকল্প হ'ল একটি এসডি কার্ড। এটি কয়েকটি আইও পোর্ট গ্রহণ করে তবে আপনার যদি মানচিত্রের ডেটা বা অনুরূপ বলার জন্য বিশাল অংশের প্রয়োজন হয় তবে পিসিতে কোনও কাস্টম প্রোগ্রামের সাহায্যে অদলবদল করা এবং সম্পাদনা করা সহজ।
বেনামে পেঙ্গুইন

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

24

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

কখনও কখনও আপনি আপনার প্রোগ্রামটি এমন এক পর্যায়ে অদ্ভুত আচরণ করতে দেখবেন যা আপনি এমনকি কিছুক্ষণের মধ্যেও স্পর্শ করেননি। এটি হতে পারে যে আপনার অতি সাম্প্রতিক পরিবর্তনগুলির কারণে এটি মেমরির বাইরে চলে যায় (এসআরএএম)। এখানে কিছু এসআরামকে কীভাবে মুক্ত করবেন সে সম্পর্কে কয়েকটি টিপস দেওয়া হল।

এসআরএএম এর পরিবর্তে ফ্ল্যাশগুলিতে স্ট্রিংগুলি সঞ্চয় করা হচ্ছে।

আমি দেখেছি সবচেয়ে সাধারণ জিনিসগুলির মধ্যে একটি হ'ল চিপটি মেমরির বাইরে চলে যায় কারণ অনেক দীর্ঘ স্ট্রিং রয়েছে।

F()স্ট্রিংগুলি ব্যবহার করার সময় ফাংশনটি ব্যবহার করুন যাতে এসআরএএম এর পরিবর্তে সেগুলি ফ্ল্যাশে সঞ্চিত থাকে, যেহেতু আপনার কাছে আরও অনেক বেশি উপলব্ধ।

Serial.println(F("This string will be stored in flash memory"));

সঠিক ডাটা টাইপ ব্যবহার করুন

আপনি একটি int(2 বাইট) থেকে একটি byte(1 বাইট) এ স্যুইচ করে একটি বাইট সংরক্ষণ করতে পারেন । একটি স্বাক্ষরবিহীন বাইট আপনাকে 0-255 দেবে তাই আপনার যদি এমন নম্বর থাকে যা 255 এর বেশি না যায়, একটি বাইট সংরক্ষণ করুন!

আমি কীভাবে জানব যে আমি স্মৃতিশক্তি হারিয়েছি?

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

আপনার কাছে কত স্মৃতি উপলব্ধ রয়েছে তা জানাতে বেশ কয়েকটি ফাংশন রয়েছে।

উপলব্ধ মেমরি


আপনি কি জানেন যে F()জিনিসটি আরডুইনো নির্দিষ্ট ফাংশন বা এটিআভিআর লাইব্রেরিতে রয়েছে? আপনি উল্লেখ করতে বিবেচনা করতে পারে PROGMEM const ...
জিপ্পি

এছাড়াও আপনি যদি প্রচুর বুলিয়ান নিয়ে কাজ করেন তবে আপনার ভেরিয়েবল 5eg দ্বারা ব্যবহৃত স্থানটি আরও কমাতে আপনি বিট স্ট্রাকচারগুলি ব্যবহার করতে পারেন)।
jfpoil ব্যাখ্যা

17

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

পঠন শেষে, আমি মনে করি আপনি আপনার প্রশ্নের একটি সম্পূর্ণ সম্পূর্ণ উত্তর পাবেন।

এটি সংক্ষেপে বলতে গেলে আপনার কাছে দুটি সম্ভাব্য অপ্টিমাইজেশন লক্ষ্যমাত্রা রয়েছে (আপনার মেমরির সমস্যাগুলি কোথায় অবস্থিত তার উপর নির্ভর করে):

  • ফ্ল্যাশ (অর্থাত্ প্রোগ্রাম মেমরি); এই জন্য, আপনি করতে পারেন:
    • ডেড কোড (উদাহরণস্বরূপ যে কোনও কোড অন্তর্ভুক্ত রয়েছে তবে ব্যবহৃত হয়নি) এবং অব্যবহৃত ভেরিয়েবলগুলি মুছে ফেলুন (এটি এসআরএমে সাহায্য করে)
    • নকল কোড ফ্যাক্টর
    • সম্পূর্ণরূপে বুটলোডারটি সরান (আপনি ইউএনওর জন্য 0.5K এবং অন্যান্য আরডুইনো মডেলের জন্য 2 বা 4K এর মধ্যে লাভ করতে পারেন); যদিও এর কিছুটা ডাউনসাইড রয়েছে
  • এসআরএএম (যেমন স্ট্যাক, হিপ এবং স্ট্যাটিক ডেটা); এই জন্য আপনি করতে পারেন:
    • অব্যবহৃত ভেরিয়েবলগুলি সরান
    • প্রতিটি ভেরিয়েবলের আকারের অনুকূলকরণ করুন (উদাহরণস্বরূপ লম্বা -4 বাইট ব্যবহার করবেন না- যদি আপনার কেবল ইনট -২ বাইট প্রয়োজন হয়)
    • আপনার ভেরিয়েবলের জন্য সঠিক সুযোগটি ব্যবহার করুন (এবং যখন সম্ভব তখন স্ট্যাটিক ডেটাতে স্ট্যাক পছন্দ করুন)
    • কঠোর সর্বনিম্ন বাফার আকার হ্রাস
    • প্রোগ্রামেমে ধ্রুব ডেটা সরান (যেমন আপনার স্থির ডেটা ফ্ল্যাশ মেমরিতে থাকবে এবং প্রোগ্রামের সূচনায় এসআরএমে অনুলিপি করা হবে না); এটি ধ্রুব স্ট্রিংয়ের ক্ষেত্রেও প্রযোজ্য যার জন্য আপনি F()ম্যাক্রো ব্যবহার করতে পারেন )
    • গতিশীল বরাদ্দ এড়াতে যদি এটি একেবারে প্রয়োজনীয় না হয়; আপনি একটি খণ্ডিত গাদা এড়াতে পারবেন যা স্মৃতি মুক্ত করার পরেও সঙ্কুচিত হতে পারে না

এসআরএএমের ব্যবহার হ্রাস করার জন্য একটি অতিরিক্ত পদ্ধতির বর্ণনাও দেওয়া হয়েছে (তবে খুব কম ব্যবহৃত হয়, কারণ কোডিং করার সময় এটি কিছুটা ভারী এবং খুব দক্ষ নয়), এটি আপনার প্রোগ্রামের দ্বারা নির্মিত ডেটা সংরক্ষণ করতে EEPROM ব্যবহার করে গঠিত, তবে কিছু শর্ত পরে যখন ব্যবহার করা হয় না তখন ঘটে, যখন EEPROM থেকে ডেটা লোড করা যায়।


1
মৃত কোড অপসারণ - সংকলকটি আপনার জন্য এটি পরিচালনা করার পক্ষে সত্যিই ভাল you আপনার কাছে প্রচুর কোড নেই যা কখনও কল হয় না it যদি আপনি দুর্ঘটনাবশত কোডটি কল করেন যা আপনার প্রয়োজন নেই, তবে অবশ্যই এটি আলাদা।
dethSwatch

9

আপনার স্টোরেজ ফুরিয়ে গেলে দুটি জিনিস করতে হবে:

  • আপনার কোডটি কোনওভাবে "অনুকূলিত করুন" যাতে এর জন্য কম স্টোরেজ প্রয়োজন; বা কমপক্ষে আপনি যে ধরণের স্টোরেজ শেষ হয়ে গিয়েছিলেন সেগুলির কম ব্যবহার করে (এবং আপনার কাছে এখনও প্রচুর পরিমাণে স্টোরেজ রয়েছে) অথবা,
  • আরও সঞ্চয়স্থান যুক্ত করুন।

প্রথম কীভাবে করা যায় সে সম্পর্কে অনলাইনে প্রচুর টিপস রয়েছে (এবং আর্দুইনোর সাথে লোকেরা যে বিস্তৃত কাজ করে, "অনুকূলিতকরণের পরে বিল্ড-ইন স্টোরেজ যথেষ্ট পরিমাণে বেশি")। সুতরাং আমি দ্বিতীয়টির দিকে মনোনিবেশ করব:

এখানে 3 টি জিনিস রয়েছে যা ফ্ল্যাশ বা এসআরএএম ব্যবহার করে; স্টোরেজ যুক্ত করার জন্য প্রত্যেকেরই কিছুটা আলাদা পদ্ধতির প্রয়োজন:

  • ভেরিয়েবল স্টোরেজ: এসআরএএম প্রসারিত করা সম্ভব, যেমন স্যাচলিন ইতিমধ্যে নির্দেশ করেছে। দ্রুত পরিবর্তনশীল ভেরিয়েবলের জন্য এসআরএএম, ফ্রেম এবং এনভিএসআরএম সবই উপযুক্ত। (নীতিগতভাবে আপনি ভেরিয়েবলগুলি সংরক্ষণ করতে ফ্ল্যাশ ব্যবহার করতে পারেন, তবে আপনাকে ফ্ল্যাশ পরিধানের বিষয়ে চিন্তা করতে হবে)। আরডিইনোতে সংযোগ স্থাপনের জন্য এসপিআই (একটি সিরিয়াল প্রোটোকল) সবচেয়ে সহজ। কুণ্ডলী গ্রন্থাগার মাইক্রোচিপ সাথে কাজ করে 23K256 সিরিয়াল র্যাম চিপ। র‌্যামট্রন এফএম 25 ডাব্লু 256 সিরিয়াল এফআরএম চিপ (বর্তমানে সাইপ্রেসের মালিকানাধীন) এসপিআই ব্যবহার করে। সাইপ্রাস সিওয়াই 14 বি 101 এনভিএসআরএম এসপিআই ব্যবহার করে। প্রভৃতি

  • পরের বার শক্তি আসার পরে ধ্রুবক ডেটা থাকা দরকার: এটি এসআরএএম প্রসারিত করার মতোই সহজ। অনেকগুলি বহিরাগত EEPROM, FRAM, NVSRAM এবং FLASH স্টোরেজ ডিভাইস উপলব্ধ। বর্তমানে এমবি প্রতি সর্বনিম্ন ব্যয় হ'ল এসডি ফ্ল্যাশ কার্ড (যা এসপিআই এর মাধ্যমে অ্যাক্সেস করতে পারে)। র‌্যামট্রন এফএম 25 ডাব্লু 256 (উপরে দেখুন), সাইপ্রেস সিওয়াই 14 বি 101 (উপরে দেখুন) ইত্যাদি ধ্রুবক ডেটা সঞ্চয় করতে পারে। অনেকগুলি প্রসারণ শিল্ডগুলির মধ্যে একটি এসডি কার্ড স্লট এবং কয়েকটি লাইব্রেরি এবং টিউটোরিয়াল এসডি কার্ডগুলি পড়ার এবং লেখার সমর্থন করে। (আমরা এর জন্য এসআরএএম ব্যবহার করতে পারি না, কারণ বিদ্যুৎ চলে গেলে এসআরএএম সবকিছু ভুলে যায়)।

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

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