Секции
{$read} | Код секции выполняется при нажатии кнопки чтении памяти
{$write} | Код секции выполняется при нажатии кнопки записи памяти
{$erase} | Код секции выполняется при нажатии кнопки стирания памяти
{$verify} | Код секции выполняется при нажатии кнопки сравнения памяти
{$unlock} | Код секции выполняется при нажатии кнопки снятия защиты
Предопределенные переменные
_IC_Name | Название текущей выбранной микросхемы
_IC_Size | Размер, в байтах, текущей выбранной микросхемы
_IC_Spare | Размер резервной области, в байтах, выбранного в данный момент чипа SPI NAND
_IC_Page | Размер страницы, в байтах, текущей выбранной микросхемы
_SPI_SPEED_MAX | Максимально возможная частота для SPISetSpeed
Основные функции
ShowMessage(text+'\n'+text); | Аналог ShowMessage(используйте строку '\ n' для нескольких строк)
LogPrint(text); | Выводит сообщение в лог Параметры: text текст сообщения
IntToHex(value, digits): string; | Аналог IntToHex
ProgressBar(inc, max, pos); | Устанавливает состояние ProgressBar Параметры: inc насколько увиличить позицию Необязательные параметры: max максимальная позиция ProgressBar pos устанавливает конкретную позицию ProgressBar
CreateByteArray(size): variant; | Создает массив с типом элементов varbyte
CreateStringArray(size): variant; | Создает массив строк
GetArrayItem(array, index): variant; | Возвращает значение элемента массива
SetArrayItem(array, index, value); | Устанавливает значение элемента массива
ReadToEditor(size, position, buffer, ...); | Записывает данные из буфера в редактор размером size в позицию position
WriteFromEditor(size, position, buffer, ...); | Записывает данные из редактора размером size с позиции position
GetEditorDataSize: longword; | Возвращает размер данных в редакторе
Работа с SPI
SPIEnterProgMode(speed): boolean; | Инициализирует состояние пинов для SPI и устанавливает частоту SPI Параметры: speed _SPI_SPEED_MAX = AvrIsp 8(4) MHz / USbAsp 3 MHz Если частота не установлена возвращает false Игнорируется для устройств с фиксированной частотой
SPIExitProgMode(); | Отключает пины SPI
SPIRead(cs, size, buffer, ...): integer; | Читает данные в буфер Параметры: cs если cs=1 отпускать Chip Select после чтения данных size размер данных в байтах buffer переменные для хранения данных или массив созданный CreateByteArray Возвращает количество прочитанных байт
SPIWrite(cs, size, buffer, ...): integer; | Записывает данные из буфера Параметры: cs если cs=1 отпускать Chip Select после записи данных size размер данных в байтах buffer переменные с данными или массив созданный CreateByteArray Возвращает количество записанных байт
SPIReadToEditor(cs, size): integer; | Читает данные в редактор Параметры: cs если cs=1 отпускать Chip Select после чтения данных size размер данных в байтах Возвращает количество прочитанных байт
SPIWriteFromEditor(cs, size, position): integer; | Записывает данные из редактора размером size с позиции position Параметры: cs если cs=1 отпускать Chip Select после записи данных size размер данных в байтах position позиция в редакторе Возвращает количество записанных байт
Работа с I2C
I2CEnterProgMode(); | Инициализирует состояние пинов
I2cExitProgMode(); | Отключает пины
I2CReadWrite(DevAddr, wsize, rsize, wbuffer, rbuffer): integer; | Записывает/читае данные из буферов Параметры: DevAddr адрес устройства size размер данных в байтах buffer переменные с данными или массив созданный CreateByteArray Возвращает количество записанных + прочитанных байт *Если rsize=0 можно опустить параметр rbuffer
I2CStart(); | Используется вместе с I2CReadByte и I2CWriteByte
I2CStop(); | Используется вместе с I2CReadByte и I2CWriteByte
I2CReadByte(ack: boolean): byte; | Читает байт данных и отправляет ack/nack
I2CWriteByte(data): boolean; | Записывает байт данных и возвращает ack/nack