Aky C compilator vybrat pre PIC16 a PIC18

Diskuze a poradna o programátorech a programování různých obvodů

Moderátor: Moderátoři

Odpovědět
Zpráva
Autor
Uživatelský avatar
MrMarian
Příspěvky: 48
Registrován: 14 říj 2010, 00:00

Aky C compilator vybrat pre PIC16 a PIC18

#1 Příspěvek od MrMarian »

Zdravime,

V pondelok 07.02.2011 mi prisiel programator ICD3 a PICdemoboard 2. Vcera som rozblikal LED-ky podla vasich rad (blikala jedna, blikali dve, binarne pocitanie, blikanie zlava do prava a opacne a pod.) Bolo to celkom jednoduche - vsetko pre PIC18F4520 compilator MPLAB C18. Chcem sa pustit do nieco vacsieho ako som uz tu pisal, a chcem sa to vsetko ucit na jednom kompilatore a aby to bolo prenositelne na rozne (kompatibilne) PIC (zrovna ktore je poruke)

Moja otazka je: aky kompilat pouzit ak by som chcel programovat PIC16 a PIC18. V MPLAB C18 mi nepojdu programovat PIC16 - alebo sa mylim?
HI-TECH je pre PIC16 i PIC18. CCS tiez. Co odporucate zaciatocnikovi v programovani PIC? V C / C++ programujem uz par rokov ... (od r. 1993 :D )

HI-TECH sm sa docital ze ma celkom "zakodovane" hlavicky - neviem ci je to pravda.

Dakujem za kazdu radu a nazor.

Prajem pekny den.

M.
Uživatelský avatar
wire
Příspěvky: 30
Registrován: 12 úno 2011, 00:00

#2 Příspěvek od wire »

To,že mají oddělené kompilátory není od věci.Řada PIC16 má 35 instrukcí,řada PIC18 jich má 75.Navíc řada PIC18 je o něčem zcela jiném,seženeš obvod,který má např. integrovaný řadič LCD a podobný vychytávky,navíc to běží na 64MHz...HI-TECH je ok,stačí vložit např.toto a můžeš programovat...Co se týče přepínání mezi kompilátory,nevím,co řešíš.(alepsoň v MPLabu při zakládání volíš jak umístění samotného projektu,tak právě kompilátor,typ procesoru.A později když projekt načítáš,už toto neřešíš.MPLAB si sám daný kompilátor načte.V MPLAB C18
jsem nedělal,proto nemohu komentovat.
#include <htc.h>
__CONFIG(3f71h); //nastavení pojistek :-)
#define _XTAL_FREQ (4000000) //definice kmitočtu pro delay

No a třeba práce s eeprom je taky legrační...

volatile unsigned char adr_ee; //definice proměnných
volatile unsigned char data_ee;
void main (void)
{
data_ee = eeprom_read(adr_ee); //čtení

eeprom_write(adr_ee,data_ee); // a zápis
while(WR)
continue ;
}
Odpovědět

Zpět na „Programování PIC, ATMEL, EEPROM a dalších obvodů“