質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
XBee

XBeeは、Digiインターナショナル社が提供するZigBee規格対応の通信モジュール。IoTプロトタイプの無線化などに用いられます。PCの専用ソフトウェアから全てのモジュールの設定ができるため、比較的簡単に使用することが可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

Q&A

解決済

1回答

1586閲覧

PICマイコン-XBee APIモード通信

raspypy

総合スコア247

XBee

XBeeは、Digiインターナショナル社が提供するZigBee規格対応の通信モジュール。IoTプロトタイプの無線化などに用いられます。PCの専用ソフトウェアから全てのモジュールの設定ができるため、比較的簡単に使用することが可能です。

API

APIはApplication Programming Interfaceの略です。APIはプログラムにリクエストされるサービスがどのように動作するかを、デベロッパーが定めたものです。

0グッド

0クリップ

投稿2019/07/01 06:57

編集2019/07/01 23:41

##試していること
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

##ビルド実行画面
イメージ説明

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

y_waiwai

2019/07/01 07:07

どういうコマンドでコンパイルさせていますか
raspypy

2019/07/01 07:52

すみません。 コンパイルと表現してしまいましたが、正しくは「ビルド」を実行すると、このようなエラーが出てしまいます。 なお、コンパイラは、XC8 (v2.05)を使用しています。
y_waiwai

2019/07/01 08:16

どーもコンパイラが出してるメッセージじゃなさそうです できればビルド環境(開発環境、コンパイラなど)はなにを使ってるか、どうやってビルドさせているかなどの説明を質問に追記してくれませんか #説明し難ければ、スクリーンキャプチャなんかを提示してもらってもいいです
pepperleaf

2019/07/01 12:33

nbproject/Makefile-default.mk ファイルの 137行目辺りってどんな記述でしょう?
raspypy

2019/07/01 23:38

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
guest

回答1

0

自己解決

推定原因ですが、マイコンのメモリ不足によるようです。
手持ちにはありませんが、メモリ容量の大きいマイコンで同じコードを記述してビルドすうると、このエラーは起こりませんでした。
とはいえ、手持ちのマイコンで何とか通信したいので、別質問をアップさせていただきます。
とりあえず、今回のエラーの推定原因は、マイコンのメモリ不足によりそうだ…ということでクローズさせていただきます。

投稿2019/07/02 08:04

raspypy

総合スコア247

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問