<div dir="ltr">Díky moc za Vaši snahu, ale fakt mi to nefunguje - už to nechápu:<div><br></div><div>udělal jsem nový projekt, nastavit PIC18F4550, vytvořil nový main.c ...</div><div><br></div><div>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 ...</div>
<div><br></div><div>V main.c (jiné soubory projekt neobsahuje) mám doslova:</div><div><br></div><div><div>#include <xc.h></div><div>#define _XTAL_FREQ=1000000</div><div><br></div><div>#pragma config PLLDIV = 1</div>
<div>#pragma config CPUDIV = OSC1_PLL2</div><div>#pragma config USBDIV = 1</div><div>#pragma config FOSC = INTOSC_HS</div><div>#pragma config PWRT = OFF</div><div>#pragma config BOR = ON</div><div>#pragma config BORV = 3</div>
<div>#pragma config VREGEN = OFF</div><div>#pragma config WDT = OFF</div><div>#pragma config MCLRE = ON</div><div>#pragma config STVREN = ON</div><div>#pragma config LVP = OFF</div><div>#pragma config XINST = OFF</div><div>
<br></div><div><br></div><div><br></div><div>void main(void)</div><div>{</div><div>TRISD = 0;</div><div>    while(1)</div><div>    {</div><div>        LATD=0xFF;</div><div>        __delay_ms(200);</div><div>        LATD=0x00;</div>
<div>        __delay_ms(200);</div><div>   }</div><div>}</div></div><div><br></div><div><br></div><div><br></div><div>a při pokusu o překlad:</div><div><br></div><div><div>main.c:26: error: (195) expression syntax</div><div>
main.c:26: error: (187) too few function arguments</div><div>main.c:26: error: (194) ")" expected</div><div>main.c:26: error: (195) expression syntax</div><div>main.c:28: error: (195) expression syntax</div><div>
main.c:28: error: (187) too few function arguments</div><div>main.c:28: error: (194) ")" expected</div><div>main.c:28: error: (195) expression syntax</div><div>(908) exit status = 1</div><div>make[2]: Leaving directory `C:/Users/Honza/MPLABXProjects/test.X'</div>
<div>make[1]: Leaving directory `C:/Users/Honza/MPLABXProjects/test.X'</div><div>make[2]: *** [build/default/production/main.p1] Error 1</div><div>make[1]: *** [.build-conf] Error 2</div><div>make: *** [.build-impl] Error 2</div>
<div><br></div><div>BUILD FAILED (exit value 2, total time: 4s)</div></div><div><br></div><div>To musí být nějaká blbost, ale proč to nefunguje ?</div><div><br></div><div>Díky.</div><div class="gmail_extra"><br></div><div class="gmail_extra">
Honza Půhoný<br>
<br><br><div class="gmail_quote">Dne 16. ledna 2014 22:02 Jaromir Sukuba <span dir="ltr"><<a href="mailto:jarin.hw@gmail.com" target="_blank" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jarin.hw@gmail.com&cc=&bcc=&su=&body=','_blank');return false;">jarin.hw@gmail.com</a>></span> napsal(a):<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">Ja by som to urobil takto:<br>
<br>
<br>
#include <xc.h><br>
#define _XTAL_FREQ=1000000<br>
void main(void)<br>
{<br>
TRISD = 0;<br>
    while(1)<br>
    {<br>
        LATD=0xFF;<br>
         __delay_ms(200);<br>
        LATD=0x00;<br>
        __delay_ms(200);<br>
   }<br>
}<br>
<br>
Ten Vas zdrojak je strasne ukecany, nemam to rad. Zdrojak som<br>
netestoval, nemam poruke HW na ktorom by som to skusil, ale tam snad<br>
nema co nefungovat.<br>
A pokial konfiguracne bity nenastavujete mimo MPLAB-u, tak na zaciatok<br>
(ja zvyknem hned po includnuti xc.h) dal toto:<br>
<br>
#pragma config PLLDIV = 1<br>
#pragma config CPUDIV = OSC1_PLL2<br>
#pragma config USBDIV = 1<br>
#pragma config FOSC = INTOSC_HS<br>
#pragma config PWRT = OFF<br>
#pragma config BOR = ON<br>
#pragma config BORV = 3<br>
#pragma config VREGEN = OFF<br>
#pragma config WDT = OFF<br>
#pragma config MCLRE = ON<br>
#pragma config STVREN = ON<br>
#pragma config LVP = OFF<br>
#pragma config XINST = OFF<br>
<br>
Co nastavi interny oscilator (defaultne bezi na 1MHz, nechal som ho v<br>
defaultnom nastaveni da sa preprnut v registri OSCCON - preto som Vam<br>
zmenil define na zaciatku) a vypne watchdog a LVP.<br>
18F4550 je jeden z tych 18F-kovych MCU, ktore maju zlozitejsiu<br>
konfiguraciu hodin, kvoli USB.<br>
<br>
Konfiguraky si mozete zmenit : Window->PicMemory Views->Configuration<br>
bits, vyskoci na Vas okno, kde si naklikate co potrebujete a ono to<br>
vygeneruje tamtie mnemonicke skratky (ktore si naprikald ja bez toho<br>
nepamatam) do output window-u aj s komentarmi a odtial si ich<br>
skopirujete do zdrojaku.<br>
<br>
Vsimnite si ze som na kmitanie vyvodmi pouzil LAT registre. V tomtp<br>
pripade by to bez zavahania fungovalo aj s PORT registrami, ale skuste<br>
si nieco pohladat o RMW problemoch.<br>
<br>
<br>
<br>
<br>
<br>
2014/1/16 Jan Půhoný <<a href="mailto:konference@puhy.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">konference@puhy.cz</a>>:<br>

