09-19-2014, 12:39 AM
@Macola
U potpunosti se slazem da je bolje ici na 18F seriju,16F seriju pa npr. 16F628A sam izabrao iz razloga sto su ovo moji prvi koraci u C.Znaci dovoljno je
CMCON = 7;
pa mi je on OK za dalje sa prostim primerima.
E sad da se vratim na LCD,sve ovo sto si mi PRELEPO objasnio je OK.Izgleda da bi to sve radilo ali se javlja problem u kompajliranju sa
delay_m.c
i to u funkciji
void delay_10us(unsigned char del)
{
del2 = del;
#asm //OVAJ DEO CODE NECE DA SE KOMPAJLIRA SVE DO #endasm
movf _del2,f
btfsc status,2
return
GLOBAL _del1
loop_outer:
movlw del_const
movwf _del1
loop_inner:
nop
nop
decfsz _del1
bra loop_inner
decfsz _del2
bra loop_outer
return
#endasm
jednostavno receno kao da ovaj deo sa
assembler code
ne prolazi u kompajliranju
delay_m.c
error: syntax error
delay_m.c
error: illegal instruction for this processor
delay_m.c
error: illegal instruction for this processor
ja sam probao u mesto
#asm
#endasm
nesto ovako i (slicne fore jer sam trazio to u pdf)
_asm
_endasm
ali ne prolazi.
jednostavno svaka linija CODE u assembler code bloku ima uzvicnik u mesto rednog broja linije
da napomenem da koristim
MPLABX
XC8 kompajler v1.30
U potpunosti se slazem da je bolje ici na 18F seriju,16F seriju pa npr. 16F628A sam izabrao iz razloga sto su ovo moji prvi koraci u C.Znaci dovoljno je
CMCON = 7;
pa mi je on OK za dalje sa prostim primerima.
E sad da se vratim na LCD,sve ovo sto si mi PRELEPO objasnio je OK.Izgleda da bi to sve radilo ali se javlja problem u kompajliranju sa
delay_m.c
i to u funkciji
void delay_10us(unsigned char del)
{
del2 = del;
#asm //OVAJ DEO CODE NECE DA SE KOMPAJLIRA SVE DO #endasm
movf _del2,f
btfsc status,2
return
GLOBAL _del1
loop_outer:
movlw del_const
movwf _del1
loop_inner:
nop
nop
decfsz _del1
bra loop_inner
decfsz _del2
bra loop_outer
return
#endasm
jednostavno receno kao da ovaj deo sa
assembler code
ne prolazi u kompajliranju
delay_m.c

delay_m.c

delay_m.c

ja sam probao u mesto
#asm
#endasm
nesto ovako i (slicne fore jer sam trazio to u pdf)
_asm
_endasm
ali ne prolazi.
jednostavno svaka linija CODE u assembler code bloku ima uzvicnik u mesto rednog broja linije
da napomenem da koristim
MPLABX
XC8 kompajler v1.30