Der Programmer heißt NIBObeeProgrammer.exe und wird standardmäßig in "C:\Program Files (x86)\NIBObeeLib" installiert.
Ich habe ein Problem beim Versuch, c einzubinden. So wie es aussieht, kennt der Compiler JNIEnv nicht. Die Fehlermeldungen lauten:
Code:
../../int0.c:11: error: expected ')' before '*' token
../../int0.c: In function 'native_IntTest_getCount0_J':
../../int0.c:30: error: 'JNIEnv' undeclared (first use in this function)
../../int0.c:30: error: (Each undeclared identifier is reported only once
../../int0.c:30: error: for each function it appears in.)
../../int0.c:30: error: 'env' undeclared (first use in this function)
../../int0.c:31: warning: implicit declaration of function 'Java_IntTest_getCount0'
int0.c:
Code:
#include "haikuJ2C.h" // Header-Datei statt jni.h?
#include <avr/interrupt.h>
volatile static jlong jl_intcount0 = 0;
SIGNAL (SIG_INTERRUPT0) //INT0_vect
{
jl_intcount0 ++;
}
jlong Java_IntTest_getCount0( JNIEnv *env, jobject obj) {
jlong value;
uint8_t oldSREG = SREG;
cli();
value= jl_intcount0;
SREG = oldSREG;
return value;
}
/**
* Automatic generated (see ./myCProject/haikuC/haikuJNI.c)
* getTimer2()J
*/
void native_IntTest_getCount0_J(void) {
pushTop(); // Save variable top onto stack.
{
jobject obj = NULL;
JNIEnv *env = NULL;
top.j = Java_IntTest_getCount0(env, obj);
}
// Variable top holds the return value. But we have to push the lower half.
pushTop0();
}
Ich vermute mal, dass alles ab Zeile 20 raus muss, aber allein daran liegt es nicht. Ich vermisse auch das Einbinden von jni.h. Irgendwie scheint ein Schritt zu fehlen...
Lesezeichen