<div class=""><div class="h5">> Já jsem právě použil průvodce na vytvoření projektu, proto mě překvapilo, že<br>
> to nejde přeložit...díky moc za Vači trpělivost ...<br>
><br>
> v main.c mám toto:<br>
><br>
><br>
> /******************************************************************************/<br>
> /* Files to Include<br>
> */<br>
> /******************************************************************************/<br>
><br>
> #if defined(__XC)<br>
>     #include <xc.h>        /* XC8 General Include File */<br>
> #elif defined(HI_TECH_C)<br>
>     #include <htc.h>       /* HiTech General Include File */<br>
> #elif defined(__18CXX)<br>
>     #include <p18cxxx.h>   /* C18 General Include File */<br>
> #endif<br>
><br>
> #if defined(__XC) || defined(HI_TECH_C)<br>
><br>
> #include <stdint.h>        /* For uint8_t definition */<br>
> #include <stdbool.h>       /* For true/false definition */<br>
><br>
> #endif<br>
><br>
> #include "system.h"        /* System funct/params, like osc/peripheral<br>
> config */<br>
> #include "user.h"          /* User funct/params, such as InitApp */<br>
><br>
><br>
><br>
> #define _XTAL_FREQ=20000000<br>
><br>
><br>
><br>
> /******************************************************************************/<br>
> /* User Global Variable Declaration<br>
> */<br>
> /******************************************************************************/<br>
><br>
> /* i.e. uint8_t <variable_name>; */<br>
><br>
> /******************************************************************************/<br>
> /* Main Program<br>
> */<br>
> /******************************************************************************/<br>
><br>
> void main(void)<br>
> {<br>
>     /* Configure the oscillator for the device */<br>
>     ConfigureOscillator();<br>
><br>
>     /* Initialize I/O and Peripherals for application */<br>
>     InitApp();<br>
><br>
>     /* TODO <INSERT USER APPLICATION CODE HERE> */<br>
><br>
>     while(1)<br>
>     {<br>
><br>
>         PORTD=0xFF;<br>
><br>
>          __delay_ms(1);<br>
><br>
>         PORTD=0x00;<br>
><br>
>         __delay_ms(1);<br>
><br>
>     }<br>
><br>
> }<br>
><br>
><br>
><br>
><br>
><br>
><br>
><br>
> Dne 16. ledna 2014 19:38 Jaromir Sukuba <<a href="mailto:jarin.hw@gmail.com" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jarin.hw@gmail.com&cc=&bcc=&su=&body=','_blank');return false;">jarin.hw@gmail.com</a>> napsal(a):<br>

