Re: Mikro C PIC - string - problém

Jan Půhoný konference na puhy.cz
Pátek Leden 17 15:39:03 CET 2014


Díky moc za Vaši snahu, ale fakt mi to nefunguje - už to nechápu:

udělal jsem nový projekt, nastavit PIC18F4550, vytvořil nový main.c ...

a zaboha to nepřeložím - opět pokud zakomentuji ty delay tak se to přeloží
normálně. Jakmile tam je ale __delay_ms(200); je konec ...

V main.c (jiné soubory projekt neobsahuje) mám doslova:

#include <xc.h>
#define _XTAL_FREQ=1000000

#pragma config PLLDIV = 1
#pragma config CPUDIV = OSC1_PLL2
#pragma config USBDIV = 1
#pragma config FOSC = INTOSC_HS
#pragma config PWRT = OFF
#pragma config BOR = ON
#pragma config BORV = 3
#pragma config VREGEN = OFF
#pragma config WDT = OFF
#pragma config MCLRE = ON
#pragma config STVREN = ON
#pragma config LVP = OFF
#pragma config XINST = OFF



void main(void)
{
TRISD = 0;
    while(1)
    {
        LATD=0xFF;
        __delay_ms(200);
        LATD=0x00;
        __delay_ms(200);
   }
}



a při pokusu o překlad:

main.c:26: error: (195) expression syntax
main.c:26: error: (187) too few function arguments
main.c:26: error: (194) ")" expected
main.c:26: error: (195) expression syntax
main.c:28: error: (195) expression syntax
main.c:28: error: (187) too few function arguments
main.c:28: error: (194) ")" expected
main.c:28: error: (195) expression syntax
(908) exit status = 1
make[2]: Leaving directory `C:/Users/Honza/MPLABXProjects/test.X'
make[1]: Leaving directory `C:/Users/Honza/MPLABXProjects/test.X'
make[2]: *** [build/default/production/main.p1] Error 1
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2

BUILD FAILED (exit value 2, total time: 4s)

To musí být nějaká blbost, ale proč to nefunguje ?

Díky.

Honza Půhoný


Dne 16. ledna 2014 22:02 Jaromir Sukuba <jarin.hw na gmail.com> napsal(a):

