PSoC - pirmasis prisilietimas

13/08/2013 21:13

    Pagaliau pačiam teko galimybė paprogramuoti PSoC ir pasiknaisioti jam sukurtoje IDE. Galiu pasakyti, kad pirmieji įspūdžiai man nelabai patiko. Vos atsidarius IDE pasirodo du langai, vienas skirtas "hardware" dalies konfiguravimui, kitas - kodo rašymui. Kaip ir didelės problemos nebūtų, jei ne tų pačių nustatymų persipynimas per abu langus. Tarkime naudojant PWM generatorių, jį "drag and drop" pagalba iš siūlomo įrenginių sarašo nutempiame į "statymo bloką" ir iškart galime pasirinkti norimą laikrodinio signalo šaltinį, impulso plotį, vieno ciklo periodo trukmę. Vėliau peršokę į C kodo rašymo langą vėl turime inicializuoti ciklo periodo trukmę, bei impulso plotį. Tikslus pirmumas neaaiškus, kap teikiama pirmenybė - ar kodui, ar nustatymas kietosios dalies redagavimo lange.

    Pradinių bibliotekų trūkumas. Tiek AVR Studio tiek PSoC Designer yra nemokamos IDE, tačiau AVR Studio aprūpinta gerokai daugiau bibliotekų. Žinoma yra galimybė tiek vienai, tiek kitai jų atsisiųsti, bet Atmel produktas turi žymiai platesnį pasirinkimą.

    PSoC pranašumas tas, kad progrmauojant paprastus įrenginius atkrenta registrų junginėjimas, nes į statymo bloko langelį įtraukus naują įrenginį, tarkime PWM gneratorių, registrai sukonfiguruojami automatiškai. Taigi PSoC programavimas vyksta dalinai grafiškai (šiek tiek panašu į Arduino).

    Kaip bebūtų, norint priversti LED keisti ryškumą - lėtai užsižiebti ir palaipsniui vėl užgesti prireikė gal pusvalandžio. Turbūt dėl PSoC bibliotekų neišmanymo (nes delay funkcijos taip ir neradom, tad teko naudoti sleep timer), bet greičiausiai dėl nustatymų gausos ir painiavos tarp dviejų skirtingos paskirties langų. Žinoma didelę įtaką daro ir būtinybė persilaužti nuo AVR prie PSoC. Kažkaip man visgi patogiau junginėti registrus, nei GUI tempioti ikonėles iš vienos vietos į kitą ir dėlioti varneles...

    Tie kurie labiau pratę prie PSoC problemų neturėjo, taigi čia turbūt įpratimo reikalas. Paklaustas, kad surasčiau tokią funkciją, kurią galima užprogramuoti AVR, bet negalima PSoC visgi neradau. Taigi manau čia panaši istorija kaip su Arduino...