><br>
>> Treba mat includnuty xc.h<br>
>><br>
>> Idealne, ukazte cely zdrojak. Ked sa trochu zorientujete v tychto<br>
>> veciach, zvysok bude jednoduchy, ved je to C-cko.<br>
>><br>
>> 2014/1/16 Jan Půhoný <<a href="mailto:konference@puhy.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">konference@puhy.cz</a>>:<br>

>> > ano pic.h mám includnutý, v přeportování mi brání asi jen lenost :-)<br>
>> ><br>
>> > je to makro, ale nefunguje to ať tam ; je nebo není ...<br>
>> ><br>
>> > Dne 16. ledna 2014 17:35 Andrej Jancura <<a href="mailto:aj.hwlist@gmail.com" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=aj.hwlist@gmail.com&cc=&bcc=&su=&body=','_blank');return false;">aj.hwlist@gmail.com</a>> napsal(a):<br>

>> ><br>
>> >> Dobry vecer,<br>
>> >><br>
>> >> skusim poradit len tak, bez pustenia xc8...<br>
>> >><br>
>> >> Mate includnuty subor pic.h?<br>
>> >><br>
>> >> Nie je ten delay nahodou makro? takze skuste si to najst v tom include<br>
>> >> a<br>
>> >> ked chcete skusit este rychlejsie, skuste zmazat tu ";"...<br>
>> >><br>
>> >> A.<br>
>> >><br>
>> >> p.s: co Vam brani v preportovani tych funkcii z pic18 do pic16?! A ked<br>
>> >> uz<br>
>> >> pisem, tak sa spytam, ze preco pri tych stringoch co ste tu spominal<br>
>> >> tiez<br>
>> >> nepouzijete nieco v duchu print(const unsigned char *p_string)?<br>
>> >><br>
>> >><br>
>> >> 2014/1/16 Jan Půhoný <<a href="mailto:konference@puhy.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">konference@puhy.cz</a>><br>

>> >>><br>
>> >>> Díky za reakci. Samozřejmě jsem se překlepl v emailu.<br>
>> >>><br>
>> >>> 53: __delay_ms(1); - normálně mi to zmodrá jako funkce, ale při<br>
>> >>> překladu<br>
>> >>> mi to vyhodí:<br>
>> >>><br>
>> >>> main.c:53: error: (195) expression syntax<br>
>> >>> main.c:53: error: (187) too few function arguments<br>
>> >>> main.c:53: error: (194) ")" expected<br>
>> >>> main.c:53: error: (195) expression syntax<br>
>> >>> (908) exit status = 1<br>
>> >>> make[2]: *** [build/C18_18F87K22/production/main.p1] Error 1<br>
>> >>> make[1]: *** [.build-conf] Error 2<br>
>> >>> make: *** [.build-impl] Error 2<br>
>> >>><br>
>> >>> Co dělám blbě?<br>
>> >>><br>
>> >>> Když řádek 53 zakomentuji, tak se to normálně přeloží ...<br>
>> >>><br>
>> >>> Těmi knihovnami jsem myslel například lcd displej nebo dallas čidla -<br>
>> >>> lcd<br>
>> >>> displej jsem našel jen pro 18F řadu - nebo jsem slepý?<br>
>> >>><br>
>> >>> H.<br>
>> >>><br>
>> >>><br>
>> >>> Dne 16. ledna 2014 16:05 Jaromir Sukuba <<a href="mailto:jarin.hw@gmail.com" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jarin.hw@gmail.com&cc=&bcc=&su=&body=','_blank');return false;">jarin.hw@gmail.com</a>><br>