> Ja by som to urobil takto:
>
>
> #include <xc.h>
> #define _XTAL_FREQ=1000000
> void main(void)
> {
> TRISD = 0;
>     while(1)
>     {
>         LATD=0xFF;
>          __delay_ms(200);
>         LATD=0x00;
>         __delay_ms(200);
>    }
> }
>
> Ten Vas zdrojak je strasne ukecany, nemam to rad. Zdrojak som
> netestoval, nemam poruke HW na ktorom by som to skusil, ale tam snad
> nema co nefungovat.
> A pokial konfiguracne bity nenastavujete mimo MPLAB-u, tak na zaciatok
> (ja zvyknem hned po includnuti xc.h) dal toto:
>
> #pragma config PLLDIV = 1
> #pragma config CPUDIV = OSC1_PLL2
> #pragma config USBDIV = 1
> #pragma config FOSC = INTOSC_HS
> #pragma config PWRT = OFF
> #pragma config BOR = ON
> #pragma config BORV = 3
> #pragma config VREGEN = OFF
> #pragma config WDT = OFF
> #pragma config MCLRE = ON
> #pragma config STVREN = ON
> #pragma config LVP = OFF
> #pragma config XINST = OFF
>
> Co nastavi interny oscilator (defaultne bezi na 1MHz, nechal som ho v
> defaultnom nastaveni da sa preprnut v registri OSCCON - preto som Vam
> zmenil define na zaciatku) a vypne watchdog a LVP.
> 18F4550 je jeden z tych 18F-kovych MCU, ktore maju zlozitejsiu
> konfiguraciu hodin, kvoli USB.
>
> Konfiguraky si mozete zmenit : Window->PicMemory Views->Configuration
> bits, vyskoci na Vas okno, kde si naklikate co potrebujete a ono to
> vygeneruje tamtie mnemonicke skratky (ktore si naprikald ja bez toho
> nepamatam) do output window-u aj s komentarmi a odtial si ich
> skopirujete do zdrojaku.
>
> Vsimnite si ze som na kmitanie vyvodmi pouzil LAT registre. V tomtp
> pripade by to bez zavahania fungovalo aj s PORT registrami, ale skuste
> si nieco pohladat o RMW problemoch.
>
>
>
>
>
> 2014/1/16 Jan Půhoný <konference na puhy.cz>:
> > Já jsem právě použil průvodce na vytvoření projektu, proto mě
> překvapilo, že
> > to nejde přeložit...díky moc za Vači trpělivost ...
> >
> > v main.c mám toto:
> >
> >
> >
> /******************************************************************************/
> > /* Files to Include
> > */
> >
> /******************************************************************************/
> >
> > #if defined(__XC)
> >     #include <xc.h>        /* XC8 General Include File */
> > #elif defined(HI_TECH_C)
> >     #include <htc.h>       /* HiTech General Include File */
> > #elif defined(__18CXX)
> >     #include <p18cxxx.h>   /* C18 General Include File */
> > #endif
> >
> > #if defined(__XC) || defined(HI_TECH_C)
> >
> > #include <stdint.h>        /* For uint8_t definition */
> > #include <stdbool.h>       /* For true/false definition */
> >
> > #endif
> >
> > #include "system.h"        /* System funct/params, like osc/peripheral
> > config */
> > #include "user.h"          /* User funct/params, such as InitApp */
> >
> >
> >
> > #define _XTAL_FREQ=20000000
> >
> >
> >
> >
> /******************************************************************************/
> > /* User Global Variable Declaration
> > */
> >
> /******************************************************************************/
> >
> > /* i.e. uint8_t <variable_name>; */
> >
> >
> /******************************************************************************/
> > /* Main Program
> > */
> >
> /******************************************************************************/
> >
> > void main(void)
> > {
> >     /* Configure the oscillator for the device */
> >     ConfigureOscillator();
> >
> >     /* Initialize I/O and Peripherals for application */
> >     InitApp();
> >
> >     /* TODO <INSERT USER APPLICATION CODE HERE> */
> >
> >     while(1)
> >     {
> >
> >         PORTD=0xFF;
> >
> >          __delay_ms(1);
> >
> >         PORTD=0x00;
> >
> >         __delay_ms(1);
> >
> >     }
> >
> > }
> >
> >
> >
> >
> >
> >
> >
> > Dne 16. ledna 2014 19:38 Jaromir Sukuba <jarin.hw na gmail.com> napsal(a):
> >
> >> Treba mat includnuty xc.h
> >>
> >> Idealne, ukazte cely zdrojak. Ked sa trochu zorientujete v tychto
> >> veciach, zvysok bude jednoduchy, ved je to C-cko.
> >>
> >> 2014/1/16 Jan Půhoný <konference na puhy.cz>:
> >> > ano pic.h mám includnutý, v přeportování mi brání asi jen lenost :-)
> >> >
> >> > je to makro, ale nefunguje to ať tam ; je nebo není ...
> >> >
> >> > Dne 16. ledna 2014 17:35 Andrej Jancura <aj.hwlist na gmail.com>
> napsal(a):
> >> >
> >> >> Dobry vecer,
> >> >>
> >> >> skusim poradit len tak, bez pustenia xc8...
> >> >>
> >> >> Mate includnuty subor pic.h?
> >> >>
> >> >> Nie je ten delay nahodou makro? takze skuste si to najst v tom
> include
> >> >> a
> >> >> ked chcete skusit este rychlejsie, skuste zmazat tu ";"...
> >> >>
> >> >> A.
> >> >>
> >> >> p.s: co Vam brani v preportovani tych funkcii z pic18 do pic16?! A
> ked
> >> >> uz
> >> >> pisem, tak sa spytam, ze preco pri tych stringoch co ste tu spominal
> >> >> tiez
> >> >> nepouzijete nieco v duchu print(const unsigned char *p_string)?
> >> >>
> >> >>
> >> >> 2014/1/16 Jan Půhoný <konference na puhy.cz>
> >> >>>
> >> >>> Díky za reakci. Samozřejmě jsem se překlepl v emailu.
> >> >>>
> >> >>> 53: __delay_ms(1); - normálně mi to zmodrá jako funkce, ale při
> >> >>> překladu
> >> >>> mi to vyhodí:
> >> >>>
> >> >>> main.c:53: error: (195) expression syntax
> >> >>> main.c:53: error: (187) too few function arguments
> >> >>> main.c:53: error: (194) ")" expected
> >> >>> main.c:53: error: (195) expression syntax
> >> >>> (908) exit status = 1
> >> >>> make[2]: *** [build/C18_18F87K22/production/main.p1] Error 1
> >> >>> make[1]: *** [.build-conf] Error 2
> >> >>> make: *** [.build-impl] Error 2
> >> >>>
> >> >>> Co dělám blbě?
> >> >>>
> >> >>> Když řádek 53 zakomentuji, tak se to normálně přeloží ...
> >> >>>
> >> >>> Těmi knihovnami jsem myslel například lcd displej nebo dallas čidla
> -
> >> >>> lcd
> >> >>> displej jsem našel jen pro 18F řadu - nebo jsem slepý?
> >> >>>
> >> >>> H.
> >> >>>
> >> >>>
> >> >>> Dne 16. ledna 2014 16:05 Jaromir Sukuba <jarin.hw na gmail.com>
> >> >>> napsal(a):
> >> >>>
> >> >>>> Ja robim delay takto
> >> >>>>
> >> >>>> __delay_ms(123);
> >> >>>> __delay_us(123);
> >> >>>>
> >> >>>> Asi mate iny manual nez ja
> >> >>>> http://ww1.microchip.com/downloads/en/DeviceDoc/52053B.pdf ale na
> >> >>>> strane 314 to mate.
> >> >>>>
> >> >>>> 2014/1/16 Jan Půhoný <konference na puhy.cz>:
> >> >>>> > Tak jsem stáhnul MPLAB X a XC8 a zatím ani nerozblikám ledku.
> >> >>>> > Naposledy jsem
> >> >>>> > v tom dělal ještě v asembleru. Procesor jsem přepájel na
> >> >>>> > PIC18F4550,
> >> >>>> > protože
> >> >>>> > jak jsem tak pochopil pro PIC16F a XC8 nejsou moc knihovny ...
> >> >>>> >
> >> >>>> > Ale nějak se nedaří...
> >> >>>> >
> >> >>>> > Proč proboha nefunguje tento zápis? Podle helpu by to mělo
> >> >>>> > fungovat...
> >> >>>> >
> >> >>>> > __DelayMs(50); ?
> >> >>>> >
> >> >>>> > #define _XTAL_FREQ=20000000 před tím mám ....
> >> >>>> >
> >> >>>> > Vy v tom děláte?
> >> >>>> >
> >> >>>> > Díky.
> >> >>>> >
> >> >>>> >
> >> >>>> >
> >> >>>> > Dne 14. ledna 2014 16:30 Jaromir Sukuba <jarin.hw na gmail.com>
> >> >>>> > napsal(a):
> >> >>>> >
> >> >>>> >> Za tu cenu (zadarmo) mate XC8 kompilator, nie je obmedzeny na
> >> >>>> >> velkost
> >> >>>> >> kodu, k tomu MPLAB (alebo MPLABX, podla chuti).
> >> >>>> >> Mozete to pouzivat s PIC16 alebo PIC18, ja by som radil skor
> >> >>>> >> PIC18;
> >> >>>> >> alebo
> >> >>>> >> aspon PIC16F1xxx, ale nie PIC16Fxxx.
> >> >>>> >>
> >> >>>> >
> >> >>>> >
> >> >>>> > _______________________________________________
> >> >>>> > HW-list mailing list  -  sponsored by www.HW.cz
> >> >>>> > Hw-list na list.hw.cz
> >> >>>> > http://list.hw.cz/mailman/listinfo/hw-list
> >> >>>> >
> >> >>>> _______________________________________________
> >> >>>> HW-list mailing list  -  sponsored by www.HW.cz
> >> >>>> Hw-list na list.hw.cz
> >> >>>> http://list.hw.cz/mailman/listinfo/hw-list
> >> >>>
> >> >>>
> >> >>>
> >> >>> _______________________________________________
> >> >>> HW-list mailing list  -  sponsored by www.HW.cz
> >> >>> Hw-list na list.hw.cz
> >> >>> http://list.hw.cz/mailman/listinfo/hw-list
> >> >>>
> >> >>
> >> >>
> >> >> _______________________________________________
> >> >> HW-list mailing list  -  sponsored by www.HW.cz
> >> >> Hw-list na list.hw.cz
> >> >> http://list.hw.cz/mailman/listinfo/hw-list
> >> >>
> >> >
> >> >
> >> > _______________________________________________
> >> > HW-list mailing list  -  sponsored by www.HW.cz
> >> > Hw-list na list.hw.cz
> >> > http://list.hw.cz/mailman/listinfo/hw-list
> >> >
> >> _______________________________________________
> >> HW-list mailing list  -  sponsored by www.HW.cz
> >> Hw-list na list.hw.cz
> >> http://list.hw.cz/mailman/listinfo/hw-list
> >
> >
> >
> > _______________________________________________
> > HW-list mailing list  -  sponsored by www.HW.cz
> > Hw-list na list.hw.cz
> > http://list.hw.cz/mailman/listinfo/hw-list
> >
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
>
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20140117/a07acc51/attachment.html>


Další informace o konferenci Hw-list