Sida 2 av 2
Re: register frågor PIC 16F1847
Postat: 10 november 2014, 15:34:37
av XorXaX
Kapitel 12 i databladet för PIC16F1847 berättar precis hur portarna fungerar.
Där finns även exempel på hur man ställer in porten till en digital port
En sak man kan vara säker på är att man inte får fuskläsa ett datablad

Re: register frågor PIC 16F1847
Postat: 10 november 2014, 16:25:36
av newbadboy
Nä det går nog inte läsa snabbt
Vackert blir det iaf
Re: register frågor PIC 16F1847
Postat: 15 november 2014, 18:43:22
av mishral
Fråga:
Har du missat ett fel här eller är det jag som missförstår detta?
Kod: Markera allt
#define Buzz PORTA.F4
#define ProtectEN PORTB.F3
#define Fan PORTB.F2
ska inte detta vara
Kod: Markera allt
#define Buzz PORTA.A4
#define ProtectEN PORTB.B3
#define Fan PORTB.B2
Re: register frågor PIC 16F1847
Postat: 15 november 2014, 22:19:44
av newbadboy
Hmm syntaxen är som jag skrivit och hade det varit fel så hade jag fått kompilerngsfel men det funkar.
Din variant har jag aldrig sett.
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 11:02:36
av mishral
Du har rätt, det jag skrev var ju fel också.
Det jag menade var:
Men jag har inte sett den syntaxen du använde heller, men jag är rätt ny på området (har precis gått en kvällskurs så det är väldigt färskt).
Kan du förklara den syntaxen?
Står den i databladet för PIC 16F1847?
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 11:15:38
av Nerre
Det har väl snarare att göra med vilken C-miljö man använder?
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 11:41:31
av SeniorLemuren
Manual till mikroC Pro.
Jag använder mikroC Pro och där skriver jag på detta vis, som exempel:
Kod: Markera allt
//********************** Stegmotor anslutningar ***************************
sbit C_E at RA0_bit ; //1 = card enable
sbit RST at RA2_bit ; //Count up on zero
sbit DIR at RA3_bit ; //rev.dir.
sbit GLARM at RA4_bit ; //Beeper High flue gas temp.
sbit STP at RA5_bit; //Stepp the motor
#Define är ett macro, det använder jag så här:
Kod: Markera allt
#define LED0_on LATC0_bit = 1 ;
#define LED0_off LATC0_bit = 0 ;
#define step STP=1; delay_us(600); STP=0;
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 11:44:34
av sodjan
Om det heter PORTB.B3 eller PORTBbits-B3 eller något helt annat beror
helt på hur den aktuella C miljön har satt upp sina symboler. PORTBbits
modellen är väl XC8, om jag inte minns fel. MikroC kanske inte gör så...
> Står den i databladet för PIC 16F1847?
Nej, ingenting som har med C att göra står i PIC databladet!
Hur man skriver korrekt C-kod har för övrigt väldigt lite
med processorn (hårdvaran) i sig att göra...
När det gäller C så är det "MicroC User's Manual" eller "MPLAB® XC8
C Compiler User’s Guide" som gäller. Eller vad det nu är för C
kompilator som man använder...
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 18:19:02
av mishral
Ah!
Nej, så är det klart. Jag virrade bort mig lite med assembler tankar och C.
Jag har bara använt XC8 så jag hade inte tänkt så mycket på att det kunde se annorlunda ut, men nu ter det sig helt självklart.

Då lärde jag mig nåt idag med!
Re: register frågor PIC 16F1847
Postat: 16 november 2014, 19:01:09
av newbadboy
Hehe ok då jämförde vi äpplen och päron eg
