Understanding Registers: Factories in a Housing Scheme.
-
විශාල ප්රදේශයක පිහිටි කර්මාන්තශාලා විශාල ප්රමාණයක් ගැන සිතන්න, ඒ සෑම එකකටම එයට අනන්ය ලිපිනයක් ඇත.
-
කර්මාන්තශාලා (රෙජිස්ටර්): සෑම කර්මාන්ත ශාලාවකටම තාවකාලික දත්ත ගබඩා කිරීම හෝ ගණනය කිරීම් සිදු කිරීම වැනි නිශ්චිත කාර්යයක් ඇත. ඇතුලත ඇති bits හරියට වැඩ කරන අය වගේ.
-
ලිපින: සෑම කර්මාන්ත ශාලාවකටම අනන්ය ලිපිනයක් ඇති සේම, සෑම ලේඛනයක්ම නිශ්චිත මතක ලිපිනයක පිහිටා ඇත.
-
විශේෂිත කර්මාන්තශාලා: ටයිමර් පාලනය කිරීම හෝ සන්නිවේදනය හැසිරවීම වැනි සමහර කර්මාන්තශාලාවලට අද්විතීය භූමිකාවන් ඇත.
-
මාර්ග සහ ගමනාගමනය: දත්ත සහ උපදෙස් කර්මාන්තශාලා අතර "මාර්ග" (data, address, and control buses) හරහා ගමන් කරයි.
-
කර්මාන්තශාලා (ලියාපදිංච්) ගබඩා සමඟ අන්තර් ක්රියා කරන ආකාරය (මතකය)
-
රෙජිස්ටර් (කර්මාන්තශාලා) දත්ත ගබඩා කිරීම සහ ලබා ගැනීම සඳහා මතකය (ගබඩා) සමඟ සමීපව කටයුතු කරයි.
-
ප්රවාහන පද්ධතිය: ට්රක් රථ (data buses) කර්මාන්තශාලා සහ ගබඩා අතර ද්රව්ය (දත්ත) රැගෙන යයි.
-
ඔවුන්ට එකිනෙකා අවශ්ය වන්නේ ඇයි: කර්මාන්තශාලා කුඩා නමුත් වේගවත් වන අතර ගබඩා විශාල නමුත් මන්දගාමී වේ.
-
ද්රව්ය ගෙන ඒම: අවශ්ය වූ විට ගබඩාවලින් අමුද්රව්ය ගෙන ඒම සඳහා කර්මාන්තශාලා ට්රක් රථ යවයි.
-
නිමි භාණ්ඩ ගබඩා කිරීම: කර්මාන්තශාලා විසින් නිමි භාණ්ඩ ගබඩා කිරීම සඳහා ගබඩා වෙත යවයි.
-
Arduino භාවිතා කිරීමේ උදාහරණය:
කර්මාන්තශාලා: analogRead() functionඑක අමු දත්ත සකසයි.
ගබඩා: දත්ත තාවකාලිකව RAM හි විචල්යයන් තුළ ගබඩා කරයි.
-
ට්රක් රථ: data buses වැඩිදුර භාවිතය සඳහා තොරතුරු ප්රවාහනය කරයි.
-
කේත උදාහරණය:
-
int sensorValue; // Warehouse to store data
void setup() {
Serial.begin(9600); // Start communication
}
void loop() {
sensorValue = analogRead(A0); // Factory processes raw material
Serial.println(sensorValue); // Output result
delay(1000); // Pause
}
-
සෘජු රෙජිස්ටර් හැසිරවීම ඵලදායී වන්නේ ඇයි?
රෙජිස්ටර් වෙත සෘජුවම ප්රවේශ වීමෙන් කාර්යක්ෂමතාව සහ කාර්ය සාධනය වැඩි දියුණු කළ හැක. -
අතරමැදියා ඉවත් කිරීම:
DigitalWrite() වැනි Arduino ක්රියාකාරකම් පහසු නමුත් ඒවා අමතර චෙක්පත් සිදු කරන බැවින් මන්දගාමී වේ. - සෘජු රෙජිස්ටර් හැසිරවීම මෙම පියවර මග හරියි, වේගවත් ක්රියාත්මක කිරීම සඳහා දෘඪාංග වලට සෘජුවම උපදෙස් දෙයි. -
වේගය වැඩි කිරීම:
සෘජු රෙජිස්ටර් භාවිතා කිරීම කළමනාකරුවෙකු අනුමත කරන තෙක් බලා සිටීම වෙනුවට ඔබම ස්විචයක් භාවිතය වැනිය.
-
නිවැරදි පාලනය:
ඔබට එකවර ස්විච කිහිපයක් (පින්) හෝ සිටුවම් පාලනය කළ හැක, කාලය සහ සම්පත් ඉතිරි කරයි.
-
උදාහරණය: LED එකක් සක්රිය කිරීම ->
-
digitalWrite() භාවිතා කිරීම:
pinMode(13, OUTPUT);
digitalWrite(13, HIGH); -
රෙජිස්ටර් භාවිතා කිරීම:
DDRB |= (1 << PB5); // Pin 13 ප්රතිදානය ලෙස සකසන්න
PORTB |= (1 << PB5); // Pin 13 ඉහළට හරවන්න -
සංසන්දනය:
බස් (Arduino කාර්යයන්): පහසු නමුත් මන්දගාමී.
මෝටර් රථය (රෙජිස්ටර්): වේගවත් නමුත් මාර්ග දැනගැනීම අවශ්ය වේ.
-
එක් එක් ප්රවේශය භාවිතා කළ යුත්තේ ?
ආරම්භකයින් හෝ කාල-විවේචනාත්මක නොවන කාර්යයන්: සරල බව සඳහා Arduino කාර්යයන් භාවිතා කරන්න.
-
උසස් පරිශීලකයින් හෝ කාල සංවේදී ව්යාපෘති: වේගය සඳහා සෘජු රෙජිස්ටර් හැසිරවීම භාවිතා කරන්න.
-
මෙම සාදෘශ්ය සහ උදාහරණ සංකීර්ණ සංකල්ප සරල කරයි, ඒවා ආරම්භකයින් සඳහා සාපේක්ෂ වේ. මෙම ප්රවේශය වියුක්ත අදහස් සහ ප්රායෝගික අවබෝධය අතර පරතරය අඩු කරයි. - තාමත් අපේ group එකේ නැත්තන් group එකට සෙට් වෙන්න :
https://www.facebook.com/groups/paperclipx
මේ group එකේ දාන දේවල් හොඳයි කියල හිතෙනවනම් ඕගොල්ලොන් ගේ යාලුවන්වත් group එකට එකතු කරන්න !
No comments:
Post a Comment