>> >>> napsal(a):<br>
>> >>><br>
>> >>>> Ja robim delay takto<br>
>> >>>><br>
>> >>>> __delay_ms(123);<br>
>> >>>> __delay_us(123);<br>
>> >>>><br>
>> >>>> Asi mate iny manual nez ja<br>
>> >>>> <a href="http://ww1.microchip.com/downloads/en/DeviceDoc/52053B.pdf" target="_blank">http://ww1.microchip.com/downloads/en/DeviceDoc/52053B.pdf</a> ale na<br>
>> >>>> strane 314 to mate.<br>
>> >>>><br>
>> >>>> 2014/1/16 Jan Půhoný <<a href="mailto:konference@puhy.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=konference@puhy.cz&cc=&bcc=&su=&body=','_blank');return false;">konference@puhy.cz</a>>:<br>

>> >>>> > Tak jsem stáhnul MPLAB X a XC8 a zatím ani nerozblikám ledku.<br>
>> >>>> > Naposledy jsem<br>
>> >>>> > v tom dělal ještě v asembleru. Procesor jsem přepájel na<br>
>> >>>> > PIC18F4550,<br>
>> >>>> > protože<br>
>> >>>> > jak jsem tak pochopil pro PIC16F a XC8 nejsou moc knihovny ...<br>
>> >>>> ><br>
>> >>>> > Ale nějak se nedaří...<br>
>> >>>> ><br>
>> >>>> > Proč proboha nefunguje tento zápis? Podle helpu by to mělo<br>
>> >>>> > fungovat...<br>
>> >>>> ><br>
>> >>>> > __DelayMs(50); ?<br>
>> >>>> ><br>
>> >>>> > #define _XTAL_FREQ=20000000 před tím mám ....<br>
>> >>>> ><br>
>> >>>> > Vy v tom děláte?<br>
>> >>>> ><br>
>> >>>> > Díky.<br>
>> >>>> ><br>
>> >>>> ><br>
>> >>>> ><br>
>> >>>> > Dne 14. ledna 2014 16:30 Jaromir Sukuba <<a href="mailto:jarin.hw@gmail.com" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=jarin.hw@gmail.com&cc=&bcc=&su=&body=','_blank');return false;">jarin.hw@gmail.com</a>><br>

>> >>>> > napsal(a):<br>
>> >>>> ><br>
>> >>>> >> Za tu cenu (zadarmo) mate XC8 kompilator, nie je obmedzeny na<br>
>> >>>> >> velkost<br>
>> >>>> >> kodu, k tomu MPLAB (alebo MPLABX, podla chuti).<br>
>> >>>> >> Mozete to pouzivat s PIC16 alebo PIC18, ja by som radil skor<br>
>> >>>> >> PIC18;<br>
>> >>>> >> alebo<br>
>> >>>> >> aspon PIC16F1xxx, ale nie PIC16Fxxx.<br>
>> >>>> >><br>
>> >>>> ><br>
>> >>>> ><br>
>> >>>> > _______________________________________________<br>
>> >>>> > HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> >>>> > <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> >>>> > <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>> >>>> ><br>
>> >>>> _______________________________________________<br>
>> >>>> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> >>>> <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> >>>> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>> >>><br>
>> >>><br>
>> >>><br>
>> >>> _______________________________________________<br>
>> >>> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> >>> <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> >>> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>> >>><br>
>> >><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> >> <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> >> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>> >><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> > <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> > <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
>> ><br>
>> _______________________________________________<br>
>> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
>> <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

>> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
><br>
><br>
><br>
> _______________________________________________<br>
> HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
> <a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

> <a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
><br>
_______________________________________________<br>
HW-list mailing list  -  sponsored by <a href="http://www.HW.cz" target="_blank">www.HW.cz</a><br>
<a href="mailto:Hw-list@list.hw.cz" onclick="window.open('https://mail.google.com/mail/?view=cm&tf=1&to=Hw-list@list.hw.cz&cc=&bcc=&su=&body=','_blank');return false;">Hw-list@list.hw.cz</a><br>

<a href="http://list.hw.cz/mailman/listinfo/hw-list" target="_blank">http://list.hw.cz/mailman/listinfo/hw-list</a><br>
</div></div></blockquote></div><br></div></div>