Скорее всего, это электронная программа, а не проблема кодирования.XBee будет вести себя корректно, если сможет взаимодействовать с PIC.У вас есть следующая проблемная область:
1) Либо ваш код неправильно передает пакет (который вы отладили), либо, 2) Существует некоторая проблема в пути электронных коммуникаций между PIC иXBee
Вот некоторые вопросы, которые вы должны задать себе и проверить при подключении XBees к микроконтроллерам:
1) Как вы подключаете свой XBee к вашей PIC?Последовательный ввод / вывод XBee составляет 3.3v.Убедитесь, что логический уровень вашего PIC также составляет 3,3 В
2) Какую скорость передачи вы устанавливаете в PIC?Каков источник синхронизации вашего PIC?Это внутренний генератор, RC или кристалл?Убедитесь, что значение синхронизации генератора совпадает с таблицей для получения ожидаемой скорости передачи.
3) Можете ли вы читать из XBee?Если вы отправите пакет от модуля, подключенного к ПК, к модулю, подключенному к вашей PIC, что поступит на ваш микро?Вы можете получить весь пакет?Есть пропущенные байты?Получаете ли вы мусор (опять же, это может указывать на несоответствие скорости передачи)?
4) У вас включено аппаратное управление потоком данных (параметры XBee D6 и D7)?Если да, то как вы подключили эти контакты?Убедитесь, что их логические уровни установлены правильно, чтобы XBee не находился постоянно в состоянии управления потоком и, следовательно, не позволял ему получать байты от вашей PIC.Возможно, вы захотите отключить управление потоком, пока не начнете работать базовые коммуникации.
Возможно, вы захотите разделить и завоевать пространство проблем с оборудованием, полностью исключив XBee из уравнения и сосредоточившись на том, чтобы вы могли передаватьсерийно, как вы ожидаете.Если у вас есть переключатель уровня, вы можете подключить его к PIC, а затем подключить PIC к вашему ПК.Вы можете проверить, что вы можете прочитать сообщение, которое вы пытаетесь отправить из программы терминала ПК.Если вам повезло иметь логический анализатор, вы можете выполнить тот же тест, не подключая логический анализатор.
Удачи!