Микроконтролери и електроника
http://mcu-bg.com/mcu_site/

CCS locate
http://mcu-bg.com/mcu_site/viewtopic.php?f=7&t=555
Страница 1 от 2

Автор:  LAWN [ Чет Апр 07, 2005 8:23 am ]
Заглавие:  CCS locate

Èñêàì äà äåêëàðèðàì ìàñèâ(CCS PICC). êîèòî äà ñå íàìèðà íà îïðåäåëåí àäðåñ âúâ âòîðà áàíêà (P16f876) :

int inbuff[20];
#locate inbuff=0xA0

Çà êîäà:
main()
{
.
inbuff[1]=2;
.}

êîìïèëàòîðà ìè ãåíåðèðà ñàìî :

MOVLW 02
MOVWF 21 //
ëèïñâà ïðåâêëþ÷âàíå íà áàíèêè.
Àç ëè áúðêàì(ïðîïóñêàì)íåùî èëè êîìïèëàòîðà å òàêà íàïðàâåí è
òðÿáâà äà ñå ãðèæà çà ïðåâêëþ÷âàíåòî íà áàíêèòå?
8O

Автор:  [ Чет Апр 07, 2005 11:39 am ]
Заглавие: 

...

Автор:  LAWN [ Чет Апр 07, 2005 3:12 pm ]
Заглавие: 

Áëàãîäàðÿ pirev. Ðàáîòè.

BSF 03.5
.
.
Ìîå íåäîãëåæäàíå, áàíêàòà å îñòàíàëà
èçáðàíà îò äóãà èíñòðóêöèÿ, äîñòà ïî-íàïðåä â ïðîãðàìàòà è ïîíåæå íÿìà íåïîñðåäñòâåíî ïðåâêëþ÷âàíå ïðåäè îïåðàöèàòà ñ ìàñèâà ñúì ñå çàáëóäèë.
Âñå ïàê òîâà îçíà÷àâà,÷å êîìïèëàòîðà îïòèìèçèðà äîáðå. :)

Автор:  LAWN [ Съб Апр 09, 2005 6:27 pm ]
Заглавие:  CCS

Îùå åäèí âúïðîñ. Èñêàì äà äåôèíèðàì êëåòêè ðàçïîëîæåíè íà ïîñëåäîâàòåëíè àäðåñè. Íàïðàâèë ñúì äåôèíèöèÿòà òàêà:

#DEFINE M 0x20
#byte a = M
#byte b = M+1
#byte c = M+2
#byte x = M+3
#byte y = M+4
#byte z = M+5
íî íå ìè õàðåñâà. Ìíîãî å òðîìàâî ïðè ðàçìåñòâàíå, äîáàâÿíå è èçòðèâàíå íà ïðîìåíëèâè. Èìà ëè ïî åëåãàíòåí íà÷èí çà äåôèíèðàíå?

Автор:  bateAz [ Съб Апр 09, 2005 6:51 pm ]
Заглавие: 

А не става ли със структура и на нея да й заковеш адреса?

Автор:  Predator_MF [ Нед Апр 10, 2005 12:56 pm ]
Заглавие: 

@ТоНu, това за банките ми е малко неясно...в смисъл, пробвах преди време да напиша един дълъг код на асемблер в CCS, който използва 3-те банки на 877А. Отначало написах кода с превключване на банки, но после реших да тествам какво ще стане ако няма такова. Кода ми въврвеше по същия начин и без превключването...Според мен CCS сам превключва банки дори и на АСМ...

Автор:  [ Нед Апр 10, 2005 1:04 pm ]
Заглавие: 

...

Автор:  ToHu [ Нед Апр 10, 2005 10:54 pm ]
Заглавие: 

Абе аз все си мисля че дори и при директно адресиране на #asm пак превключва. Иначе в кода навсякъде сам си превключва.

Автор:  Lino [ Пон Апр 11, 2005 11:41 am ]
Заглавие:  CCS

Ako се напише само:
#asm
компилатора превключва банките независимо дали си написал
код за превключване.
Ako се напише
#asm ASIS програмиста се грижи за превключване на банките.
Но дори при декларация
#asm ASIS
ASM кода може да не остане без промяна, защото
компилатора оптимизира преходите.

