Популярные проекты

WEB PICµBASIC LOGIC CONTROLLER

USB PICµBASIC Mid Hardware

USB PICµBASIC LOGIC CONTROLLER

DDS генератор сигналов "OSKAR-DDS"

Термостол для оплавления паяльной пасты

Осциллограф Карманный "OSKAR" V3.1

Электроника и механика 3-х координатного станка ЧПУ (Hobby CNC)

Простой счетчик

Измеритель ESR и емкости конденсаторов

Самодельный установщик SMD компонентов - раскладочный станок "SMD PLACER V2"

Прибор для измерения частоты, емкости, индуктивности, сопротивления

Выключатель /диммер светодиодных лент с ДУ.

Светомузыка «СЕМИЦВЕТИК» + автомат световых эффектов.

Универсальный прибор для автомобиля. Часы, термометр, вольтметр, тахометр.

Все, что нельзя запрограммировать на ассемблере, приходится паять.

      Этот сайт посвящен моим проектам на PIC контроллерах, доступных для публичного освещения. Все приведенные схемы реализованы в железе и работают в настоящее время в быту или производстве. Для написания программ использован пакет MPLAB/х , свободно распространяемый фирмой MICROCHIP. Используется программатор PICKIT2/3, ICD2/3. Любую конструкцию можно собрать самому, даже если она платная и получить бесплатно код разблокировки. Также можно приобрести в качестве набора для сборки или готового изделия. Принимаются заказы на разработку аналогово-цифровой или цифровой электроники, систем управления и электроники для производства с применением контроллеров.
Вопросы и предложения писать на почту Gennadiy.V@gmail.com
Если у Вас есть интересные предложения, закакзы или вопросы и форум Вам не помог - адрес тот же.


WEB PICµBASIC LOGIC CONTROLLER
Файловая система

Файловая система в памяти контроллера.

            Эта файловая система располагается в памяти программ микроконтроллера и предназначена для хранения  файлов для встроенного WEB сервера. Доступ к ней имеет только WEB сервер только на чтение. Как правило, в ней располагаются HTML файлы, картинки, CSS файлы и другие статические файлы, необходимые для функционирования WEB сервера. Из PICµBASIC эти файлы недоступны. Более подробное описание, стандарты и пример создания этой файловой системы читайте в разделе «WEB сервер».

Flash disk

            Файловая система организована во внешней FLASH памяти. Требуется наличие 2-х старших микросхем памяти. Типы имен  - формат 8.3, например README.txt. Регистр имеет значение. Пробелы в имени между буквами не допускаются. Имя файла должно содержать как минимум одну букву, точку и  одну букву в расширении. К этим файлам WEB сервер имеет доступ на чтение, если включен. PICµBASIC имеет полный доступ. С помощью программы BasicTerminal можно копировать файлы по сети с компьютера  на FlashDisk и наоборот.
Максимальное количество файлов – 64
Максимальный размер файла  - 32 кб.
Общий размер диска – 128 кб.
При удалении файла происходит дефрагментация диска и освобождается место.
При быстром удалении файла очищается только каталог, место не освобождается.
Одновременно может быть открыт только один файл, поддерживается потоковый и блочный обмен. Поддерживаются все стандартные функции файловой системы, см. операторы работы с файлами. Некоторые команды работают только с консоли. Можно писать уже в существующие файлы, с указанием позиции записи. Можно читать любой файл с любого места. Можно читать и писать данные в файлы  в текстовом, бинарном виде. Также поддерживается ввод /вывод переменных в / из файла в текстовой и HEX записи. Имена файлов записываются текстом в кавычках “LOG.txt” или задаются в индексных переменных, как текст. Например  $(10) , где  в байте $(10) указанна длинна текста без учета ячейки $(10), а в ячейках  $(10+1), $(10+2),… находится  сам текст.

Группа операторов работы с файлами на Flash disk

DIR

Оператор

DIR

Вывод в консоль каталога файлов Flash диска

DIR

Функция

A=DIR{$(10)}
A=DIR{“LOG.txt”}

Возвращает единицу в обычную переменную, если такой файл существует или ноль, если нет.

DIRF

Оператор

DIRF $(10)

Записывает  имя первого файла на диске в индексную переменную как текст (первый байт – длинна текста). Следующий вызов – второго, и так до конца каталога. Если файлов более нет, вернет пустую строку. Следующий вызов – снова первый.

FORMAT

Оператор

FORMAT

