<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title>Все для программирования ,исходники программ паскаль,с</title>
		<link>http://pascpro.narod.ru/</link>
		<description></description>
		<lastBuildDate>Fri, 01 Apr 2016 09:56:16 GMT</lastBuildDate>
		<generator>uCoz Web-Service</generator>
		<atom:link href="https://pascpro.narod.ru/news/rss" rel="self" type="application/rss+xml" />
		
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-29</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-29</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-30</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-30</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-31</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-31</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-32</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-32</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-33</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-33</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-34</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-34</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Программатор с поддержкой USB</title>
			<description>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это...</description>
			<content:encoded>Этот программатор  объединяет в одном устройстве несколько вариантов программирования. Предназначен для программирования PIC - микроконтроллеров и микросхем памяти типа 24Cxxx.
Поддержаны протоколы связи с компьютером через USB и COM порт.

Совместно с программатором возможно использовать такие программы, как IC-Prog и PonyProg - схема содержит JDM программатор.
Кроме того  мной создана программа под Windows , использующая собственный протокол обмена, и позволяющая программировать микроконтроллеры и микросхемы памяти через COM порт компьютера, или через USB порт.

С помощью программатора возможно так-же автономное программирование микроконтроллеров. Прошивка при этом предварительно должна быть загружена в микросхему памяти программатора. После этого можно запрограммировать микроконтроллер в любом месте, где нет доступа к компьютеру.

Переходник USB - COM ( USB - RS 232 )
Поддержка USB порта реализована на основе переходника USB-RS232 на микросхеме OTI 006858.
Переходник USB - COM - это обычный кабель от мобильного телефона с встроенным в него преобразователем. Приобрести такой переходник возможно в любом салоне связи. Мне покупка обошлась в 300 рублей - драйвер для OTI 00 6858 шёл в комплекте вместе с кабелем на мини-CD диске.
Вот фотография кабеля с переходником - прозрачная коробочка посередине - плата переходника. Разъём от телефона заменён обычным COM9 разъёмом.

Рис. 1 Фото кабеля с переходником USB - COM ( RS232 )
Фото кабеля

Рис.2 Фото платы переходника
Фото платы переходника

Рис. 3 Фото платы переходника - обратная сторона
Фото платы переходника - обратная сторона

Для того, чтобы правильно распаять провода на разъём COM9 пришлось воспользоваться цоколёвкой микросхемы OTI 00 6858 , взятой из даташита.

Рис. 4 Цоколёвка микросхемы OTI 006858
Цоколёвка OTI 00 6858

На COM порт от платы переходника отходят 9 проводов. Так как цоколёвка телефонного разъёма мне была неизвестна - пришлось полностью его убрать. Провода прозваниваются обычным омметром от соответствующих ножек микросхемы и паяются на разъём COM 9. От платы не идёт провод вывода RI , зато есть провод питания от USB разъёма, который проходит от USB через диод и выключатель к COM порту.

При подключении кабеля к компьютеру компьютер определит новое устройство и попросит указать драйвер для установки. Драйвер для OTI006858 вы можете скачать по ссылке в конце этой страницы или с сайта производителя микросхемы:   http://www.oti.com.tw
После усттановки драйвера устройство определит новый виртуальный COM порт. Нужно посмотреть его номер в диспечере устройств и указать в настройках программатра.


Схема программатора
Теперь о схеме программатора.
Первоначальная схема программатора не предусматривала поддержки USB и содержала 2 разъёма COM9.

 Один разъём служит для подключения JDM программатора и подключив к нему компьютер можно программировать микроконтроллеры с помощью программ IS-Prog , PonyProg или других программ, в которых реализована поддержка JDM программатора.

 Второй разъём предназначен для работы со специально разработанным протоколом обмена. С его помощью можно программировать микроконтроллеры Microchip или микросхемы памяти типа 24Cxxx.

 Для подключения USB переходника добавлен третий разъём COM9 ( на плате расположен посередине ). От этого разъёма использовано всего 3 контакта. RXD, TXD и общий(масса). Выводы от разъёма подключены напрямую к соответствующим выводам микроконтроллера программатора.

