Cześć, spotkałem się z dość dziwnym zachowanie (kompilatora bądź uP) mianowicie.
Mając nawet jeden plik (np main.c) gdy wywołam przykładową funkcję q() to uP się resetuje podczas wychodzenia z niej - wykonuje to co jest w niej zawarte, ale podczas powrotu się wywala. Testowane z i bez optymalizacji. Zegar 11.0592.
Projekt założony od nowa.
AVRStudio5
Przyznam, że zgłupiałem. O co może chodzić?
Mając nawet jeden plik (np main.c) gdy wywołam przykładową funkcję q() to uP się resetuje podczas wychodzenia z niej - wykonuje to co jest w niej zawarte, ale podczas powrotu się wywala. Testowane z i bez optymalizacji. Zegar 11.0592.
Projekt założony od nowa.
AVRStudio5
#define F_CPU 16000000
#include <avr/io.h>
#include "macros.h"
void q(void)
{
_0(PORTE,2);
}
int main(void)
{
DDRE = 255;
PORTE = 255;
q();
_0(PORTE,3);
while(1)
{
}
return 0;
}#include "avr/io.h"
#define _1(x,y) x |= (1<<y)
#define _0(x,y) x &= ~(1<<y)
#define _T(x,y) x ^= (1<<y)
typedef unsigned char uchar;
typedef unsigned int uint;
#define false 0
#define true 1Przyznam, że zgłupiałem. O co może chodzić?