Форматирует  Flash диск. Физически удаляет все данные и создает пустой каталог.

OPENRD

Оператор

OPENRD “README.TXT”
OPENRD $(15)

Открывает файл на чтение. Указатель устанавливается на первый символ файла.

OPENWR

Оператор

OPENWR “REPORT.TXT”
OPENWR $(i)

Открывает файл на запись. Указатель устанавливается на первый символ файла. Если файл не существует – он будет создан, каталог обновится при закрытии файла. 
Если файл существует  - открывается для циклической записи. Указатель устанавливается на первый символ файла. В дальнейшем запись  сдвигает указатель на число записанных байт. При достижении конца файла указатель устанавливается на начало. Идеально подходит для сохранения истории, лог файлов и др. Запись в реальном времени, отключение питания при открытом файле не приводит к порче содержимого.

CLOSE

Оператор

CLOSE

Закрывает файл, ранее открытый для чтения или записи.
Если файл был открыт для потоковой записи – вычисляет его длину, обновляет каталог. Если файл был не закрыт при потоковой записи и пропало питание – данные не сохранятся. Используйте циклическую запись в существующий файл.

CREATE

Оператор

CREATE 32,2048,“log.txt”

Создаёт файл log.txt длинной 2048 байт, заполняет его. Максимальная длинна 32767 байт. Первое число(переменная) –  код символа заполнителя. Второе число(переменная)  – длинна файла в байтах.
 В дальнейшем может быть открыт для циклической записи/чтения.

TYPE

Оператор

TYPEREADME.TXT
TYPE $(i)

Выводит содержание файла в консоль, как текст.

TYPEB

Оператор

TYPEBREADME.TXT
TYPEB $(i)

Выводит содержание файла в консоль, как данные, таблицей в hex  

DEL

Оператор

DELREADME.TXT
DEL $(i)

Удаляет  файл  с указанным именем, выполняет дефрагментацию диска. Не применять для систем с нестабильным питанием. Отключения питания в процессе приведет  к разрушению файловой системы

DELF

Оператор

DELFREADME.TXT
DELF $(i)

Удаляет  файл  с указанным именем. Место не освобождается на диске, кроме как удаление последнего файла 

DEFRAG

Оператор

DEFRAG

Удаляет  файлы после DELF совсем, выполняет дефрагментацию диска. Не применять для систем с нестабильным питанием. Отключения питания в процессе приведет  к разрушению файловой системы

RENAME

Оператор

RENAME $(i),“BAC.TXT

Изменяет  имя файла

FCOPY

Оператор

FCOPYREM.TXT”, $(i)

Копирует файл в пределах диска

EOF

 Функция
(End Of File)

A=EOF{}

Возвращает 1, если достигнут конец файла или  нет открытых файлов, и 0, если еще есть данные в файле.

LOF

Функция
(Len Of File)

A=LOF{}

Возвращает длину открытого файла

LOC

Функция

A=LOC{}

Возвращает текущую позицию чтения или записи  в файле.

SEEK

Оператор

SEC 200
SEC A

Устанавливает текущую позицию чтения или записи в файле. Устанавливает на последний байт, если указатель превышает длину файла. В случае, если файл открыт как новый и указатель переместим вперед, данные в незаписанной области случайные.

 

 

FPRINT$

 

 

Оператор вывода строки

FPRINT$  #(i)

 

 

 

FPRINT$  $(i)
FPRINT$  $(i),#(k)
FPRINT$  #(i),$(k)

Вывод массива переменных – до 63 байт, как строки с кодами символов в переменных в файл. Количество выводимых символов в ячейке #(i), сами коды  символов  в ячейках #(i+1) и далее (+2,+3…).Никаких дополнительных символов, включая перевод строки – не выводится. Источником  массива данных могут быть только индексные переменные и массив не должен пересекать границы блоков по 256 байт.
Аналогично предыдущему, только первый записываемый в файл байт будет содержать число записанных байт $(i).
Можно списком переменные через запятую разных типов.

 

FPRINT@

Бинарный оператор вывода

FPRINT@  #(i)
FPRINT@  z
FPRINT@  z,$(5)

Копируется один байт – значение переменной в файл.
Копируется два байта – значение переменной в файл, первый скопированный байт - старший.  Можно списком переменные через запятую разных типов.

 

FPRINT#

Оператор вывода
в HEX записи

FPRINT#  #(i)
FPRINT#  z
FPRINT#  z,$(5)

