ඔන්න අපි අපේ පාඩම් මාලාවේ තුන්වෙනි කොටසත් අරන් ආවා. ඉස්සෙල්ලා පාඩම්
දෙකන් ම ඔයාලට වැදගත් කාරනා ගොඩක් ඉගෙනගන්න පුළුවන් වෙන්න ඇති කියලා අපි හිතනවා.
මුල් ලිපි 2 පහල සබැදියෙන් බලන්න.
මයික්රොකන්ට්රෝලර් පාඩම
- 02
දෙවෙනි පාඩමට අනුව අපිට මේකට අවශ්ය software සේරම හරියට computer එකට install කරගන්න ඇති කියලත් මම හිතනවා. හොදයි එහෙනම් අද අපි WinAVR කියන programming interface එකේ මුලික settings හදන හැටි සහ microcontroller එක program කරන්න අවශ්ය කරන files හදාගන්න හැටි ඉගෙනගනිමු
මුලින්ම කියන්න ඕනා අපි programming language එක විදියට තෝරාගත්තේ C++ කියන language එක. ඒක භාවිතා කරන්න පහසු නමුත් low level language එකක්. මේ ගැන අලුතින්ම ඉගෙනගන්න අයට නම් දැන් ප්රශ්නයක් මතුවෙනවා ඇති microcontroller IC වලටත් මේ language තේරෙනවද කියලා. නැහැ යාලුවනේ දැනට ලෝකේ භාවිතාවන කිසිම electronic උපාංගයකට කිසිම භාෂාවක් තේරෙන්නේ නෑ, computer එකකටවත්. electronic උපාංග දන්නේ එකම එක දෙයයි. ඒ තමා එයාගේ එක් එක් කොටසට වෝල්ටීයතාවයක් / ධාරාවක් ලැබෙනවද නැද්ද යන දේ පමණයි. ඉතින් අපි මේ විවිධ භාෂා භාවිතා කරලා ලියන දේවල් microcontroller එකට දැනෙන විදියට එක් එක් කොටසට වෝල්ටීයතාවයක් / ධාරාවක් ලැබෙන ආකාරයට හරවන්න ඕනා. අන්න ඒ දේ තමයි මේ programming interface එක මගින් කරන්නේ. මේ interface එක අපි ලියන එක එක codes "1" හා "0" බවට පරිවර්තනය කරලා IC එකේ අදාල කොටස් වල අදාල register වල save කරනවා. ඊට පස්සේ microcontroller එක ඒ register වල තියෙන අගයන් අනුව වැඩ කරනවා. ඕක තමයි මුලිකවම සිදුවෙන්නේ.
හොදයි එහෙනම් අද අපේ පාඩමේ කොටසට එමුකො.
ඔයාල install කරගත්ත WinAVR කියන software package එකේ Programmers notepad කියන writing interface එක මුලින්ම open කරගන්නකො. ඒකට
• Start menu → All programs → WinAVR-20100110 → Programmers notepad කියන තැනට යන්න. එතන නැත්නම්,
• C:\WinAVR-20100110\pn\pn.exe කියන තැන අනිවාර්යෙන්ම ඇති.
එක open කරහම පහත පරිදි window එකක් ලැබේවි.
දෙවෙනි පාඩමට අනුව අපිට මේකට අවශ්ය software සේරම හරියට computer එකට install කරගන්න ඇති කියලත් මම හිතනවා. හොදයි එහෙනම් අද අපි WinAVR කියන programming interface එකේ මුලික settings හදන හැටි සහ microcontroller එක program කරන්න අවශ්ය කරන files හදාගන්න හැටි ඉගෙනගනිමු
මුලින්ම කියන්න ඕනා අපි programming language එක විදියට තෝරාගත්තේ C++ කියන language එක. ඒක භාවිතා කරන්න පහසු නමුත් low level language එකක්. මේ ගැන අලුතින්ම ඉගෙනගන්න අයට නම් දැන් ප්රශ්නයක් මතුවෙනවා ඇති microcontroller IC වලටත් මේ language තේරෙනවද කියලා. නැහැ යාලුවනේ දැනට ලෝකේ භාවිතාවන කිසිම electronic උපාංගයකට කිසිම භාෂාවක් තේරෙන්නේ නෑ, computer එකකටවත්. electronic උපාංග දන්නේ එකම එක දෙයයි. ඒ තමා එයාගේ එක් එක් කොටසට වෝල්ටීයතාවයක් / ධාරාවක් ලැබෙනවද නැද්ද යන දේ පමණයි. ඉතින් අපි මේ විවිධ භාෂා භාවිතා කරලා ලියන දේවල් microcontroller එකට දැනෙන විදියට එක් එක් කොටසට වෝල්ටීයතාවයක් / ධාරාවක් ලැබෙන ආකාරයට හරවන්න ඕනා. අන්න ඒ දේ තමයි මේ programming interface එක මගින් කරන්නේ. මේ interface එක අපි ලියන එක එක codes "1" හා "0" බවට පරිවර්තනය කරලා IC එකේ අදාල කොටස් වල අදාල register වල save කරනවා. ඊට පස්සේ microcontroller එක ඒ register වල තියෙන අගයන් අනුව වැඩ කරනවා. ඕක තමයි මුලිකවම සිදුවෙන්නේ.
හොදයි එහෙනම් අද අපේ පාඩමේ කොටසට එමුකො.
ඔයාල install කරගත්ත WinAVR කියන software package එකේ Programmers notepad කියන writing interface එක මුලින්ම open කරගන්නකො. ඒකට
• Start menu → All programs → WinAVR-20100110 → Programmers notepad කියන තැනට යන්න. එතන නැත්නම්,
• C:\WinAVR-20100110\pn\pn.exe කියන තැන අනිවාර්යෙන්ම ඇති.
එක open කරහම පහත පරිදි window එකක් ලැබේවි.
Programmers notepad එකේ tab හා tools ගැන කතා කලොත් සාමාන්ය editor එකක් වගේම File, Edit ... වගේ පොදු ඒවා දැකගන්න පුළුවන්. ඒවායේ අන්තර්ගත tools ඔයාලට ඒක භාවිතා කරණ කොට ඉගෙනගන්න පුළුවන් වේවි. එත් අපිට මුලිකව IC එකක් program කරන්න නම් විශේෂ tools තුනක් ඕනා වෙනවා. ඒවා තමයි,
1. [WinAVR] Make All
2. [WinAVR] Make Clean
3. [WinAVR] Program
මේ tools ඔයාලට Tools කියන tab එකෙන් හොයාගන්න පුළුවන්. මම ඔයාලට කියලා දෙන්නම් මේ එක එක tool වල තියෙන වැදගත්කම.
• [WinAVR] Make All
මම ඔයාලට මේ පාඩමේ මුලදීම කිවුවා අපි විවිද භාෂා යොදාගෙන code කලාට microcontroller එකට තේරෙන්නේ "1" හෝ "0" පමණයි කියලා. මේ [WinAVR] Make All කියන command එකෙන් කරන්නේ අපි ලියපු C code එක අපි භාවිතා කරන IC එකේ Registers වලට තේරෙන විදියට convert කරලා .hex කියන extension එක සහිත file එකක් නිරිමාණය කරන එකයි. IC එක අපිට ඕන විදියට program වෙන්න නම් මේ .hex කියන file එක IC එකට download කරන්න ඕනා.
• [WinAVR] Make Clean
මේ command එකෙන් වෙන්නේ Make All කියන command එකෙන් generate කරපු .hex file එක හා අනෙකුත් files delete කරලා දාන එකයි.
• [WinAVR] Program
මේක තමයි ඊ ලගට වැදගත්ම එක. මේ command tool එක භාවිතා කරලා Make All එකේදී generate කරපු .hex කියන file එක අපේ programmer එක හරහා microcontroller එකට download කරවන්න පුළුවන්. ඒ නිසා IC එක program කරන්න නම් මේ tools ටික අත්යවශ්යයි කියලා කියන්න පුළුවන්.
හොදයි යාලුවනේ දැන් මම ඔයාලට සරල code එකක් දෙන්නම් ඒක copy කරලා editor එකේ paste කරලා ඒ file එක, ඔයාලා save කරගන්න බලාපොරොත්තු වෙන folder එකක file_name.c නමින් save කරන්න. (මතක ඇතුව file_name කියන තැනට ඔයාල කැමති නමකුත්, ".c" කියන extension 1ත් දාන්න.)
1. [WinAVR] Make All
2. [WinAVR] Make Clean
3. [WinAVR] Program
මේ tools ඔයාලට Tools කියන tab එකෙන් හොයාගන්න පුළුවන්. මම ඔයාලට කියලා දෙන්නම් මේ එක එක tool වල තියෙන වැදගත්කම.
• [WinAVR] Make All
මම ඔයාලට මේ පාඩමේ මුලදීම කිවුවා අපි විවිද භාෂා යොදාගෙන code කලාට microcontroller එකට තේරෙන්නේ "1" හෝ "0" පමණයි කියලා. මේ [WinAVR] Make All කියන command එකෙන් කරන්නේ අපි ලියපු C code එක අපි භාවිතා කරන IC එකේ Registers වලට තේරෙන විදියට convert කරලා .hex කියන extension එක සහිත file එකක් නිරිමාණය කරන එකයි. IC එක අපිට ඕන විදියට program වෙන්න නම් මේ .hex කියන file එක IC එකට download කරන්න ඕනා.
• [WinAVR] Make Clean
මේ command එකෙන් වෙන්නේ Make All කියන command එකෙන් generate කරපු .hex file එක හා අනෙකුත් files delete කරලා දාන එකයි.
• [WinAVR] Program
මේක තමයි ඊ ලගට වැදගත්ම එක. මේ command tool එක භාවිතා කරලා Make All එකේදී generate කරපු .hex කියන file එක අපේ programmer එක හරහා microcontroller එකට download කරවන්න පුළුවන්. ඒ නිසා IC එක program කරන්න නම් මේ tools ටික අත්යවශ්යයි කියලා කියන්න පුළුවන්.
හොදයි යාලුවනේ දැන් මම ඔයාලට සරල code එකක් දෙන්නම් ඒක copy කරලා editor එකේ paste කරලා ඒ file එක, ඔයාලා save කරගන්න බලාපොරොත්තු වෙන folder එකක file_name.c නමින් save කරන්න. (මතක ඇතුව file_name කියන තැනට ඔයාල කැමති නමකුත්, ".c" කියන extension 1ත් දාන්න.)
#include
<avr/io.h>int main(void){
DDRB = 0Xff;
PORTB = 0X01;
}
code එක දාලා save කරලා tools → [WinAVR] Make All කියන command එක දෙන්න. දැන් ඔයාලට Output කියන window එකේ පහත පරිදි massage එකක් පෙනේවි.
මේ massage එකෙන් කියන්නේ file එක make කරන්න අවශ්ය කරන විධාන නෑ කියන එකයි. ඒක හරිගස්සන්න නම් අපිට අදාල විධාන සහිත file එකක් හදන්න වෙනවා. එකට අපි කියන්නේ Makefile එකක් හදනවා කියලයි. Makefile එකක් හදන්න නම් Start → All Programs → WinAVR-20100110 → Mfile[WinAVR] වෙත යන්න. දැන් ඔයාලට පහත පරිදි window එකක් open වේවි.
දැන් මේකේ Makefile කියන tab එකේ Main file name.. කියන එක තෝරලා ඊළගට එන box එකේ ඔයා .c කියන file එකට දීපු නම ම දෙන්න. (code එක save කරපු file එකේ නම)
ඊළගට Makefile කියන tab එකේ ම MCU type → ATmega → atmega32 තෝරන්න. (මේකෙන් කරේ අපි program කරන්න යන IC එක මොකක්ද කියල Makefile එකට දීපු එකයි.)
ඊළගට
Makefile කියන tab එකේම Port → usb තෝරන්න.
ඊළගට Makefile කියන tab එකේම Programmer ගිහින් කැමති එකක් තෝරන්න. මෙතැනදී අපි program කරන්න යන Programmer එක තොරගන්නයි ඕනා. අපි program කරන්න යන්නේ usbasp කියන programmer එකයි. නමුත් ඒක මේ drop down list එකේ නෑ. ඒ නිසා අපි කැමති එකක් තෝරලා ඒක edit කරගන්න ඕනා.
දැන්
ඔයාලා Programmer කියන තැනින් කැමති එකක් තේරුවා නම් ඊට පස්සේ Enable Editing of
Makefile කියන එක තෝරන්න.
දැන්
පහල රුපයේ පෙන විදියට ආපු window එකේ රවුම් කරලා තියෙන තැන ඔයාලා ඉස්සෙල්ලා තෝරපු
programmer එකේ නම ඇති. ඒක මකලා ඒ වෙනුවට usbasp කියල type කරන්න.
ඒක හැදුවහම පහත රූපය වාගේ වෙන්න ඕනා
දැන් සේරම හරි. ඊළගට File Save As..
ගිහින් ඔයාල main.c file එක හදපු තැනටම මේ file එකත් save කරන්න. මතක ඇතුව file
එකේ නම Makefile ලෙසම තියන්න. එක වෙනස් කරන්න එපා..
හරි දැන් ඔයා මම දීපු code එක type කරපු programmer’s notepad එකට ගිහින් tools → [WinAVR] Make All කියන command එක නැවත දෙන්න. දැන් ඔයාලට ඉස්සෙල්ලා වගේ error එකක් එන්නේ නැතුව පහත පරිදි massage එකක් ලැබේවි.
ඔයාගේ
files save කරපු location එකට ගිහින් බලන්න file_name.hex නමින් file එකක් හැදිලද කියලා.
එහෙම නම් සේරම හරි. මේ .hex කියන file එක තමයි යාලුවනේ අපි micro-controller එකට download
කරන්නේ.
අද
පොස්ට් එක ගොඩක් දිගයි.එහෙනම් අපි ඊළඟ පොස්ටුවෙන් micro-controller එක ගැන ටිකක්
ඉගෙන ගමු. මොනවාද එකේ තියෙන්නේ, කොහොමද එක වැඩ කරන්නේ, හා වැදගත් තවත් දේවල් ටිකක්
බලමු.
අපිත්
එක්ක දිගටම රැදිල ඉන්න කියලා මම ඔයාලගෙන් ඉල්ලා සිටිනවා. ඒ වගේම ඔයාලා හැකි පමණින්
comment කරන්න කියලත් ඉල්ලා සිටිනවා. ඔයාලගේ අදහස් අපිව දෛර්යමත් කරාවි.
ඔයාල
හැමෝටම සුභ දවසක්....
ස්තුති යාළුවා......නියම පාඩමක් දිගටම කරන් යන්න.....ඔබට ජය
ReplyDeletethanks very much very importance lessons... keep going please
ReplyDelete