Я не могу загрузить приведенный ниже код на мою материнскую плату lora rn2903 и поэтому не могу проверить, работает ли он. Я не знаю, доставляет ли мне проблемы какая-то конфигурация кода или неправильная установка инструмента. Запускается только mplab ide из базовой программы lora.
Как мне решить эту проблему?
Мой код:
#include "mcc_generated_files/mcc.h"
void RxData(uint8_t *pData, uint8_t dataLength, OpStatus_t status) {}
void RxJoinResponse(bool status) {}
uint8_t applicationEuiNew[8] = {0x70, 0xB3, 0xD5, 0x7E, 0xD0, 0x02, 0x46, 0x1D};
uint8_t deviceEuiNew[8] = {0x00, 0x04, 0xA3, 0x0B, 0x00, 0x1B, 0x1C, 0x75};
uint8_t applicationKeyNew[16] = {0x8C, 0x7C, 0xD3, 0x00, 0x2A, 0x03,
0x50, 0x67, 0x9D, 0x8D, 0xFB, 0xD2,
0x7C, 0x8F, 0x91, 0x0A};
void main(void) {
uint32_t freq;
bool enable;
SYSTEM_Initialize();
// If using interrupts in PIC18 High/Low Priority Mode you need to enable the
// Global High and Low Interrupts If using interrupts in PIC Mid-Range
// Compatibility Mode you need to enable the Global and Peripheral Interrupts
// Use the following macros to:
// Enable the Global Interrupts
INTERRUPT_GlobalInterruptEnable();
// Enable the Peripheral Interrupts
INTERRUPT_PeripheralInterruptEnable();
printf("\r\n");
printf("\r\nRN2903 Test Program\r\nBeyondlogic.org\r\n");
LORAWAN_Init(RxData, RxJoinResponse);
// Print list of enabled channels
for (int ch = 0; ch <= 71; ch++) {
enable = LORAWAN_GetChannelIdStatus(ch);
freq = LORAWAN_GetFrequency(ch);
if (enable)
printf("Channel %02d Enabled: %ldHz\r\n", ch, freq);
}
LORAWAN_SetApplicationEui(applicationEuiNew);
LORAWAN_SetDeviceEui(deviceEuiNew);
LORAWAN_SetApplicationKey(applicationKeyNew);
LORAWAN_Join(OTAA);
while (1) {
LORAWAN_Mainloop();
// All other function calls of the user-defined
// application must be made here
LORAWAN_Send(UNCNF, 2, "Hello World", 11);
}
}