Вот краткое изложение моей проблемы...
Я не мог увеличить количество координаторов выше 16, а таблицы соединений ограничены для PAN и координаторов. PAN может иметь до 16 узлов в своей таблице соединений, в то время как координатор поддерживает только 8 узлов. У меня PIC18F87J11 FAMILY, и я использую компилятор MPLAB C18.
КООРДИНАТОР:
Координаторы могут иметь NUM_COORDINATOR равным 16, но в его таблице соединений отображаются только 8 узлов. CONNECTION_SIZE должен быть равен 8 или меньше, любое большее значение приводит к ошибке.
Увеличение размера соединения с 8 до 16 дает следующую ошибку.
Error - section '__CONNECTION_TABLE' can not fit the section. Section '__CONNECTION_TABLE' length=0x000001d0
Errors : 1
Увеличение количества координаторов с 16 до 32 дает следующую ошибку.
Error - section 'RANDOM_SEND_BUFFER' can not fit the section. Section 'RANDOM_SEND_BUFFER' length=0x00000118
Errors : 1
ПАНСИОНАТ:
В PAN для NUM_COORDINATOR может быть установлено значение 16, и 16 узлов отображаются в его таблице соединений. CONNECTION_SIZE должен быть 16 или меньше, любое большее значение приводит к ошибке. Конечным устройствам не удается подключиться к сети после того, как к сети уже подключено 16 узлов.
Увеличение размера соединения с 16 до 32 дает следующую ошибку.
Error - section '__CONNECTION_TABLE' can not fit the section. Section '__CONNECTION_TABLE' length=0x000001c0
Errors : 1
Увеличение количества координаторов с 16 до 32 дает следующую ошибку.
Error - section 'RANDOM_SEND_BUFFER' can not fit the section. Section 'RANDOM_SEND_BUFFER' length=0x00000118
Errors : 1
Это код, который я использую для ConnectionTable.
#if defined(__18CXX)
#pragma udata __CONNECTION_TABLE
#endif
CONNECTION_ENTRY ConnectionTable[CONNECTION_SIZE];
Это код, который я использую для RANDOM_SEND_BUFFER.
#if defined(__18CXX)
#pragma udata RANDOM_SEND_BUFFER
#endif
Может ли кто-нибудь объяснить мне, почему я получаю эти ошибки сборки?
Спасибо!