Рис. 5 Схема программатора
Схема программатора

Первоначально плата программатора не содержала разъёма под переходник USB - на фотографии видно, что этот разъём стоит посередине.

Рис. 6  Плата программатора
Плата программатора

Программное обеспечение программатора пока не доработано полностью. Испытан программатор только с микроконтроллерами PIC16F628A и PIC16F84.

Файлы для загрузки
1.  Прошивка для микроконтроллера программатра
2.  Программа под Windows XP   ProgCode v0.0
3.  Схема программатора в формате SPlan 6.0
4.  Плата программатора в формате SprintLayout 5.0
5.  Драйвер переходника USB - COM ( USB - RS 232 ) OTI 00 6858


Описание процесса программирования микросхем

Большинство современных микросхем содержит флэш-память, которая программируется посредством протокола I2C или подобных протоколов.
Перезаписываемая память есть в PIC , AVR и других контроллерах, микросхемах памяти типа 24Cxx, и подобных им, различных картах памяти типа MMC и SD, обычных флэш USB картах, которые подключаются к компьютеру через USB разъём.

Рассмотрим запись информации во флэш память микроконтроллера PIC16F628A

Есть 2 линии DATA и CLOCK, по которым передаётся  информация. Линия CLOCK служит для подачи тактовых импульсов, а линия DATA для передачи информации.
Чтобы передать в микроконтроллер 1 бит информации, необходимо выставить 0 или 1(в зависимости от значения бита) на линии данных(DATA) и создать спад напряжения (переход от 1 к 0) на линии тактирования(CLOCK).
Один бит  для контроллера – маловато. Он ждёт вдогонку ещё пять, чтобы воспринять эту посылку из 6-ти бит как команду. Контроллеру очень нравятся команды, а состоять они должны именно из 6-ти бит – такова уж природа у PIC16.
Вот список и значение команд, которые PIC способен понять. Команд не так уж и много – словарный запас у этого контроллера невелик, но не надо думать, что он совсем глуп – бывают устройства и с меньшим количеством команд

&quot;LoadConfiguration&quot;                            000000    -   Загрузка конфигурации
&quot;LoadDataForProgramMemory&quot;       000010    -   Загрузка данных в память программ
&quot;LoadDataForDataMemory&quot; -            000011    -   Загрузка данных в память данных(EEPROM)
&quot;IncrementAddress&quot;                            000110   -    Увеличение адреса PC МК
&quot;ReadDataFromProgramMemory&quot;    000100    -   Чтение данных из памяти программ
&quot;ReadDataFromDataMemory&quot;          000101   -   Чтение данных из памяти данных(EEPROM)
&quot;BeginProgrammingOnlyCycle&quot;         011000   -    Начать цикл программирования
&quot;BulkEraseProgramMemory&quot;             001001   -    Полное стирание памяти программ
&quot;BulkEraseDataMemory&quot;                    001011   -    Полное стирание памяти данных(EEPROM)
&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Реагирует контроллер на эти команды по-разному. По-разному после выдачи команды нужно и продолжать с ним разговор.
Для того чтобы начать полноценный процесс программирования необходимо ещё подать напряжение 12 вольт на вывод MCLR контроллера, после этого подать на него напряжение питания. Именно в такой последовательности подачи напряжений есть определённый смысл. После подачи питания, если PIC сконфигурирован на работу от внутреннего RC генератора, он может начать выполнение собственной программы, что при программировании вещь недопустимая, так как неизбежен сбой.
Предварительная подача 12-ти вольт на MCLR позволяет избежать такого развития событий.
При записи информации во флэш память программ МК после команды

&quot;LoadDataForProgramMemory&quot;      000010    -   Загрузка данных в память программ

необходимо отправить в контроллер сами данные - 16 бит,
которые выглядят так:

 “0xxxxxxxxxxxxxx0”.

Крестики в этом слове – это сами данные, а нули по краям отправляются как обрамление – это стандарт для PIC16. Значащих битов в слове всего 14. У этой серии контроллеров 14-ти битный формат представления команд.
После окончания передачи слова с данными PIC ждёт следующую команду.
Так как нашей целью является запись слова в память программ МК, следующей командой должна быть команда

