Современная электроника №7/2021

ПРОЕКТИРОВАНИЕ И МОДЕЛИРОВАНИЕ 66 WWW.SOEL.RU С ОВРЕМЕННАЯ ЭЛЕКТРОНИКА ◆ № 7 2021 В результате выполнения програм- мы с экрана графического дисплея был скопирован фрагмент изобра- жения, размер которого и начальные координаты отображения на дис- плее определяют параметры функции glcd_getimage(98, 10, 16, 16, img2), где img2 –переменная для хранения графи- ческойинформации. После чего с помо- щью функции f_open(&file2,»0:/9.txt», FA_CREATE_ALWAYS | FA_WRITE) был создан новый файл на кар- те памяти, в который функцией f_write(&file2, img2, strlen(img2), &bwr) выполнена запись данных, скопи- рованных с экрана графическо- го дисплея. После очистки экрана дисплея (функция glcd_clear()) скопи- рованный фрагмент графики выво- дится из размещённого на карте памя- ти файла (f_open(&file2,«0:/9.txt», FA_OPEN_EXISTING | FA_READ); f_read(&file2, img3, f_size(&file2), &br2)) на экран графического дисплея, начи- ная с позиции х = 43, y = 30 (glcd_ putimage(43,30,img3,GLCD_PUTCOPY)). Определение количества байтов для записи в файл 9.txt и чтения из файла в представленномфрагменте кода реали- зовано с помощьюфункций strlen(img2) и f_size(&file2), для применения кото- рых в начале кода программы добавле- ны следующие строки: #include <string.h> #define f_size(fp) ((fp)->fsize) и объявлены переменные: FIL file2; unsigned char img2[], img3[]. Результат работы программы пред- ставлен на рис. 17б. На рис. 17в показа- но отображение фрагмента рисунка в режиме GLCD_PUTNOT на экране гра- фического дисплея. Применение функций библиотеки ff.h для создания, переименования, удаления директорий и файлов на карте памяти Библиотека ff.h программной сре- ды CodeVisionAVR содержит ряд функций для управления файловой структурой внешней памяти, среди которых: ● f_rename(const char* path_old, const char* path_new) – функция переиме- нования размещённых на карте па- мяти файлов или директорий, где path_old – указатель на старое имя объекта, path_new – указатель на но- вое имя объекта. Функция возвраща- ет следующие значения: − FR_OK – успешное выполнение функции; − FR_NO_FILE – не удалось найти файл или директорию; − FR_NO_PATH – путь к файлу не су- ществует; − FR_INVALID_NAME – неверное имя файла или директории; − FR_INVALID_DRIVE – неверный но- мер устройства; − FR_EXIST – создание файла/дирек- тории невозможно, так как файл/ директория с таким именем уже су- ществует; − FR_DENIED – файл или директория не могут быть созданы или пере- мещены по неизвестной причине; − FR_NOT_READY – доступ к карте па- мятиневозможениз-заотсутствияеё подключенияилиподругойпричине; − FR_WRITE_PROTECTED – носитель защищён от записи; − FR_DISK_ERR – ошибка доступа к карте памяти; − FR_INT_ERR–внутренняяошибкакар- тыпамятиилифайловойсистемыFAT; Реклама

RkJQdWJsaXNoZXIy MTQ4NjUy