යාලුවෝ සෙට් එක බලා
ගෙන ඇති නේද අලුත් පෝස්ට් එකක් එන තුරු? මටත් නින්දක් නෑ ඔයාලට අලුත් දෙයක්
දෙනකන්. ඉතින් ඔන්න අදත් ආව මම. අද අපේ junior batch එකේ
sport
meet එක. රෑ DJ එක තිබුනා. එකට ගිහින්
ආවෙ දැන් රෑ 12.30 යි. මට අදම මේ
පෝස්ට් එක ලියන්නම ඕන.එහෙනම් ඔන්න නමෝ විත්තෙන් වැඩේ පටන් ගමු.
අද
එදා පාඩමේ ඉතිරි ටික කරමු නේද? එහෙනම් ඔන්න....
STACK POINTER
අපි
program
එකක් ලියන කොට
ඒක විවිධ කොටස් වලට බෙදනවා. Main program කියලා අපි හදුන්වන්නෙ අපේ ප්රධාන ක්රම ලේඛනය. එක තමයි
නිතරම වැඩ කරන්නේ. ඊට අමතරව විවිධ ක්රියා වලට අදාලව sub routine
ලියනවා.
උදාහරණයක් ලෙස අපේ main program එක වැඩ කරන වෙලාවෙ මොකක් හරි sensor එකකින් input එකක් එනවා.ඒකට අදාල program එක sub
routine එකක් විදියට
තමයි ලියන්නේ. ඉතින් අපිට ඕක කරන්න program එකේදී memory එකේ එක එක තැන් වලට පනින්න වෙනව. ඒ වෙලාවට
කලින් හිටපු තැන මතක තියා ගන්නෙ මේ stack pointer කියන රෙජිස්ටර් එක. දැන් තේරුනාද? පහත
රූපයෙන් ඔයාලට මම කියන දේ තවත් තේරේවි.
TIMERS
අපේ
වැඩ සටහනේ විවිධ අවස්ථා වලදී කාල ගනනය සිදු කර කටයුතු කිරීමට සිදු වෙනවා. එහිදී
තමයි මේ timers ඕන වෙන්නේ.
මයික්රොකොන්ට්රෝලරය අනුව එහි තිබෙන timers ගනන හා විවිධ හැකියාවන් වෙනස් වෙනවා. මේවායේ
timers
ආකාර TIMER 0
,TIMER 1 විදියට තමයි වෙනස් වෙන්නෙ. මේ එකිනෙකට ගනනය
කල හැකි කාල ප්රමාණත් වෙනස්. අනෙක මේව දෘඩාංග(Hardware timers). ඒ නිසා Program එකෙන් මේවා පාලනය
කරන්න පුලුවන්. Main program එකට කරදරේකුත් නෑ.මේවා ගැන මම පස්සෙ ආයෙ කියනවා. මොකද
මේක පැහැදිලි වෙන්නේ program එකක් කරන ගමන් කියන කොට. ඔයාල කියන්න එපා උඩින් පල්ලෙන්
කරනවා කියල හොදේ...
WATCH DOG TIMER
මේක
නම් ටිකක් අමුතුයි. අනෙක් හැම timer එකක්ම වැඩ
කරන්නේ system clock එකෙන්. ඒත්
මේකට ඇතුලෙම resister , capacitor වලින් හැදුන
දෝළකයක් තියෙනවා (RC Oscillator). මේක සක්රිය කරන්නෙත් අමුතු විදියට. එනම්
මේක on කරන්නෙ program එකේ මුල තියෙන configuration
bits හදලා.කලබල
වෙන්න එපා.මේව මම හෙමිහිට පැහැදිලි කරන්නම්.මුලින්ම මට ඕන මේක මොකද්ද, මොකටද ගන්නේ
, මේක අනෙක් ඒවට වඩා වෙනස් වෙනවද නැද්ද කියල ඔයාල තේරුම් ගන්න එක විතරයි.
ආ.........
මම මේකෙන් මොකද්ද වෙන්නෙ කියලා කිව්වෙ නැහැනෙ. අනේ සමා වෙන්න... මේකෙ වෙන්නෙ මේ
රෙජිස්ටරේ පිරුනම සම්පුරණයෙන්ම program එක restart වෙනවා.ඇත්තටම මේක මොකටද? අපි හිතමු දිගින් දිගටම එකම program එක වැඩ කරනවා කියලා.
අපිට මෙක කරන්න වෙන්නෙ program එක එක පාරක් වැඩ
කරල ඉවර උනාම මුලට යන්න කියල විධානයක් ලියල. ඒත් අපිට මේ timer එක යොදා ගෙන ඒක කරන්න
පුලුවන්. අපි මේක සකසනවා program එකේ තරමට. එතකොට හරි නේද? Program එක run වෙලා ඉවර වෙන කොට watch dog
timer එකත්
පිරෙනවා. ඊළගට restart වෙනව.මේකෙන් අපිට වාසියක් තියෙනවා. එකම program එක නැවත නැවත වැඩ
කරන්න ලිව්ව නම් මයික්රොකොන්ට්රොලර් එක හිර (struck) වෙන්නත් පුලුවන්. මේකෙන් නිතර නිතර restart වෙන හින්ද එක වෙන්නෙ
නෑ.
STATUS REGISTER
මේක
ගොඩක් යොදා ගන්නේ ALU register එකත් එක්ක. ALU register එකේ ගණිත කර්ම කරන කොට එවායේ විවධ දත්තයන්
ගබඩා කරන්නේ මේකෙ. ගණිත කර්මයේ උත්තරය 0 ද වගේ ඒව. තවත් වැඩක් තමයි අර මම මුලින්
කිව්වෙ Bank select කරන්න වෙනවා
කියල.ඒක කරන්නෙ මේකෙ 5 වෙනි bit එකෙන්.පහත
රූපයෙන් එක ඔයාලට තවත් ඒක තේරෙවි.
එහෙනම්
අදට ඇති. මට දැන් නිදි මතයි. මම යනවා හොදේ .... ඔබ සැමට බුදු සරණයි.
oya type karana akurak akurak gane oyata pin..............!!
ReplyDeletestuck level over Flor kiyana eka hodata thurune dan...!!
ReplyDeletesub rooting ganana wadi unahamada ehema wenne?
DeleteThis comment has been removed by the author.
Deleteනියමයි ... සොක්ෂිප්තව හොදට ලියල තියෙනවා....
ReplyDeleteබොහොම ස්තුතියි...දිගටම ලියන්න .. අපි ඉන්නවා..
ජය වේවා!!!
Nice work dude.....Wish u all the success in achieving ur targets....I'm reallly proud as an NDES.......
ReplyDeleteUdara(Rickey)@NDES10
මට ගොඩක් සතුටුයි ඔයාල හැමෝගෙම කමෙන්ට්ස් දැක්කම.බොහොම ස්තූතියි.මේ හැම වචනයක්ම මට ලියන්න ජීවය දෙනවා.මම මේ වැඩෙ අත හරින්නෙ නෑ.
Deleteහතරවෙනි පාඩම ඉක්මනට ඔනේ !!!
ReplyDelete