&quot;BeginEraseProgrammingCycle&quot;      001000    -    Начать цикл программирования

Получив её, контроллер отключается от внешнего мира на 6 миллисекунд, которые нужны ему, чтобы завершить процесс записи.

Настройка COM порта для работы JDM программатора
В процессе работы над программатором тестирование программы проводились в основном на PIC16F628A. Когда же пришло время проверить алгоритмы работы с другими МК - обнаружились проблемы. При записи PIC16F876A программатор записывал нормально только часть памяти программ, после чего происходила ошибка записи. Решение проблемы нашлось в настройках COM порта.

В WindowsXP применяется буферизирование передаваемой через порты COM информации. Это так называемые буфера FIFO. Чтобы избежать ошибок при программировании через JDM этот механизм необходимо отключить. Сделать это можно в диспетчере устройств Windows.

Заходим в панель управления, затем:
Администрирование - управление компьютером - диспетчер устройств

Затем выбираем порт, на который подключен JDM программатор(например COM1) - смотрим свойства - вкладка параметры порта - дополнительно. И снимаем галочку на пункте &quot;Использовать буферы FIFO&quot;

Рис. 7  Настройка COM порта для работы с JDM программатором
Настройка COM порта для работы с JDM программатором

После этого перезагружаем компьютер.



		
				


</content:encoded>
			<link>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-35</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/programmator-s-podderzhkoj-usb/2016-04-01-35</guid>
			<pubDate>Fri, 01 Apr 2016 09:56:16 GMT</pubDate>
		</item>
		<item>
			<title>Айфон 4 как прошить? Инструкция и методы прошивки</title>
			<description>Программное обеспечение любого устройства со временем устаревает. Это нормальный процесс, поскольку любая компания продолжает работу над своим софтом, постоянно совершенствуя его.

Не является исключением и прошивка на «Айфон 4». Сам аппарат по своей технической конфигурации нельзя назвать слишком отсталым - с ним можно выглядеть стильно даже сегодня. Плюс технические параметры модели (камера, процессор и другие показатели) достаточно высоки, чтобы телефон функционировал нормально.

Тем не менее операционная система, на которой работает устройство, морально устарела - Apple выпустила уже 9-ю версию, тогда как модель 4-го поколения поставлялась с iOS 5. Разумеется, ОС за эти обновления стала более продуктивной, удобной и привлекательной внешне. Поэтому некоторые пользователи делают все возможное, чтобы довести свой телефон до такого же состояния. Проще говоря, они узнают, как прошить телефон «Айфон 4». Впрочем, перепрошивка может понадобиться не только для этого.

В этой статье мы поста...</description>
			<content:encoded>Программное обеспечение любого устройства со временем устаревает. Это нормальный процесс, поскольку любая компания продолжает работу над своим софтом, постоянно совершенствуя его.

Не является исключением и прошивка на «Айфон 4». Сам аппарат по своей технической конфигурации нельзя назвать слишком отсталым - с ним можно выглядеть стильно даже сегодня. Плюс технические параметры модели (камера, процессор и другие показатели) достаточно высоки, чтобы телефон функционировал нормально.

Тем не менее операционная система, на которой работает устройство, морально устарела - Apple выпустила уже 9-ю версию, тогда как модель 4-го поколения поставлялась с iOS 5. Разумеется, ОС за эти обновления стала более продуктивной, удобной и привлекательной внешне. Поэтому некоторые пользователи делают все возможное, чтобы довести свой телефон до такого же состояния. Проще говоря, они узнают, как прошить телефон «Айфон 4». Впрочем, перепрошивка может понадобиться не только для этого.

В этой статье мы постараемся максимально раскрыть, что это за процедура и зачем она нужна.

Что такое прошивка?

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

Возможно, кто-то подумает, что прошивка на «Айфон 4» - это сложный процесс, который может быть под силу только хакерам или квалифицированным работникам сервисных центров, но это не так. На самом деле это довольно простое действие. И компания Apple позаботилась о том, чтобы с ним легко мог справиться каждый, практически в домашних условиях.
Зачем она нужна?

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

