| Автор |
Съобщение |
|
LAWN
|
 CCS locate
Èñêàì äà äåêëàðèðàì ìàñèâ(CCS PICC). êîèòî äà ñå íàìèðà íà îïðåäåëåí àäðåñ âúâ âòîðà áàíêà (P16f876) :
int inbuff[20];
#locate inbuff=0xA0
Çà êîäà:
main()
{
.
inbuff[1]=2;
.}
êîìïèëàòîðà ìè ãåíåðèðà ñàìî :
MOVLW 02
MOVWF 21 //
ëèïñâà ïðåâêëþ÷âàíå íà áàíèêè.
Àç ëè áúðêàì(ïðîïóñêàì)íåùî èëè êîìïèëàòîðà å òàêà íàïðàâåí è
òðÿáâà äà ñå ãðèæà çà ïðåâêëþ÷âàíåòî íà áàíêèòå?

|
| Чет Апр 07, 2005 8:23 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Съб Яну 28, 2012 11:11 am, променена общо 1 път
|
| Чет Апр 07, 2005 11:39 am |
|
 |
|
LAWN
|
Áëàãîäàðÿ pirev. Ðàáîòè.
BSF 03.5
.
.
Ìîå íåäîãëåæäàíå, áàíêàòà å îñòàíàëà
èçáðàíà îò äóãà èíñòðóêöèÿ, äîñòà ïî-íàïðåä â ïðîãðàìàòà è ïîíåæå íÿìà íåïîñðåäñòâåíî ïðåâêëþ÷âàíå ïðåäè îïåðàöèàòà ñ ìàñèâà ñúì ñå çàáëóäèë.
Âñå ïàê òîâà îçíà÷àâà,÷å êîìïèëàòîðà îïòèìèçèðà äîáðå. 
|
| Чет Апр 07, 2005 3:12 pm |
|
 |
|
LAWN
|
 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
íî íå ìè õàðåñâà. Ìíîãî å òðîìàâî ïðè ðàçìåñòâàíå, äîáàâÿíå è èçòðèâàíå íà ïðîìåíëèâè. Èìà ëè ïî åëåãàíòåí íà÷èí çà äåôèíèðàíå?
|
| Съб Апр 09, 2005 6:27 pm |
|
 |
|
bateAz
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 4:11 pm Мнения: 3750 Местоположение: София
|
А не става ли със структура и на нея да й заковеш адреса?
|
| Съб Апр 09, 2005 6:51 pm |
|
 |
|
Predator_MF
Ранг: Форумен бог
Регистриран на: Чет Окт 07, 2004 1:22 pm Мнения: 1949 Местоположение: София
|
@ТоНu, това за банките ми е малко неясно...в смисъл, пробвах преди време да напиша един дълъг код на асемблер в CCS, който използва 3-те банки на 877А. Отначало написах кода с превключване на банки, но после реших да тествам какво ще стане ако няма такова. Кода ми въврвеше по същия начин и без превключването...Според мен CCS сам превключва банки дори и на АСМ...
|
| Нед Апр 10, 2005 12:56 pm |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Съб Яну 28, 2012 11:12 am, променена общо 1 път
|
| Нед Апр 10, 2005 1:04 pm |
|
 |
|
ToHu
Ранг: Форумен бог
Регистриран на: Нед Сеп 26, 2004 9:21 pm Мнения: 30686 Местоположение: София
|
Абе аз все си мисля че дори и при директно адресиране на #asm пак превключва. Иначе в кода навсякъде сам си превключва.
|
| Нед Апр 10, 2005 10:54 pm |
|
 |
|
Lino
Ранг: Минаващ
Регистриран на: Чет Мар 10, 2005 11:43 am Мнения: 58
|
 CCS
Ako се напише само:
#asm
компилатора превключва банките независимо дали си написал
код за превключване.
Ako се напише
#asm ASIS програмиста се грижи за превключване на банките.
Но дори при декларация
#asm ASIS
ASM кода може да не остане без промяна, защото
компилатора оптимизира преходите.
|
| Пон Апр 11, 2005 11:41 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Съб Яну 28, 2012 11:12 am, променена общо 1 път
|
| Пон Апр 11, 2005 12:14 pm |
|
 |
|
LAWN
|
 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 ?!

|
| Сря Апр 13, 2005 9:41 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Съб Яну 28, 2012 11:12 am, променена общо 1 път
|
| Сря Апр 13, 2005 10:22 am |
|
 |
|
LAWN
|
Äåêëàðàöèÿòà ñúñ ñèãóðíîñò å åäíà.
Àêî îñòàâÿ äâàòà ðåäà ìè äàâà ñúîáøåíèå çà ãðåøêà.
#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;
}
Àêî âè ñå íàìèðà äàéòå ëèíê çà ïî-íîâà âåðñèÿ íà êîìïèëàòîðà.
|
| Сря Апр 13, 2005 10:56 am |
|
 |
|
¶
Ранг: Форумен бог
Регистриран на: Пет Фев 25, 2005 1:58 pm Мнения: 4585 Местоположение: US
|
...
Последна промяна ¶ на Съб Яну 28, 2012 11:12 am, променена общо 1 път
|
| Сря Апр 13, 2005 11:09 am |
|
 |
|
LAWN
|
Âúâ ôàéëà 16f876.h íÿìà äåôèíèöèè çà BYTE (êúäåòî äàâà ãðåøêà),
íî èçãëåæäà ñà íåîáõîäèìè äðóãèòå äåôèíèöèè â íåãî çà äà ðàáîòè ïðàâèëíî êîìïèëàòîðà.
ICD2 ìè å ñàìîäåëêà (16f876,ñàìî ïî RS232) íî ñè ðàáîðè
ñòàáèëíî ñ MPLAB.
Îáà÷å CCS IDE íå ìè ðàçïîçíàâà ìîÿ ICD2. Àç ëè íåùî ãðåøà èëè
òðÿáâà äà ïðåïðîãðàìèðàì ñ íÿêàêúâ ñîôò çà õàðäóåðà íà ICD2 çà äà ðàáîòè ñ CCS-ñà.
|
| Сря Апр 13, 2005 11:52 am |
|
|