##試していること
PICマイコンとXBee間のAPIモード通信
PICマイコンに接続されているスイッチが押されたら、XBee APIモード フレーム"10"を利用して、"test"と送信する。
参考にしたプログラム
http://zattouka.net/GarageHouse/micon/XBee/XBee5.htm
""プログラムコード
html
1#include <xc.h> 2#include <stdbool.h> 3#include "skUARTlib.h" 4#include "skXBeeS2lib.h" 5 6// CONFIG1 7#pragma config FOSC = INTOSC // Oscillator Selection (INTOSC oscillator: I/O function on CLKIN pin) 8#pragma config WDTE = OFF // Watchdog Timer Enable (WDT disabled) 9#pragma config PWRTE = ON // Power-up Timer Enable (PWRT enabled) 10#pragma config MCLRE = ON // MCLR Pin Function Select (MCLR/VPP pin function is MCLR) 11#pragma config CP = OFF // Flash Program Memory Code Protection (Program memory code protection is disabled) 12#pragma config CPD = OFF // Data Memory Code Protection (Data memory code protection is disabled) 13#pragma config BOREN = ON // Brown-out Reset Enable (Brown-out Reset enabled) 14#pragma config CLKOUTEN = OFF // Clock Out Enable (CLKOUT function is disabled. I/O or oscillator function on the CLKOUT pin) 15#pragma config IESO = OFF // Internal/External Switchover (Internal/External Switchover mode is disabled) 16#pragma config FCMEN = OFF // Fail-Safe Clock Monitor Enable (Fail-Safe Clock Monitor is disabled) 17 18// CONFIG2 19#pragma config WRT = OFF // Flash Memory Self-Write Protection (Write protection off) 20#pragma config PLLEN = OFF // PLL Enable (4x PLL enabled) 21#pragma config STVREN = OFF // Stack Overflow/Underflow Reset Enable (Stack Overflow or Underflow will not cause a Reset) 22#pragma config BORV = HI // Brown-out Reset Voltage Selection (Brown-out Reset Voltage (Vbor), high trip point selected.) 23#pragma config LVP = OFF // Low-Voltage Programming Enable (High-voltage on MCLR/VPP must be used for programming) 24 25#define sw PORTCbits.RC3 26 27#define _XTAL_FREQ 8000000 //Clock=8MHz 28#define __delay(X) _delay((unsigned long)((X))) 29#define __delay_us(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000000.0))) //usec delay 30#define __delay_ms(x) _delay((unsigned long)((x)*(_XTAL_FREQ/4000.0))) //msec delay 31 32int i , x ; 33char dt[36] ; 34char adrs[] = {0x00,0x13,0xA2,0x00,0x00,0x00,0x00,0x00} ; // 相手XBeeのアドレス 35 36 37void main(void) { 38 OSCCON=0x72; //PLL Disable/8MHz 39 ANSELA=0x04; //RA2 Analog Setting 40 ANSELC=0x00; //PORTC Digital Setting 41 TRISA=0x04; //RA2 Input 42 TRISC=0x28; //RC5, RC3 Input 43 LATC=0x00; 44 45 InitUART(6,5,51) ; // RX=6 TX=5 9600bps でシリアル通信を初期化 46 47 while(1){ 48 if(sw == 1) 49 { 50 i = XBee_MakePacket10(dt,adrs,"test",4) ; 51 x = XBee_SendPacket10(dt,i,1) ; 52 } 53 } 54} 55
##困っていること
コンパイル時に次のエラーが発生します。
初めてのエラーで原因が分からず困っております。
エラーの原因及び対処法について教えていただけると助かります。
html
1 _XBee_MakePacket10(dist/default/production\Test03.X.production.o) _XBee_SendPacket10(dist/default/production\Test03.X.production.o) _InitUART(dist/default/production\Test03.X.production.o) 2(908) exit status = 1 3nbproject/Makefile-default.mk:137: recipe for target 'dist/default/production/Test03.X.production.hex' failed 4make[2]: Leaving directory 'C:/Users/User01/MPLABXProjects/Test03.X' 5nbproject/Makefile-default.mk:90: recipe for target '.build-conf' failed 6make[1]: Leaving directory 'C:/Users/User01/MPLABXProjects/Test03.X' 7nbproject/Makefile-impl.mk:39: recipe for target '.build-impl' failed 8make[2]: *** [dist/default/production/Test03.X.production.hex] Error 1 9make[1]: *** [.build-conf] Error 2 10make: *** [.build-impl] Error 2
どういうコマンドでコンパイルさせていますか
すみません。
コンパイルと表現してしまいましたが、正しくは「ビルド」を実行すると、このようなエラーが出てしまいます。
なお、コンパイラは、XC8 (v2.05)を使用しています。
どーもコンパイラが出してるメッセージじゃなさそうです
できればビルド環境(開発環境、コンパイラなど)はなにを使ってるか、どうやってビルドさせているかなどの説明を質問に追記してくれませんか
#説明し難ければ、スクリーンキャプチャなんかを提示してもらってもいいです
nbproject/Makefile-default.mk ファイルの 137行目辺りってどんな記述でしょう?
135行目~140行目の記述を掲載します。
else
dist/${CND_CONF}/${IMAGE_TYPE}/Test03.X.${IMAGE_TYPE}.${OUTPUT_SUFFIX}: ${OBJECTFILES} nbproject/Makefile-${CND_CONF}.mk
@${MKDIR} dist/${CND_CONF}/${IMAGE_TYPE}
${MP_CC} $(MP_EXTRA_LD_PRE) -mcpu=$(MP_PROCESSOR_OPTION) -Wl,-Map=dist/${CND_CONF}/${IMAGE_TYPE}/Test03.X.${IMAGE_TYPE}.map -DXPRJ_default=$(CND_CONF) -Wl,--defsym=__MPLAB_BUILD=1 -fno-short-double -fno-short-float -O0 -fasmfile -maddrqual=ignore -xassembler-with-cpp -Wa,-a -msummary=-psect,-class,+mem,-hex,-file -ginhx032 -Wl,--data-init -mno-keep-startup -mno-osccal -mno-resetbits -mno-save-resetbits -mno-download -mno-stackcall -std=c90 -gdwarf-3 -mstack=compiled:auto:auto $(COMPARISON_BUILD) -Wl,--memorysummary,dist/${CND_CONF}/${IMAGE_TYPE}/memoryfile.xml -o dist/${CND_CONF}/${IMAGE_TYPE}/Test03.X.${IMAGE_TYPE}.${DEBUGGABLE_SUFFIX} ${OBJECTFILES_QUOTED_IF_SPACED}
endif

回答1件
あなたの回答
tips
プレビュー