Так вот, кроме этого пользователь может искать информацию о своем «Айфон 4» (как прошить его самостоятельно) для того, чтобы свести модель к заводским настройкам. Это может понадобиться в случае нахождения чужого телефона или, скажем, когда смартфон вам отдал человек, ранее пользовался им. Таким образом, вы просто хотите стереть всю информацию с устройства, относится к другим пользователям, и получить на руки абсолютно чистую модель.
Способы проведения прошивки «Айфон 4»

Что ж, почему бы и нет было продиктовано ваше желание узнать, как прошить «Айфон 4» (s-модификации это касается), способы проведения этой процедуры мы расскажем в этой статье. Всего их два - это «Обновление» и «Восстановление». Оба проводятся через компьютер с предустановленной программой iTunes и шнур, соединяющий смартфон с ПК; или непосредственно на самом устройстве, используя локальное WiFi соединения.

Каждый из двух методов того, как перепрошить «Айфон 4s» (или просто 4) предусматривает некоторые индивидуальные особенности. О различиях между ними читайте дальше по тексту, в разделах, посвященных этим способам.
восстановление

Сначала поговорим о восстановлении. К нему можно обратиться только в том случае, если вы работаете по схеме «Компьютер + iTunes + телефон». Вкладку «Восстановление» можно найти после того, как ваш смартфон распознается ПК, после этого на экране появится меню для управления им.

Сама по себе процедура восстановления более комплексной, чем обновление, поскольку предусматривает удаление персональных данных с телефона. Она направлена ​​на то, как уже было сказано выше, чтобы получить «чистый» мобильник. Проводят ее, например, в случае передачи или продажи «Айфона», а также когда пользователь ищет, как прошить найден «Айфон 4».

храните информацию

Описывая данную процедуру, нельзя не упомянуть, что необходимо быть осторожным и хранить все свои файлы заранее. Восстановить их после этого шага будет нельзя, вся информация с вашего «Айфон» лишится навсегда. Поэтому не рекомендуется делать восстановление устройства без необходимости, в качестве эксперимента, а также если не позаботились о создании резервной копии всех своих файлов (особенно фотографий) на других носителях. Поскольку, как показывают отзывы пользователей, это довольно распространенная проблема и ошибка, когда человек путает процесс с простым обновлением и теряет весь контент.

обновления

Итак, как вы уже догадались, эта процедура не включает в себя удаление личных данных пользователя устройством, поскольку она направлена ​​на то, чтобы перейти на более свежую версию операционной системы.

Инструкция по тому, как провести эту операцию, зависит от того, какой метод обновления выбирает пользователь - через компьютер и iTunes или по WiFi, работая с самим телефоном. Те, кто задумывается, как прошить «Айфон 4 s», могут не беспокоиться. Особой сложностью не отличается ни первый, ни второй методы. Просто все зависит от условий, в которых будет проводиться перепрошивка. Это доступ к интернету, наличие уже загруженного файла операционной системы и, конечно же, шнур для соединения смартфона (следует позаботиться о наличии).
пошаговая инструкция

Если расписывать все пошагово, то имеем следующую картину. Если нам нужно восстановление устройства, просто подключается к компьютеру с помощью кабеля наш «Айфон 4» (как прошить его без доступа к ПК - опишем далее).

Далее открываем программу iTunes, где в правой верхней части экрана вы увидите меню телефона. Необходимо нажать на него. Перед вами откроется панель состояния телефона, на которой будут располагаться клавиши «Восстановить» и «Обновить», по названиям которых становится очевидно, для чего они предназначены.

Если вы недовольны работой своего «Айфон 4», как прошить его - вопрос закономерный. Выполняя эту операцию с помощью ПК, помните о возможности указать программе на загруженную ранее версию iOS и о том, что софт может самостоятельно провести поиск более свежей сборки. В случае если такая действительно доступна, iTunes предложит установить именно ее. И помните, что ответ на вопрос, можно ли прошить «Айфон 4», негативный, если вы хотели вернуться к прежней ОС. Разработчики устройства позаботились о том, что вы не можете выбрать снова более старую версию операционной системы. Это доставляет неудобства пользователям, которые перешли на iOS 8 поколения, отмечают, что она работает некорректно, подвисает и периодически притормаживает. Такого не наблюдалось на более старых версиях ОС.