Записывает два байта – значение переменной в файл в HEX записи.
Записывает четыре  байта – значение переменной в файл в HEX записи, первый записанный - старший. Можно списком переменные через запятую разных типов.

FPRINT

Оператор вывода.

FPRINT “DATE=”,X
FPRINT  Y,”,”;

Печать в ранее открытый файл. Аналогично оператору PRINT, только данные выводятся в файл.  Так будет *.csv файл.

FREAD

Чтение из файла, как числа.

FREAD  a

FREAD  a,Z,#(5)

Из файла считывается число текстом до разделителя (запятая = *.csv) и как число записывается в обычную переменную. Указатель сдвигается за разделитель. В случае конца файла, файл будет закрыт. Если данные невозможно интерпретировать как число, переменная обнуляется.

FREAD$

Чтение из файла, как текста.

FREAD$ $(40)

 

 

FREAD$ 5,$(40),$(46)
FREAD$ A,$(40)

Чтение  байт, как текст, из ранее открытого файла в индексную переменную с адреса 40. В случае конца файла, файл будет закрыт. В ячейку $(40) будет помещено количество байт считанное из файла первым, в ячейки $(41)-$(…) сами считанные данные. Первый считываемый  байт в файле должен содержать длину записи. Максимально можно считать 63 байта.
Чтение 5 байт, как текст. В ячейку $(40) будет помещен байт 0x05, в следующие 5 байт будет помещен сам текст из файла.  Максимально можно считать 63 байта.

FREAD@

Бинарное чтение чисел

FREAD@ $(40)
FREAD@ Z,A

Один байт будет скопирован из файла в ячейку $(40)
Два байта будут скопированы в переменную Z. Первый считанный байт – старший. Можно читать списком

FREAD#

Чтение из файла в HEX записи

FREAD#  a,B,C
FREAD#  $(5)

Из файла считывается число в HEX записи и как число записывается в переменную. Для индексных переменных считывается два байта, для обычных - 4. В этом случае первые – старший байт. В случае конца файла, файл будет закрыт. Если данные невозможно интерпретировать как число в HEX записи, переменная обнуляется.

WRITE

Оператор для загрузки файлов

WRITE “00112233FFAA

Запись в открытый файл последовательности байт 0x00 0x11 0x22 0x33 0xFF 0xAA. Файл может быть открыт как новый или как для циклической записи. Длинна одной ограничена длинной строки (26 байт данных). Длинна всех записей ограничена 32767 байт на один файл.

READ

Оператор для выгрузки файлов 

READ 10

Чтение из открытого файла  с  текущей позиции 10 байт в консоль. Формат вывода  текстом, дополняется концом строки 0x0D,0x0A
0011223344556677FFAA – есть еще данные
00112233ND – прочли последние 4, максимально 63 байта подряд



ПО распространяется под лицензией Shareware. Вы можете скачать с сайта схемы, инструкции, прошивки бесплатно.
Новые версии прошивок и документации скачивать в разделе Файлы / Files

Обсудить на форуме
Купить


Страницы

     Общее описание и технические характеристики
     Аппаратная платформа. Схемы, разводка.
     Программное обеспечение. Bootloader - прошивка и программа загрузки.
Web PICµBASIC. Загрузка и установка

     Программное обеспечение. BASIC_Terminal.
     WEB PICµBASIC. Описание языка программирования
     WEB PICµBASIC. Список команд, операторов, функций. Часть 1.
     WEB PICµBASIC. Список команд, операторов, функций. Часть 2.
     Web PICµBASIC. WebServer - настройка и программирование
     Web PICµBASIC. Файловая система.

     Web PICµBASIC. Модули расширения.
     Дисплей HD44780. Схема подключения. Список команд, операторов, функций.
     Интерфейс UART, RS232/RS485. Схема подключения. Список команд, операторов, функций.
     Шина 1-Wire. Ключи и датчики. Схема подключения. Список команд, операторов, функций.
     RFID EM-Marin 125 кГц. Схема подключения. Список команд, операторов, функций.
     Датчик AM2302/DHT22. Схема подключения. Список команд, операторов, функций.
     Дискретные входы. Схема подключения. Список команд, операторов, функций.
     Интерфейс MODBUS RTU MASTER. Список команд, операторов, функций.
     Клавиатура и силовые ключи. Схема подключения. Список команд, операторов, функций.
     Примеры программирования.
     Графический дисплей на контроллере UC1601s.