HI-TECH PICC18 PIC18F4580

Pipi pipi at puzsar.hu
Thu Aug 3 19:53:48 CEST 2006


>>30. sor után kértem a HI-TECH-től egy 28 napos licenszet.

jogtisztasági kérdés miatt árban a Microchip veri a HITECH-t,
az mchip optimalizásási korlátozása eddig még nem nem okozott nekem gondot

> 
> Ez a CCS-es a Microchipes C ferdito?
nem a CCS C-t a CCS mig a Microchipest a Microchip fejleszti :)

> Es akkor itt van ez:
> PORTA=0x00
> PORTAbits.RA1=0;
> miert kell oda a bits? Nem lenne eleg PORTA.RA1?

nem mert a PORTA az unsigned char és a PORTAbits az meg struktúra (UNION-ban) ezért nem lehet azonos a nevük

nézd meg a megfelelő include fileokat!

extern volatile near unsigned char       PORTA;
extern volatile near union {
   struct {
     unsigned RA0:1;
     unsigned RA1:1;
     unsigned RA2:1;
     unsigned RA3:1;
     unsigned RA4:1;
     unsigned RA5:1;
     unsigned RA6:1;
   };
   struct {
     unsigned AN0:1;
     unsigned AN1:1;
     unsigned AN2:1;
     unsigned AN3:1;
     unsigned :1;
     unsigned AN4:1;
     unsigned OSC2:1;
   };
   struct {
     unsigned :2;
     unsigned VREFM:1;
     unsigned VREFP:1;
     unsigned T0CKI:1;
     unsigned SS:1;
     unsigned CLK0:1;
   };
   struct {
     unsigned :5;
     unsigned LVDIN:1;
   };
} PORTAbits;

esetleg az UNION-t átírhatod kedved szerint hogy legyen benne egy unsigned char és vele párban a bitek
és akkor hivatkozhatsz pl PA.BYTE néven 8 bitre vagy PA.RA1 1 bitre, de igy sem egyszerűbb :(


vagy írj rá makrót

#define PORTARA1 PORTAbits.RA1		:)
ez is macerás, bár eccer kell megírni (pic típusonként ???)


-- 
Pipi
http://www.puzsar.hu
--------------------------------------------------------------
Legyen türelmes, a számítógép is eléggé türelmes önnel szemben



More information about the Elektro mailing list