После всего этого нужно просто подождать. Процесс загрузки и установки новой системы будет отображаться на экране телефона, поэтому пользователь в это время может пойти просто попить кофе, например. Собственно, от него в ходе этого процесса ничего не нужно - телефон проводит все действия самостоятельно.
Через WiFi или на компьютере?

Сравнивая эти две процедуры, отметим лишь, что качать дистрибутив самостоятельно устройство дольше. Загрузка на ПК происходит быстрее. Это зависит от модуля передачи данных WiFi, установленного на «Айфон 4» (как прошить последний, мы уже описали в инструкции). Его скорость передачи меньше, чем у полноценного компьютера. Однако в некоторых ситуациях, когда просто нет доступа к ПК и необходимо провести прошивку, это помогает. Так что выбирайте способ, исходя из того, что у вас есть под рукой.
предостережение

Вот так работает «Айфон 4». Как прошить его, вы уже поняли. Теперь поговорим о некоторые оговорки. Первое адресовано владельцам неоригинальных устройств. Если вы ищете, как прошить китайский «Айфон 4», то вы ошиблись адресом. Чаще всего поддельные смартфоны (в частности, копии iPhone 4) работают на операционной системе Android (а в отдельных случаях - вообще без таковой). Соответственно, вся процедура, описанная в этой статье, к ним применяется. Скорее всего, разработчики, выпускали копию, не позаботились о том, как делать обновления, поэтому владельцам таких телефонов не повезло.

Еще одна замечания следует делать тем, кто ищет, как перепрошить «Айфон 4s», который был «открыт» (или «джейлбрейкнутых»). Если ваш телефон был разблокирован из-под любого оператора (например, AT &amp; T, Verizon или Sprint), то, проводя обновления его операционной системы, вы, скорее всего, этот «джейлбрейк» потеряете. Чтобы сбросить все настройки телефона к заводским, вы можете использовать специальные программы, например, SemiRestore. Однако с процедурами, описанных здесь, вам прибегать не стоит.

По этому поводу существует множество различных инструкций и наставлений. В них описано, что работа с такими программами, как правило, достаточно проста - нужно соединить устройство с компьютером, запустить на нем такой софт и дождаться, пока пройдет удаления всей информации. По завершении вы также получите чистый iPhone 4, правда, «джейлбрейк» на нем должен остаться - и это главное.
Зачем платить больше?

Как видите, процедура перепрошивки iPhone 4 достаточно проста даже для неопытного пользователя. С ней легко справится любой человек, мало владеет ПК, поскольку все действия сведены к элементарному.

Это делает посещение сервисного центра с целью полного удаления данных с телефона бессмысленным. Каждый из нас знает, как перепрошить «Айфон 4s», обновить свою iOS к наиболее свежей версии, сбросить все настройки и при этом не особо отвлекаться от своих дел. Так, спрашивается, зачем платить больше?</content:encoded>
			<link>https://pascpro.narod.ru/news/ajfon-4-kak-proshit-instrukcija-i-metody-proshivki/2016-04-01-28</link>
			<category>прошивка телефонов,смартфонов</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/ajfon-4-kak-proshit-instrukcija-i-metody-proshivki/2016-04-01-28</guid>
			<pubDate>Fri, 01 Apr 2016 09:38:41 GMT</pubDate>
		</item>
		<item>
			<title>веб браузер в Lazarus </title>
			<description>Часто в интернете можно найти аналоги платного бесплатно.Ярким примером тому может быть Lazarus .
Бесплатная среда программирования на замену старшему собрату Delphi 7
Для создания приложений мы восползуемсяGeckoPort

Chromium Embedded Framework (CEF)

Решил использовать второй. Скачать его можно тут.  Следует обратить на версию СEF с которой будет работать данный компонент. На момент написания статьи это была версия 3.2454 это позволит потом избежать некоторых ошибок.


cef github