Автор:  [ Пон Апр 11, 2005 12:14 pm ]
Заглавие: 

...

Автор:  LAWN [ Сря Апр 13, 2005 9:41 am ]
Заглавие:  CCS 3.204 device

Êàêâà å ïðè÷èíàòà çà ðàçëè÷íèòå ðåçóëòàòè ïðè:

Êîãàòî äåêëàðèðàì
#include <16F876.H>
.
byte x;
struct {
byte b0 : 1; /* 1 bit */
byte b1 : 1;
byte b2 : 1;
byte b3 : 1;
byte b4 : 1;
byte b5 : 1;
byte b6 : 1;
byte b7 : 1;
}SBits;
.
ñå êîìïèëèðà áåç ãðåøêà

Êîãàòî äåêëàðèðàì
#device PIC16F876
.
byte x;
struct {
byte b0 : 1; /* 1 bit */
byte b1 : 1;
byte b2 : 1;
byte b3 : 1;
byte b4 : 1;
byte b5 : 1;
byte b6 : 1;
byte b7 : 1;
}SBits;
.
ñå êîìïèëèðà Ñ ãðåøêà:
byte x;
Expecting a (
Ako ïðåìàõíà òîçè ðåä ìè äàâà ãðåøêà:
struct {
byte b0 : 1; /* 1 bit */
Unknown type

Púðâèÿ ðåä â 16F876.H å
#device PIC16F876 ?!

8O 8O 8O

Автор:  [ Сря Апр 13, 2005 10:22 am ]
Заглавие: 

...

Автор:  LAWN [ Сря Апр 13, 2005 10:56 am ]
Заглавие: 

Äåêëàðàöèÿòà ñúñ ñèãóðíîñò å åäíà.

Àêî îñòàâÿ äâàòà ðåäà ìè äàâà ñúîáøåíèå çà ãðåøêà.
#device PIC16F876
#include <16F876.H>

Êàòî ïèøåõ ïðîãðàìàòà èçïîëçâàõ äåêëàðàöèÿòà:
#include <16F876.H>
è íÿìàõ ïðîáëåìè.
Íî ðåøèõ äà ïðîáâaì ïðîãðàìàòà ñ ICD è ñå íàëîæè äà ñìåíÿ
ðåäà #include <16F876.H> c äåêëàðàöèÿòà:
#device PIC16F876 ICD=TRUE è
òîãàâà ÃÐÚÌ.

Àêî èìàòå âðåìå ìîæå äà ïðîáâàòå.

Òîçè êîä ñå êîìïèëèðà(CCS v3.204):
#include <16F876.H>
byte x;

main()
{
byte i;
i=1;
x=1;
}


Òîçè êîä ãúðìè:
#DEVICE PIC16F876
byte x;

main()
{
byte i;
i=1;
x=1;
}


8O 8O :roll: :roll:

Àêî âè ñå íàìèðà äàéòå ëèíê çà ïî-íîâà âåðñèÿ íà êîìïèëàòîðà.

Автор:  [ Сря Апр 13, 2005 11:09 am ]
Заглавие: 

...

Автор:  LAWN [ Сря Апр 13, 2005 11:52 am ]
Заглавие: 

Âúâ ôàéëà 16f876.h íÿìà äåôèíèöèè çà BYTE (êúäåòî äàâà ãðåøêà),
íî èçãëåæäà ñà íåîáõîäèìè äðóãèòå äåôèíèöèè â íåãî çà äà ðàáîòè ïðàâèëíî êîìïèëàòîðà.

ICD2 ìè å ñàìîäåëêà (16f876,ñàìî ïî RS232) íî ñè ðàáîðè
ñòàáèëíî ñ MPLAB.
Îáà÷å CCS IDE íå ìè ðàçïîçíàâà ìîÿ ICD2. Àç ëè íåùî ãðåøà èëè
òðÿáâà äà ïðåïðîãðàìèðàì ñ íÿêàêúâ ñîôò çà õàðäóåðà íà ICD2 çà äà ðàáîòè ñ CCS-ñà.

Страница 1 от 2 Часовете са според зоната UTC + 2 часа [ DST ]
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/