
Re: Основни положения при писане на С за ПИК
Конфигурацията на контролера можеш да направиш с мишката, като избереш меню Window->Pic memory views->Configuration bits.
Избираш си от селектите някой стойност за дадената опция и като приключиш - Generate source code to output.
Copy и после paste в твоя файл и си готов с конфигурацията.
С това приключваш базовото конфигуриране - clock, code protection.. кучета и други основни опции.
Следващата конфигурация която трябва да направиш е тая за периферията която ще ползваш.. ама щом си писал за контролери,
дори и на асемблер - това ти е ясно.
Всички регистри на дадения контролер са дефинирани в неговия си хедър файл, който пък се инклудва в проекта ти чрез
просто инклудване на "xc.h". Конвенцията за именоване на хедър файловете им е p24 + останалата част от модела на контролера.
Като пример за pic24fv32ka302, хедър файла е "p24FV32KA302.h".
С регистрите можеш да работиш като им присвояваш стойност директно или четеш директно такава от тях.. не по различно е от
асемблера. За улеснение микрочеп са сложили и структури, с чиято помощ да можеш да установяваш/четеш конкретен бит от даден
регистър. Тях можеш да познаеш по това че завършват на bits, например LATAbits, като LATA е регистъра.
Прекъсванията се пишат като функции в C-то, като пред дефиницията на функцията слагаш атрибут указващ че това е прекъсване
_ISR, например
. Предполагам основния въпрос който те тормози е от къде да вземеш имената
на прекъсванията - от документацията на C30 компилатора или ръчно от
<инсталационна папка на xc16>/support/PIC24F(E, H..)/gld/pTвоя контролер.gld и си търсиш Interrupt Vector Table.
Допълнителна информация за разновидностите на прекъсванията (и всичко останало) можеш да намериш в документацията на
xc16 (Help->Help contents->XC16 toolchain).