[elektro] Atmel Studio Debugger hiba

SZIGETI Szabolcs szigiszabolcs at gmail.com
Fri Feb 19 14:22:02 CET 2016


Hali!

Itt:

void function_called_via_pointer()    //blocks debugging {
    if(a=0)
    {
        a++;
    }
    else if(a=1)
    {
        a=a+2;
    }
    else if(a=2)
    {
        a=a+2;
    }}

Biztosan if(a=0)-t akartál írni? a==0 lenne a helyes, a többi helyen is.

Szabolcs



2016. február 19. 14:18 Bakcsa Zoltán írta, <bakcsa at gmail.com>:

> Sziasztok,
>
> Egy furcsa jelenséggel kapcsolatban szeretnélek megkérdezni titeket.
>
> Szoftvert írok egy panelre, a következő a környezet:
> Proci: Atmel SAM4S16C, Programozó Atmel-Ice, IDE: Atmel Studio, C a nyelv,
> ASF-et használok.
>
> A program kb így néz ki: http://codepad.org/1CTANkEs
>
> Ez meg a leírás hozzá:
> A programban van egy super loop, ami flag-eket vizsgálgat, ezeknek
> megfelelően fut. Ezen a loopon belül van egy vizsgálat, aminek eredményétől
> függőn egy funkció meghívódik, de nem direkt módon, hanem egy
> funkció-pointeren keresztül.
>
> A lényeg, hogy ha a pointeren keresztül meghívott funkcióban bármilyen
> vizsgálatot beleírok, nem tudom debuggolni a programot a panelen (JTAG-en
> keresztül). Lefordul, Atmel Studio azt mondja, hogy fut, de nem. A program
> indulásakor villogtatok egy ledet, hogy lássam mikor indul a program, de
> még ez sem történik meg.
>
> Érdekes, hogy ha nem debugolni akarom, hanem csak letölteni a programot és
> futtatni, az megy, és látszólag helyesen. Már raktam bele egy rakás
> printf("Erre járok éppen") jellegű utasítást, de a program összetettsége
> miatt még nem tudom, hogy tényleg helyesen működik-e.
>
> Ha a pointeren keresztül meghívott funkcióból kiveszem az IF-eket, akkor
> tudom debugolni a kódot.
>
> A kérdés: Miért történik ez?? Látott már valaki ilyet?
>
> Üdv:
> Zoli
> -----------------------------------------
>           elektro[-flame|-etc]


More information about the Elektro mailing list