Სარჩევი:
- მარაგები
- ნაბიჯი 1: YAKINDU Statechart Tools- ის ინსტალაცია, როგორც მოდულის კოდი Composer Studio
- ნაბიჯი 2: სახელმწიფო მანქანების დაწყება Code Composer Studio– ში
- ნაბიჯი 3: შექმენით Blinky State Machine
- ნაბიჯი 4: შექმენით სახელმწიფო აპარატის C კოდი
- ნაბიჯი 5: დარეკეთ სახელმწიფო აპარატზე თქვენი კოდიდან
- ნაბიჯი 6: გაუშვით პროექტი
ვიდეო: სასრული მდგომარეობის მანქანა MSP430– ზე: 6 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
მე ვაპირებ გაჩვენოთ, თუ როგორ უნდა დაპროგრამდეს MSP430G2 Launchpad სასრული სახელმწიფო მანქანებით (FSM) YAKINDU Statechart Tools– ის გამოყენებით უშუალოდ Texas Instruments Code Composer Studio– ში.
ეს გაკვეთილი შეიცავს ექვს ნაბიჯს:
- YAKINDU Statechart Tools– ის ინსტალაცია, როგორც მოდული Code Composer Studio– ში
- დავიწყოთ სახელმწიფო მანქანებით Code Composer Studio- ში
- შექმენით Blinky State Machine
- შექმენით სახელმწიფო მანქანა C კოდი
- დარეკეთ სახელმწიფო აპარატზე თქვენი კოდიდან
- გაუშვით პროექტი!
ეს პროექტი შეიძლება გამოყენებულ იქნას როგორც გეგმა ნებისმიერი MPS430 ან MSP432– ისთვის!
მარაგები
პროგრამული უზრუნველყოფა:
- YAKINDU Statechart ინსტრუმენტები
- Code Composer Studio (CCS) ინტეგრირებული განვითარების გარემო (IDE)
აპარატურა:
MSP430G2 LaunchPad განვითარების ნაკრები
ნაბიჯი 1: YAKINDU Statechart Tools- ის ინსტალაცია, როგორც მოდულის კოდი Composer Studio
პირველ რიგში, თქვენ უნდა დააინსტალიროთ TI's Code Composer Studio. მე წარმატებით გამოვცადე დაყენება CCS 9.2 და უფრო ძველი ვერსიით ერთხელ. გადმოსაწერი ბმული შეგიძლიათ იხილოთ აქ:
ჩამოტვირთეთ CCS
დააწკაპუნეთ ჩამოსატვირთად და დარწმუნდით, რომ ინსტალაციისას თქვენ მაინც შეარჩიეთ MSP430 ულტრა დაბალი სიმძლავრის MCU. იმავდროულად, თქვენ შეგიძლიათ გამოიყენოთ YAKINDU Statechart Tools– ის განახლების საიტი. Წადი:
ჩამოტვირთეთ YAKINDU Statechart Tools
ამ საიტზე დააწკაპუნეთ ჩამოტვირთეთ ახლა და მიჰყევით ინსტრუქციას. როგორც ფოტოში ხედავთ: ის უფასოა არაკომერციული გამოყენებისთვის. რეგისტრაციის შემდეგ თქვენ მიიღებთ მიმოხილვას ჩამოტვირთვის ვარიანტების შესახებ. დააწკაპუნეთ STANDARD DOWNLOAD SITE და დააწკაპუნეთ INSTALL FROM UPDATE SITE. იქ თქვენ მიიღებთ ბმულს სტაბილური გამოშვების ქვეშ. აიღეთ ეს ბმული და შეინახეთ ან განათავსეთ თქვენს ბუფერში.
YAKINDU Statechart Tools– ის დაყენება Code Composer Studio– ში შეიძლება ცოტა სახიფათო იყოს, ეს დამოკიდებულია Code Composer Studio– ს ვერსიაზე, რომელსაც თქვენ იყენებთ. შესაძლოა ეს ნაბიჯები იმავდროულად მოძველებულია - თუმცა: ნუ მოგერიდებათ მკითხოთ კომენტარებში, თუ გჭირდებათ დახმარება.
ეს არის ჩემი ნაბიჯები:
თქვენს სისტემაში CCS წარმატებით დაყენების შემდეგ გახსენით დახმარების ჩანართი და დააწკაპუნეთ ახალი პროგრამული უზრუნველყოფის დაყენებაზე … ამ ოსტატში დაამატეთ შემდეგი განახლების საიტი დამატების… ღილაკის საშუალებით:
download.eclipse.org/releases/2018-09/
არაფერს დაამატოთ, ის უბრალოდ უნდა მოგვარდეს. თქვენ შეგიძლიათ ნახოთ ეს სურათზე.
ამის შემდეგ გაიმეორეთ ნაბიჯები და დააჭირეთ ღილაკს დამატება … ჩადეთ YAKINDU Statechart Tools განახლების საიტი, რომელიც თქვენ იმედია შეინახეთ. შემდეგ, აირჩიეთ YAKINDU ლიცენზიის მართვის ჩამრთველი და დააწკაპუნეთ შემდეგზე. მიჰყევით ინსტრუქციას. თქვენი IDE შეიძლება გადატვირთოს ერთხელ.
დაბოლოს, თქვენ შეგიძლიათ დააინსტალიროთ YAKINDU Statechart ინსტრუმენტები. გაიმეორეთ ბოლო ნაბიჯები, მაგრამ ამჯერად აირჩიეთ YAKINDU Statechart Tools Standard Edition. კიდევ ერთხელ, მიჰყევით ინსტრუქციას. გადატვირთვის შემდეგ თქვენ წარმატებით დააინსტალირეთ YAKINDU Statechart Tools.
ნაბიჯი 2: სახელმწიფო მანქანების დაწყება Code Composer Studio– ში
იმისათვის, რომ გამოიყენოთ სახელმწიფო მანქანები, გააგრძელეთ ჩვეულებრივად და შექმენით ახალი CCS პროექტი. გახსენით ფაილი ჩანართი, გახსენით ახალი და დააწკაპუნეთ CCS პროექტზე. განსაზღვრეთ პროექტის სახელი, შეარჩიეთ თქვენი მიკროკონტროლერი და შექმენით ცარიელი პროექტი, რომელიც შეიცავს ცარიელ main.c ფაილს. მე გამოვიყენე MSP430G2553.
ახლა თქვენ შეგიძლიათ დაიწყოთ მუშაობა სახელმწიფო მანქანებთან!
დააწკაპუნეთ მარჯვენა ღილაკით პროექტზე, გახსენით ახალი და აირჩიეთ Statechart Model. გაიხსნება ოსტატი, რომელშიც შეგიძლიათ აირჩიოთ თქვენი პროექტი და დაასახელოთ თქვენი სახელმწიფო ცხრილი. მაგალითად, უწოდეთ blinkyStateMachine.sct.
Statechart მოდელი გამოჩნდება პროექტის საქაღალდეში დასრულების დაჭერის შემდეგ. დააწკაპუნეთ დიახ თუ თქვენ მოგეთხოვებათ შეცვალოთ პერსპექტივა.
ნაბიჯი 3: შექმენით Blinky State Machine
ახლა თქვენ შეგიძლიათ დაიწყოთ სახელმწიფო სქემის შექმნა!
მარცხენა მხარეს ნახავთ ეგრეთ წოდებულ განსაზღვრების განყოფილებას. იქ თქვენ შეგიძლიათ დაამატოთ ტექსტური ელემენტები მოდელს, მაგალითად, ოპერაციებს, რომელსაც შეიძლება ვუწოდოთ სახელმწიფო მანქანაში.
წაშალეთ ყველაფერი მისგან და უბრალოდ დაამატეთ ოპერაციის ეს სამი განმარტება:
შიდა:
ოპერაცია init () ოპერაცია redOn () ოპერაცია redOff ()
ამის შემდეგ გადადით სახელმწიფო სქემის მოდელზე და დაამატეთ სამი მდგომარეობა:
- ინიციალიზაცია
- წითელი LED ჩართულია
- წითელი LED გამორთულია
შეაერთეთ მდგომარეობა, როგორც ნაჩვენებია სურათზე და დაამატეთ გადასვლები და შესვლის მოქმედებები. თქვენ შეგიძლიათ კვლავ იპოვოთ ისინი მოთავსებულ სურათზე.
ნაბიჯი 4: შექმენით სახელმწიფო აპარატის C კოდი
ახლა დროა შექმნას C- კოდი. ამისათვის უნდა დაემატოს გენერატორის მოდელი. კიდევ ერთხელ დააწკაპუნეთ პროექტზე და გახსენით ახალი და დააწკაპუნეთ კოდის გენერატორის მოდელზე. აირჩიეთ სახელი sgen- ფაილისთვის. კარგი პრაქტიკაა დარჩეს სახელმწიფო აპარატის სახელთან. დაუძახეთ blinkyStateMachine.sgen და დააწკაპუნეთ შემდეგი. შეარჩიეთ სასურველი სახელმწიფო მანქანა გამშვებ ველზე დაჭერით. დარწმუნდით, რომ თქვენ შეარჩიეთ YAKINDU SCT C კოდის გენერატორი (როგორც ჩვენ გვინდა გენერირება C- კოდი) და დააწკაპუნეთ დასრულება.
როგორც წესი, C- კოდი ავტომატურად გენერირდება, მაგრამ თუ არა, შეგიძლიათ დააწკაპუნოთ sgen ფაილზე მაუსის მარჯვენა ღილაკით და დააწკაპუნოთ გენერირება კოდის არტეფაქტების შესაქმნელად. Src და src-gen საქაღალდეები უნდა გამოჩნდეს თქვენს პროექტში. ისინი მოიცავს გენერირებულ C კოდს, რომელიც ავტომატურად განახლდება სახელმწიფო სქემის რედაქტირებისა და შენახვისას.
ვინაიდან ეს სახელმწიფო გრაფიკი იყენებს დროზე დაფუძნებულ მოვლენებს, საჭიროა ტაიმერის სერვისის დანერგვა. ამის მოსამზადებლად გჭირდებათ ეს ორი ფაილი: sc_timer_service.c და sc_timer_service.h შეგიძლიათ მიიღოთ ისინი GitHub– დან ან გადმოწეროთ აქ. თქვენ უნდა დაამატოთ ისინი src საქაღალდეში.
ნაბიჯი 5: დარეკეთ სახელმწიფო აპარატზე თქვენი კოდიდან
დაბოლოს, სახელმწიფო მანქანა შეიძლება გამოყენებულ იქნას თქვენს მთავარ ფუნქციაში!
პირველ რიგში, თქვენ უნდა ჩართოთ სახელმწიფო მანქანა და ტაიმერის სერვისი. შემდეგ უნდა გამოცხადდეს და განისაზღვროს სახელმწიფო მანქანა, ტაიმერის სერვისი და ტაიმერის სერვისისთვის საჭირო ფუნქციები. გარდა ამისა, უნდა განისაზღვროს განსაზღვრული ოპერაციები, რომლებიც წითელ შუქს კვლავ ანათებს და გამორთავს.
#ჩართეთ
#მოიცავს "src-gen/BlinkyStateMachine.h" #include "src/sc_timer_service.h" BlinkyStateMachine blinky; #განსაზღვრეთ MAX_TIMERS 4 სტატიკური sc_timer_t ქრონომეტრი [MAX_TIMERS]; სტატიკური sc_timer_service_t timer_service; //! გამოძახების განხორციელება დროის მოვლენების დასადგენად extern void blinkyStateMachine_setTimer (BlinkyStateMachine* სახელური, const sc_eventid evid, const sc_integer time_ms, const sc_boolean periodic) {sc_timer_start (& timer_service, handle, evid, time_ms, periodic); } //! გამოძახების განხორციელება დროის მოვლენების გასაუქმებლად. extern void blinkyStateMachine_unsetTimer (BlinkyStateMachine* სახელური, const sc_eventid evid) {sc_timer_cancel (& timer_service, evid); } //! ოპერაციების განსაზღვრა extern void blinkyStateMachineInternal_init (const BlinkyStateMachine* სახელური) {WDTCTL = WDT_MDLY_32; IE1 | = WDTIE; P1DIR | = BIT0; } extern void blinkyStateMachineInternal_redOn (const BlinkyStateMachine* სახელური) {P1OUT | = BIT0; } extern void blinkyStateMachineInternal_redOff (const BlinkyStateMachine* სახელური) {P1OUT & = ~ BIT0; }
ძირითადი ფუნქცია შეიცავს ორ ნაწილს:
სახელმწიფო აპარატის ინიციალიზაცია და შესვლის ფუნქცია და ტაიმერის ინიციალიზაცია.
მეორე ნაწილი არის გაუთავებელი მარყუჟი - while (1) მარყუჟი. ამ მარყუჟის ფარგლებში ეწოდება სახელმწიფო მანქანის გაშვების ციკლის ფუნქციას. ამის შემდეგ, MSP430 ჩაირთვება დაბალი სიმძლავრის რეჟიმში 0 და დაიწყება ზოგადი შეფერხების ჩართვის ბიტი. ახლა მიკროკონტროლერს სძინავს და ელოდება შეფერხებას. WDT– ის შეწყვეტის შემდეგ, ტაიმერი გაგრძელდება. ეს ნიშნავს, რომ ყველა ტაიმერი განახლდება და გასული დრო იზრდება 32 -ით - დრო მილიწამებში, რომელიც გრძელდება WDT- ის ყოველი შეფერხების შემდეგ.
ბათილი მთავარი (ბათილია) {WDTCTL = WDTPW | WDTHOLD; // შეაჩერე გუშაგის ტაიმერი
// ქრონომეტრის და მდგომარეობის დაწყება sc_timer_service_init (& timer_service, ქრონომეტრები, MAX_TIMERS, (sc_raise_time_event_fp) & blinkyStateMachine_raiseTimeEvent); blinkyStateMachine_init (& მოციმციმე); blinkyStateMachine_enter (& blinky);
ხოლო (1)
{// დარეკეთ სახელმწიფო მანქანა ყოველ 32 ms blinkyStateMachine_runCycle (& blinky); _bis_SR_register (LPM0_bits + GIE); sc_timer_service_proceed (& timer_service, 32); }}
// WDT ISR
#პრაგმის ვექტორი = WDT_VECTOR _შეწყვეტა void watchdog_timer (void) {_bic_SR_register_on_exit (LPM0_bits + GIE); }
ნაბიჯი 6: გაუშვით პროექტი
ეს ასეა - ახლა თქვენ შეგიძლიათ ააწყოთ და ატვირთოთ პროგრამა თქვენს MSP430- ზე!
იმედია, ეს გაკვეთილი დაგეხმარებათ წარმატებით შექმნათ პროექტი თქვენი MSP430– ისთვის. ახლა დროა განახორციელოთ საკუთარი იდეები!
კოდის გენერირებისთვის YAKINDU Statechart Tools საჭიროა როგორც მოდული თქვენს Code Composer Studio– ში.
აქ შეგიძლიათ მიიღოთ განახლების საიტი! <
ის იწყება 30 დღიანი საცდელი ვერსიით. ამის შემდეგ, თქვენ შეგიძლიათ მიიღოთ უფასო ლიცენზია არაკომერციული გამოყენებისთვის!
გირჩევთ:
შექმენით თქვენი საკუთარი მყარი მდგომარეობის რელე: 4 ნაბიჯი (სურათებით)
შექმენით თქვენი საკუთარი მყარი მდგომარეობის სარელეო: ამ პროექტში ჩვენ შევხედავთ მყარი მდგომარეობის რელეებს, გავარკვევთ როგორ მუშაობს ისინი და როდის გამოვიყენოთ ისინი და ბოლოს შევქმნათ ჩვენი საკუთარი მყარი მდგომარეობის რელე. Დავიწყოთ
მყარი მდგომარეობის ტესლას კოჭები და როგორ მუშაობს ისინი: 9 ნაბიჯი
მყარი სახელმწიფო Tesla Coils და როგორ მუშაობს: მაღალი ძაბვის ელექტროენერგია შეიძლება იყოს საშიში, გამოიყენოს უსაფრთხოების შესაბამისი ზომები ნებისმიერ დროს Tesla– ს კოჭებთან ან სხვა მაღალი ძაბვის მოწყობილობებთან მუშაობისას, ასე რომ ითამაშეთ უსაფრთხოდ ან არ ითამაშოთ. Tesla coils არის ტრანსფორმატორი, რომელიც მუშაობს თვითრეზონანსულ რხევზე
ნებისმიერი სატრანსპორტო/სატრანსპორტო მანქანის Bluetooth პროგრამად გადაქცევა კონტროლის მანქანა/მანქანა: 9 ნაბიჯი
ნებისმიერი სატრანსპორტო საშუალების გადაყვანა Bluetooth– ის აპლიკაციის მართვის რ/კ მანქანაში: ეს პროექტი აჩვენებს ნაბიჯებს ჩვეულებრივი დისტანციური მართვის მანქანის Bluetooth (BLE) საკონტროლო მანქანაზე Wombatics SAM01 რობოტების დაფით, ბლინკის აპლიკაციითა და MIT აპლიკაციის გამომგონებლით. არის ბევრი დაბალი ღირებულების RC მანქანა, რომელსაც აქვს მრავალი მახასიათებელი, როგორიცაა LED ფარები და
ციფრული საათი Arduino– ზე სასრული მდგომარეობის აპარატის გამოყენებით: 6 ნაბიჯი
ციფრული საათი Arduino– ზე სასრული მდგომარეობის აპარატის გამოყენებით: აი, მე ვაჩვენებ, თუ როგორ შეიძლება ციფრული საათი შეიქმნას YAKINDU Statechart Tools– ით და იმუშაოს Arduino– ზე, რომელიც იყენებს LCD Keypad Shield– ს. ციფრული ორიგინალური მოდელი საათი აღებულია დევიდ ჰარელისგან. მან გამოაქვეყნა ნაშრომი ამის შესახებ
წვრილმანი მდგომარეობის რელე: 4 ნაბიჯი
წვრილმანი მდგომარეობის სარელეო: გამარჯობა მეგობრებო დღეს ვაპირებ იზოლირებული SSR- ის დამზადებას, როგორც ვიცით ტრადიციული რელეები უზრუნველყოფენ გალვანურ იზოლაციას, მაგრამ ეს არის ელექტრომექანიკური გადართვა, რადგან მისი კონტაქტები დროთა განმავლობაში დაზიანებულია, ამიტომ გადავწყვიტე მყარი მდგომარეობის რელე გავაკეთო დატვირთვის გადართვისთვის