Ik ben al een tijdje bezig met behulp van circuitsonline om de code te vinden op de voti website om te zetten naar code in mikroc voor een tweetal 16f690 pics, die met behulp van twee 70rfm modules moeten communiceren.
Ik loop echter tegen een paar fouten aan, en hoopte dat één van jullie hiermee kan helpen, op circuitsonline wordt namelijk niet meer gereageerd.
De fouten zijn als volgt:
509 382 Illegal pointer conversion to double rfm70.c
Door dit stukje code:
En dan komt het door het WriteArr argument in rfm70_buffer_write( i,WriteArr, 4 );
De volgende dingen heb ik al geprobeerd:
rfm70_buffer_write( i,&WriteArr[0], 4 );
Geeft hij de foutmelding:
510 384 Illegal pointer conversion rfm70.c
Net als wanneer ik dit doe:
rfm70_buffer_write( i,WriteArr, 4 );
Alleen als ik dit doe geeft hij geen foutmelding:
rfm70_buffer_write( i,*WriteArr, 4 );
Maar wel weer een warning, namelijk deze:
510 1508 Implicit conversion of int to ptr rfm70.c
Daarnaast heb ik nog een fout:
Ik krijg nu ook deze foutmelding:
0 359 Unresolved extern 'PORTC_SHADOW' rfm.c
door deze aanroep
rfm70_init();
en dan denk ik dat het in deze code echt zit:
Alle bestanden zijn hier te vinden:
http://www.uploadarchief.net/files/download/rfm70.zip
En zijn gebaseerd op de voti code, hier te vinden:
http://www.voti.nl/rfm70/
Ik loop echter tegen een paar fouten aan, en hoopte dat één van jullie hiermee kan helpen, op circuitsonline wordt namelijk niet meer gereageerd.
De fouten zijn als volgt:
509 382 Illegal pointer conversion to double rfm70.c
Door dit stukje code:
code:
1
2
3
4
5
6
| for( i = 0; i <= 8; i++ ){ //reverse! for( j = 0; j < 4; j++ ){ WriteArr[ j ]=( Bank1_Reg0_13[ i ]>>(8*(j) ) )&0xff; } rfm70_buffer_write( i,WriteArr, 4 ); } |
En dan komt het door het WriteArr argument in rfm70_buffer_write( i,WriteArr, 4 );
De volgende dingen heb ik al geprobeerd:
rfm70_buffer_write( i,&WriteArr[0], 4 );
Geeft hij de foutmelding:
510 384 Illegal pointer conversion rfm70.c
Net als wanneer ik dit doe:
rfm70_buffer_write( i,WriteArr, 4 );
Alleen als ik dit doe geeft hij geen foutmelding:
rfm70_buffer_write( i,*WriteArr, 4 );
Maar wel weer een warning, namelijk deze:
510 1508 Implicit conversion of int to ptr rfm70.c
Daarnaast heb ik nog een fout:
Ik krijg nu ook deze foutmelding:
0 359 Unresolved extern 'PORTC_SHADOW' rfm.c
door deze aanroep
rfm70_init();
en dan denk ik dat het in deze code echt zit:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
| extern unsigned char PORTA_SHADOW; extern unsigned char PORTB_SHADOW; extern unsigned char PORTC_SHADOW; extern unsigned char PORTD_SHADOW; extern unsigned char PORTE_SHADOW; #define PORTA_FLUSH { PORTA = PORTA_SHADOW; } #define PORTB_FLUSH { PORTB = PORTB_SHADOW; } #define PORTC_FLUSH { PORTC = PORTC_SHADOW; } #define PORTD_FLUSH { PORTD = PORTD_SHADOW; } #define PORTE_FLUSH { PORTE = PORTE_SHADOW; } #define PIN_SET( port, b ) do { \ port##_SHADOW |= ( 1 << (b) ); \ port = port##_SHADOW; \ } while(0) #define PIN_CLEAR( port, b ) do { \ port##_SHADOW &= ( 0xFF ^ ( 1 << (b) )); \ port = port##_SHADOW; \ } while(0) #define PIN_COPY( port, b, v ) do { \ if( v ){ \ PIN_SET( port, (b) ); \ } else { \ PIN_CLEAR( port, (b) ); } \ } while(0) #define PORT_SET( port, v ) do { \ port##_SHADOW = ( (v) ); \ port = port##_SHADOW; \ } while(0) |
Alle bestanden zijn hier te vinden:
http://www.uploadarchief.net/files/download/rfm70.zip
En zijn gebaseerd op de voti code, hier te vinden:
http://www.voti.nl/rfm70/