В о общем скачиваем исходники компонента. Распаковываем архив в какую либо папку. Я для это создал папку на диске С c:\lcl , и распаковал туда архив с исходником. Затем открываем Lazarus и выбираем пункт меню Пакет - Открыть файл пакета (.lpk) 

lazarus memu packet

В появившемся диалоге выбора файла переходим в каталог куда у вас  распакован код компонента и выбираем cef.lpk.

cef lpk

Появится окно установки пакета. В нем нажимаем сначала кнопку Компилировать, а затем выбираем Использовать - Установить.

...</description>
			<content:encoded>Часто в интернете можно найти аналоги платного бесплатно.Ярким примером тому может быть Lazarus .
Бесплатная среда программирования на замену старшему собрату Delphi 7
Для создания приложений мы восползуемсяGeckoPort

Chromium Embedded Framework (CEF)

Решил использовать второй. Скачать его можно тут.  Следует обратить на версию СEF с которой будет работать данный компонент. На момент написания статьи это была версия 3.2454 это позволит потом избежать некоторых ошибок.


cef github

В о общем скачиваем исходники компонента. Распаковываем архив в какую либо папку. Я для это создал папку на диске С c:\lcl , и распаковал туда архив с исходником. Затем открываем Lazarus и выбираем пункт меню Пакет - Открыть файл пакета (.lpk) 

lazarus memu packet

В появившемся диалоге выбора файла переходим в каталог куда у вас  распакован код компонента и выбираем cef.lpk.

cef lpk

Появится окно установки пакета. В нем нажимаем сначала кнопку Компилировать, а затем выбираем Использовать - Установить.

cef packet install

Появится окно с  предложение пересобрать среду разработки.

ide build

Нажимаем Да и наблюдаем процесс компилирования разработки. 

После этого на палитре компонентов появляется вкладка Chromium.

 panel components

Теперь идем сюда и переходив  в  раздел  Branch 2454 и скачиваем Test App для windows 32, если у вас другая версия операционной системы и среды Lazarus, то скачиваете под свою версию.

cef git branch

Это набор библиотек необходимый для функционирования нашего браузера.  Его содержимое необходимо скопировать в папку, куда у вас будет компилировать ваше приложение.

Теперь создаем новое приложение. У меня получилось такое.

lazarus webbrowser

Я добавил на форму компонент TСhromium, пару кнопок, и pagetab с двумя страницами. На одной разместил  TСhromium, а на второй разместил TSynEdit (компонент с подсветкой синтаксиса),  где будет отображаться исходный код страницы. А дальше написал не много кода для работы. Да и еще что бы все работа в раздел uses добавьте следующие юниты.
?
1
2
3
	
uses
...... cef3lcl, cef3lib, cef3types,
  cef3intf, cef3own, gettext, cef3gui, cef3ref, cef3api;

 А теперь по работе с компонентом.

 

Код загрузки страницы.
?
1
2
3
4
	
procedure TForm1.btnGoClick(Sender: TObject);
begin
  Chromium.Load(edurl.Text);
end;

 Если требуется использовать при работе Cookie файлы то код немного видоизменяется. 

 
?
1
2
3
4
5
6
7
8
9
10
11
12
	
procedure TForm1.btnGoClick(Sender: TObject);
var
  CookMan: ICefCookieManager;
  CookPath: string;
  CefBack: ICefCompletionCallback;
begin
  CookPath := ExtractFilePath(Application.ExeName) + &apos;Cookies\octopus&apos;; //задаем путь к &quot;печенькам&quot;
  ForceDirectoriesUTF8(CookPath); // если пути нет то создаем его
  CookMan := TCefCookieManagerRef.Global(CefBack); // подключаемся с менеджеру печенек
  CookMan.SetStoragePath(CookPath, True,CefBack);// устанавливаем пусть к нашему хранилищу
  Chromium.Load(edurl.Text); // грузим страницу
end;

 После этого если вы допустим войдете на сайт через форму входа и нажмете запомнить на сайте, затем закроете программу и откроете снова то вы автоматически войдет на сайт.

Код получения html исходника страницы. По интернету гуляет кусок кода для работы с Chromium на Delphi,
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
	
procedure StringVisitor(const str: ustring);
begin
  form1.SynEdit1.Text := Utf8ToAnsi(str);
end;
 
function GetSourceHTML: string;
var
  CefStringVisitor: ICefStringVisitor;
begin
  CefStringVisitor := TCefFastStringVisitor.Create(StringVisitor);
  form1.Chromium.Browser.MainFrame.GetSource(CefStringVisitor);
end;                         
 
procedure TForm1.btnSourceClick(Sender: TObject);
begin
  GetSourceHTML;
end;

для Lazarus он тоже подойдет. Но при компилирование будет выдаваться ошибка

Error: Wrong number of parameters specified for call to &quot;StringVisitor&quot; 

Что бы её убрать в самом начале кода поменяйте директиву
?
1
	
{$mode objfpc}{$H+}

на 
?
1
	
{$mode Delphi}{$H+}

И все нормально скомпилируется.

Пример получения подстветки кода сайта.

 synedit colored

Если требуется отобразить адрес страницы то можно использовать такой код.
?
1
2
3
4
5
	
procedure TForm1.ChromiumAddressChange(Sender: TObject; const Browser: ICefBrowser;
  const Frame: ICefFrame; const url: ustring);
begin
  form1.Caption := &apos;Octopus-[&apos; + url + &apos;]&apos;;
end;

Так же меня интересовала работа с проксей у данного компонента, но к сожалению как сделать это из кода я не нашел. Но есть возможность запускать программу с передачей ей команды. Делается это так.
?
1
	
programma.exe --proxy-server=127.0.0.1:80

Это позволяет соблюдать некую анонимность в сети.

Пример работы через проксю.

work with proxy

Вот такой простой пример  по работе с Chromium.</content:encoded>
			<link>https://pascpro.narod.ru/news/veb-brauzer-v-lazarus/2016-02-27-27</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/veb-brauzer-v-lazarus/2016-02-27-27</guid>
			<pubDate>Sat, 27 Feb 2016 15:02:50 GMT</pubDate>
		</item>
		<item>
			<title>ishodnik программa Переводчик Delphi 7</title>
			<description>&lt;p&gt;
&lt;style type=&quot;text/css&quot;&gt;P { margin-bottom: 0.08in; }
&lt;/style&gt;
&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;unit Unit1;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;interface&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;uses&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;...</description>
			<content:encoded>&lt;p&gt;
&lt;style type=&quot;text/css&quot;&gt;P { margin-bottom: 0.08in; }
&lt;/style&gt;
&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;unit Unit1;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;interface&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;uses&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Dialogs, Menus, StdCtrls, ComCtrls, Buttons, ExtCtrls;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;type&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;TForm1 = class(TForm)&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;MainMenu1: TMainMenu;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N1: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N2: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N4: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N5: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;OpenDialog1: TOpenDialog;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Memo2: TMemo;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;Memo3: TMemo;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N3: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N6: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;SaveDialog1: TSaveDialog;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;font face=&quot;Times New Roman, serif&quot;&gt;&lt;font size=&quot;4&quot;&gt;&lt;span lang=&quot;en-US&quot;&gt;N7: TMenuItem;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;

&lt;p align=&quot;JUSTIFY&quot; style=&quot;text-indent: 0.49in; margin-bottom: 0in; line-height: 150%; widows: 2; orphans: 2&quot;&gt;&lt;span style=&quot;font-size:18px;&quot;&gt;&lt;a href=&quot;http://pascpro.narod.ru/perevod.pas.odt&quot;&gt;&lt;span style=&quot;color: rgb(255, 0, 0);&quot;&gt;download fulll&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;</content:encoded>
			<link>https://pascpro.narod.ru/news/ishodnik_programma_perevodchik_delphi_7/2016-01-06-26</link>
			<category>Уроки программирования</category>
			<dc:creator>pascpro</dc:creator>
			<guid>https://pascpro.narod.ru/news/ishodnik_programma_perevodchik_delphi_7/2016-01-06-26</guid>
			<pubDate>Wed, 06 Jan 2016 12:26:48 GMT</pubDate>
		</item>
	</channel>
</rss>