Перейти к содержанию

Реализация Графического Языка Программирования Для Avr Контроллеров.


Lihouzov

Рекомендуемые сообщения

Добрый всем день.

Начал создавать блоки для работы с внутренним ADC контроллера, это пожалуй самый сложный до сегодняшнего дня FBD блок. У ATtiny13A имеется 4 вывода на которых возможно производить измерения, значить в библиотеки блоков для ATtiny13A будут находится 4 FBD блока каждый из которых работает со своим выводом. Проблема в том что их работа зависима друг от друга, ведь в контроллере всего один ADC. Значить эти блоки должны иметь общие переменные для синхронизации взаимной работы. До сегодняшнего дня все созданные блоки были чисто программные, каждой копии блока выделялось свой необходимый размер оперативной памяти доступный только ему. Чтобы написать блоки работы с ADC и в дальнейшем подобные блоки для работы с другими аппаратными узлами, необходимо добавить возможность использования глобальных переменных доступ к которым возможен из разных копий FBD блоков.

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

Реализовать логику работы FBD блоков возможно двумя путями. В первом варианте можно предусмотреть индивидуальную настройку ADC для каждого канала, тогда в параметры FBD блока добавятся настройки ADC для соответствующего канала, а во время работы каждый FBD будет подстраивать ADC под себя. Во втором варианте настройки ADC вынесены в отдельный FBD блок, единственная задача которого первоночально настроить ADC и в дальнейшем данная настройка не меняется. Я буду использовать второй вариант, буду использовать два типа FBD блоков. Первый FBD блок ADC_ATtiny13A_config, данный блок не имеет входов/выходов но содержит параметры необходимые для настройки ADC. Ко второму типу относятся FBD блоки ADC0_PinB5, ADC1_PinB2, ADC2_PinB4, ADC3_PinB3. Данные блоки имеют один дискретный выход, значение которого и есть результат работы ADC для данного входа. Ниже представлен текст XML файла описывающего оформление блоков.

<?xml version='1.0' encoding='windows-1251'?>
<!-- This document was created with Syntext Serna Free. -->
<FBD NAME="Цифро-аналоговый преобразователь (ADC)">
 <BLOCK NAME="ADC_ATtiny13_config" Caption="ADC_ATtiny13" Library="FBD_ADC_v1.inc" Shape="220"	 IM="Настройка параметров ADC" Color1="$00FFFFFF" Color2="$008EB7AC" Gradient="2" PenColor="$00908070" PenWidth="1">
 <CONST NAME="Код"	 TYPE="Byte"	 DEFAULT="3"	 LIST=""	 IM="Код блока"/>
 <VAR NAME="ADCSRA" TYPE="Bit[8]" DEFAULT="10000001" LIST=""	 IM=""/>
 <VAR NAME="ADMUX"	 TYPE="Bit[8]" DEFAULT="01000000" LIST=""	 IM=""/>	
 <!--Настройка ADC-->
 </BLOCK>[/size][/font][/color]
[color=#666666][font=Helvetica, Arial, Verdana, sans-serif][size=1]	 <BLOCK NAME="ADC0_PinB5" Shape="3100" Library="FBD_ADC_v1.inc" IM="Выход">
 <CONST NAME="Cod"	 TYPE="Byte"	 DEFAULT="4"	 LIST="" IM="Код блока"/>
 <OUT NAME="ADC"	 TYPE="tsDiscr" DEFAULT="65535" LIST="" IM=""/>
 <CONST NAME="Config" TYPE="Bit[8]" DEFAULT="00000000" LIST="" IM="Настройки блока"/>
 <!--Аналоговый вход-->
 </BLOCK>

 <BLOCK NAME="ADC1_PinB2" Shape="3100" Library="FBD_ADC_v1.inc" IM="Выход">
 <CONST NAME="Cod"	 TYPE="Byte"	 DEFAULT="4"	 LIST="" IM="Код блока"/>
 <OUT NAME="ADC"	 TYPE="tsDiscr" DEFAULT="65535" LIST="" IM=""/>
 <CONST NAME="Config" TYPE="Bit[8]" DEFAULT="00000001" LIST="" IM="Настройки блока"/>
	 <!--Аналоговый вход-->
 </BLOCK>[/size][/font][/color]
[color=#666666][font=Helvetica, Arial, Verdana, sans-serif][size=1]	 <BLOCK NAME="ADC2_PinB4" Shape="3100" Library="FBD_ADC_v1.inc" IM="Выход">
 <CONST NAME="Cod"	 TYPE="Byte"	 DEFAULT="4"	 LIST="" IM="Код блока"/>
 <OUT NAME="ADC"	 TYPE="tsDiscr" DEFAULT="65535" LIST="" IM=""/>
 <CONST NAME="Config" TYPE="Bit[8]" DEFAULT="00000010" LIST="" IM="Настройки блока"/>
	 <!--Аналоговый вход-->
 </BLOCK>[/size][/font][/color]
[color=#666666][font=Helvetica, Arial, Verdana, sans-serif][size=1]	 <BLOCK NAME="ADC3_PinB3" Shape="3100" Library="FBD_ADC_v1.inc" IM="Выход">
 <CONST NAME="Cod"	 TYPE="Byte"	 DEFAULT="4"	 LIST="" IM="Код блока"/>
 <OUT NAME="ADC"	 TYPE="tsDiscr" DEFAULT="65535" LIST="" IM=""/>
 <CONST NAME="Config" TYPE="Bit[8]" DEFAULT="00000011" LIST="" IM="Настройки блока"/>
	 <!--Аналоговый вход-->
 </BLOCK>

</FBD>[/size][/font][/color]
[color=#666666][font=Helvetica, Arial, Verdana, sans-serif][size=1]

По данному XML файлу получились вот такие FBD блоки:

%D0%9B%D0%B8%D1%81%D1%82%201.jpg

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Есть и по теме. Уже выпущена и можно купить Ttiny4313. Всего ровно в два раза больше. Все остальное совпадает, даже цена. Скажем, в космодроме уже есть (это на Украине) и цена та же что и на 2313. Лично я буду заказывать штук 50 за раз. Есть смысл перепроверить FBD блоки с 2313 на 4313 на совместимость. Тогда возможности реализации программ на новом графическом языке будут значительно выше.

ПС. http://www.kosmodrom...313&okbutton=����� http://www.atmel.com/Images/8246s.pdf

Изменено пользователем Trasserlong
Ссылка на комментарий
Поделиться на другие сайты

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Если интересует 4313 могу добавить. У нас 4313 только на заказ. В моих планах добавить блоки работы с ADC на ATtiny13A, купить ATmega адаптировать блоки ADC под купленный ATmega, дополнить блоками для работы с протоколом Modbus, связать со SCADA системами.

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Тренды и лучшие решения для разработки зарядных станций в России

К 2029 году в России прогнозируется увеличение числа зарядных станций до 40 000. При этом отечественный рынок электротранспорта имеет климатические, потребительские и географические особенности. Для успешной разработки и построения инфраструктуры станций заряда в России идеальным вариантом является использование решений и электронных компонентов китайских производителей – лидеров индустрии электротранспорта и возобновляемой энергетики, которые уже представлены в КОМПЭЛ. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Очень интересует. Дело в том что может там и исправлять ничего особо не нужно. Надо полагать что инженеры Атмел позаботились о максимальной совместимости.

У меня тоже под заказ. Но лично я под конец недели уже буду иметь полный боекомплект - 50 штук этих 4313. По интернету заказал. И занимайся своими делами. Как придет, так придет смс от службы доставки. Иди и забирай. Вообще проблем нет, обычное дело.

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

Ссылка на комментарий
Поделиться на другие сайты

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Для реализации FBD блока необходимо описать две функции (функция инициализации, функция исполнения)

Составил блок-схемы для FBD блоков блок-схема

Реализация блока ADC_config:

#ifndef _FBD3_
#define _FBD3_ FBD3
#message define FBD3 (ADC_ATtyny13A_config)__FILE__
.SET ADC_DATA_RAM_ADR = FBD_DATA_RAM  //Глобальные данные для ADC
.SET FBD_DATA_RAM = FBD_DATA_RAM + 1  //Выделяем 1 байт для глобальной переменной ADC
// Stat ADC
//  7   ADC_run
//  0-1 MUX
//Размер описания FDB блока 2 байта
//1 байт- ADCSRA
//1 байт- ADMUX
FBD3_init:
rcall Read_cfg									 ;ADCSRA
out ADCSRA, Addr_Data
rcall Read_cfg									 ;ADMUX
out ADMUX,  Addr_Data
ldi   ZL, Low(ADC_DATA_RAM_ADR)		  //Указатель на оперативную память ADC_DATA_RAM_ADR
ldi   ZH, High(ADC_DATA_RAM_ADR)		 //Указатель на оперативную память ADC_DATA_RAM_ADR
st  Z, Zero							  //Предварительная установка глобальной переменной
ret;
FBD3_run:
ADIW  YL, 2							  //пропускаем 2 байта конфигурации
ldi   ZL, Low(ADC_DATA_RAM_ADR)		  //Указатель на оперативную память ADC_DATA_RAM_ADR
ldi   ZH, High(ADC_DATA_RAM_ADR)		 //Указатель на оперативную память ADC_DATA_RAM_ADR
ld    A, Z							   //Глобальные данные для ADC
mov   B, A							   //Глобальные данные для ADC
inc   B								  //MUX на следующий канал
andi  B, 0b00000011					  //Маска MUX 
andi  A, 0b10000000					  //Маска проверки на занятость канала
brne  FBD3_end						   //Если производится измерение выходим
in    A, ADMUX						   //Читаем текущее состояние
andi  A, 0b00000011					  //Маска MUX
add   A, B							   //
out   ADMUX, A						   //Устанавливаем новый канал
FBD3_end:
ret;
FBD3:
.db 2, 0								 //Размер FBD блока, необходимая оперативная память
.dw FBD3_run, FBD3_init
#else
#error redeclared FBD3 __FILE__
#endif

#ifndef _FBD4_
#define _FBD4_ FBD4
#message define FBD4 (ADC_in)__FILE__

FBD4_init:
ret;
FBD4_run:
ret;
FBD4:
.db 2, 0								 //Размер FBD блока, необходимая оперативная память
.dw FBD4_run, FBD4_init
#else
#error redeclared FBD4  __FILE__
#endif

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Реализация блока ADC_pin:

В функции инициализации блока необходимо настроить нужный вывод контроллера на ввод данных. Какой вывод настраивать на вход определяет байт конфигурации FBD блока. У ATtiny13A возможно измерение с нескольких выводов контроллера PB2, PB3, PB4, PB5. Байт конфигурации 0b00000000 - PB2; 0b00000001 - PB3; 0b00000010 - PB4; 0b00000011 - PB5.

Функция инициализации:

//Размер описания FDB блока 2 байта
//1 байт- Привязка к выходу
//1 байт- Конфигурация
FBD4_data:
.db 0b11111011, 0b11110111, 0b11101111, 0b11011111
FBD4_init:
ADIW YL, 1							 //пропускаем 1 байт "выход"
rcall Read_cfg						 //Байт конфигурации
ldi A, 0b00000011					 //Маска
and A, Addr_Data					 //Выделяем № пина
Set_Bit_Reg_A:
ldi ZL, Low(FBD4_data*2)			 //Указатель на табл
ldi ZH, High(FBD4_data*2)			 //Указатель на табл
add ZL, A							 //Смещаем
adc ZH, Zero						 //Смещаем
lpm									 //Извлекаем маску для порта
in B, PORTB						 //Читаем состояние порта
and B, Addr_Data					 //Накладываем маску
out PORTB, B						 //Устанавливаем
ret;

Работу пока не проверял, осталось описать функцию исполнения. Блок-схема

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Написал FBD блоки для ADC, проверил на симуляторе все работает.

Необходимо собрать какую либо схему и проверить в реальности.

Конфигурация для испытания FBD блоков:

%D0%9B%D0%B8%D1%81%D1%82%201.jpg

Буду измерять напряжение на выводе PinB2, сравнивать с константой. Если результат превысит 500 то установится высокое состояние на выводе узла сравнения. К выводу PinB0 подключу светодиод, а на вход PinB2 подам напряжения с потенциометра. Состояние PinB0 формируется по закону "или" сигнал с генератора, сигнал с блока сравнения

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Собрал схему, залил выше приведенную конфигурацию в ATtiny13A. В настройках конфигурации ADC указал опорное напряжение 1.1 вольт, ADC 10 битный значит 500 на выходе соответствует входному напряжению 0,537 вольт.

Работает но с замечанием.

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

2. Поднимаю напряжение, в районе 0,5 вольт светодиод начинает гореть постоянно т.е. значение ADC достигло 500. Рановато?

3. Поднимаю напряжение 1 вольт - горит.

4. Поднимаю 2..3..4 вольта - горит.

5. В районе 4.2 вольт и до 5 вольт снова начинает мигать. Т.е. на выходе с ADC формируется число меньше 500. Так быть не должно, как это объяснить???

У ADC микроконтроллера может быть перегрузка, при которой выходное значение не останавливается на 1023, а наоборот сваливается?

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Код FBD блока сравнения:

#ifndef _FBD14_
#define _FBD14_ FBD14
#message define FBD14 (more)__FILE__
//Размер описания FDB блока 3 байта
//1 байт- вход 1
//1 байт- вход 2
//1 байт- выход
//Оперативной памяти не требуется
FBD14_run:
//======== Читаем данные блока из файла конфигураций =========
rcall Read_cfg_Load_Uz1								   ;вход 1
rcall Read_cfg_Load_Uz2								   ;вход 2
//============= Логика работы FBD блока ==================
clr  Uz3H						    ;Предварительная установка результата
clr  Uz3L						    ;Предварительная установка результата
cp   Uz2L, Uz1L					  ;Вычитание
cpc  Uz2H, Uz1H					  ;Вычитание
brcc FBD14_zero
inc  Uz3L						    ;Uz1>Uz2
FBD14_zero:
//============= Сохраняем результат  ==================
rcall Read_cfg_Save_Uz3								   ;Сохраняем результат
ret;
FBD14:
.db 3, 0								 //Размер FBD блока, необходимая оперативная память
.dw FBD14_run, FBD14_init
#else
#error redeclared FBD14 __FILE__
#endif

Ссылка на комментарий
Поделиться на другие сайты

Собрал схему, залил выше приведенную конфигурацию в ATtiny13A. В настройках конфигурации ADC указал опорное напряжение 1.1 вольт, ADC 10 битный значит 500 на выходе соответствует входному напряжению 0,537 вольт.

Работает но с замечанием.

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

2. Поднимаю напряжение, в районе 0,5 вольт светодиод начинает гореть постоянно т.е. значение ADC достигло 500. Рановато?

3. Поднимаю напряжение 1 вольт - горит.

4. Поднимаю 2..3..4 вольта - горит.

5. В районе 4.2 вольт и до 5 вольт снова начинает мигать. Т.е. на выходе с ADC формируется число меньше 500. Так быть не должно, как это объяснить???

У ADC микроконтроллера может быть перегрузка, при которой выходное значение не останавливается на 1023, а наоборот сваливается?

Чтобы оценить работу ADC в микроконтроллере собрал следующую схему:

%D0%9B%D0%B8%D1%81%D1%82%202.jpg

В данной конфигурации я формирую два ШИМ одинакового периода, В параметрах блока период ШИМ выбрал равным 1024, благодаря чему с помощью осциллографа можно увидеть и оценить значения числа который присутствует на входе ШИМ. Канал 500->PWM->PinB1 использую как образцовый, его вывожу на осциллографе и использую для синхронизации.

В результате получил следующее значение (при U опорном 1,1 вольт):

0..1, 1 - линейно нарастает 0 до 1023

1,1..3,1 - 1023

3, 2 сваливается на 500

3,2..3,9 - 500

4,0 сваливается на 250

4,0..4,5 250

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

Изменил параметры, опорное напряжение выбрал Vcc (ADMUX бит REFS0), теперь работает линейно на диапазоне 0..5 вольт. Вероятнее всего причина была в перегрузке ADC, при опорном напряжении 1,1 вольт диапазон измеряемого входного сигнала 0..1,1 вольт, я подавал 3,2.

Ссылка на комментарий
Поделиться на другие сайты

Полностью согласен, при проектировании схемы не надо допускать перегрузки АЦП.

В скором времени я, подредактирую и выложу блоки работы с ADC.

Следующим этапом планирую сделать самому или приобрести готовую отладочную плату на ATmega и реализовать поддержку протокола Modbus.

Ссылка на комментарий
Поделиться на другие сайты

Купил ATmega8A-PU. Надо собрать отладочную плату, хочу чтобы был RS485 интерфейс. Если у кого есть какие либо схемы отладочных плат поделитесь.

Ссылка на комментарий
Поделиться на другие сайты

Поддержка протокола Modbus.

В системе Modbus существуют два режима передачи ASCII и RTU (Remote Terminal Unit). Чтобы уменьшить нагрузку на микроконтроллер буду использовать режим RTU.

В режиме RTU может поддерживаться только путем эмулирования синхронного сообщения. Приемное устройство отслеживает время между приемом символов. Если прошло время, равное периоду следования 3.5 символов, а кадр не был завершен или не поступило нового символа, устройство очищает кадр и предполагает, что следующий принимаемый байт - это адрес устройства в новом сообщении. Формат кадра сообщения в режиме RTU:

Адрес устройства 8 бит; Функция 8 бит; Данные N * 8 бит; Контрольная сумма CRC 16

Для реализации протокола необходима функция для расчета CRC 16. Перекопал кучу информации, в итоге получилась следующая функция:

//=== Входные параметры ===
//== Z -указатель на оперативную памать
//== E -число байт для подсчета CRC_16
ldi A, 0b11111111			 //Предварительный результат CRC_16
ldi B, 0b11111111			 //Предварительный результат CRC_16
ldi C, 0b00000001			 //Маска полинома
ldi D, 0b10100000			 //Маска полинома
CRC_16_Read_Byte:
ld F, Z+					 //Загружаем байт
eor A, F					 //Суммирование по XOR
LDI F, 8					 //Загрузить счетчик бит
СКС_16_Loop_Bit:
lsr B						 //Сдвиг регистра результата CRC вправо
ror A						 //Сдвиг регистра результата CRC вправо
brcc СКС_16_Next_Loop_Bit
eor B, D					 //Сложить CRC с полиномом
eor A, C					 //Сложить CRC с полиномом
СКС_16_Next_Loop_Bit:
dec F						 //Цикл обработки байта
brne СКС_16_Loop_Bit			 //Цикл обработки байта
dec E						 //Цикл перебора байтов
brne CRC_16_Read_Byte		 //Цикл перебора байтов
//=== Результат регистры BA=CRC_16 ===

Кто рассчитывал CRC 16?

Изменено пользователем Lihouzov
Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

1. Добавил поддержку микроконтроллеров ATmega8A

2. Собрал макетную плату

%D0%BC%D0%B0%D0%BA%D0%B5%D1%82%D0%BD%D0%B0%D1%8F%20%D0%BF%D0%BB%D0%B0%D1%82%D0%B0%20%D1%80%D0%B0%D1%81%D0%BF%D0%BE%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5.jpg?height=239&width=400

3, Создал FBD блок для работы с жидкокристаллическим знакосинтезирующим дисплеем на контроллере HD44780.

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

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

По сути. Скачал и установил Ваш конфигуратор. Все прошло легко, просто и удобно. Это хорошо. Но вот далее неудобно. Даю команду открыть проект, и смотрю что там...

А там нет того что ожидается по умолчанию. Нет тестового проекта. Который можно просто запустить и посмотреть что оно может. Покрутить его, по нажимать, по ошибаться. Значит сразу встает вопрос, а что дальше? А дальше создание нового проекта. Которое подразумевает просмотр видео как это все у Вас делается. Для начала мне нужен скажем тини 2313. И уже нужен 4313 (их куплено штук 50, и они ждут своего часа). А этого там нет, есть какой то старый проц HR_AT90S2313.dev который не только не интересен, это еще надо побегать его поискать. Надо что то куда то заливать, что бы появилось 2313.. Щас буду разбираться.

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

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

Изменено пользователем Trasserlong
Ссылка на комментарий
Поделиться на другие сайты

Вот разбираюсь. Зашел на страницу http://www.proj-hori...r/hr_attiny2313. Неудобно продуман текст. Зачем мне там нужна информация о другом типе процессора AT90S2313 ? Эту, общую для все типов процессоров информацию нужно вынести в какое либо общее место. Эта информация тоже нужна. А в папке с конкретным процессором все должно быть только о нем, и ни о чем больше.

Вообще говоря, папки эти должны быть наполнены изначально. Хотя бы тем что уже есть: а это тини2313, тини13.ATmega8A

Изменено пользователем Trasserlong
Ссылка на комментарий
Поделиться на другие сайты

Благодарю за критику.

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

2. Я добавил контроллеры которые были у меня под рукой плюс ATtiny2313 который Вы попросили. Добавить новый тип контроллеров особого труда не составляет, у меня уходит минут 10 на добавление нового типа. Если какой либо интересует пишите, добавим вместе.

3. По поводу скачивания с сайта новых FBD блоков или нового типа контроллера это занятие довольно утомительное, пока только так. В перспективе я размещу сайт на платном хостинге там будет ftp а программа при появлении нового устройства или блока будет предлагать обновление. Кстати этот механизм в программе уже реализован, дело упирается только в платный хостинг.

4. Информацию на сайте я обновляю по возможности. У меня как и у Вас свободного времени нет.

5. Ваше предложение мне нравится. Я все блоки которые не зависят от внутренних узлов контроллера, а таких блоков большинство, соберу в общую папку с названием ???? (пока не знаю как назвать)

По поводу установки. Мне важно знать собирается ли проект? Проект->конфигурация->собрать проект.

Ссылка на комментарий
Поделиться на другие сайты

Благодарю за критику.

* Всегда рад помочь. У меня большой опыт общения с людьми. Главный совет. Делайте максимально удобно. Помните. Наиболее сложные - это первые шаги людей, которые будут осваивать Вашу программу.

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

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

2. Я добавил контроллеры которые были у меня под рукой плюс ATtiny2313 который Вы попросили. Добавить новый тип контроллеров особого труда не составляет, у меня уходит минут 10 на добавление нового типа. Если какой либо интересует пишите, добавим вместе.

* Вот и чудьненько. Добавьте пожалуйста тини 4313. Ну не хочу я уродоваться на 2 килобайтах памяти 2313 (хотя ее тоже широко использовал и еще буду использовать). Я обычно пишу заготовку. А уже потом шлифую ее, и размер иной раз уменьшается в разы. Но в начале важна идея программы. А она не всегда маленькая с первого раза.

3. По поводу скачивания с сайта новых FBD блоков или нового типа контроллера это занятие довольно утомительное, пока только так. В перспективе я размещу сайт на платном хостинге там будет ftp а программа при появлении нового устройства или блока будет предлагать обновление. Кстати этот механизм в программе уже реализован, дело упирается только в платный хостинг.

* Да нет проблем. Надо, значит надо. Скачаем и установим. Вы только это поподробней распишите. Я в случае чего в таких случаях подключаю своего ребенка. Она в этой теме рубит. Но есть проблема. Отцы и дети. Мне как ее о чем то просить.... Так что я уж прошу Вас. Я в электронике рублю не слабо. Но все эти дела с установкой, закачкой и тд. Рак мозгов и головняк в одном флаконе. Тем более что этот Ваш труд по написанию не пропадет даром. Рано или поздно нужно будет эти FBD самому писать куда надо.

4. Информацию на сайте я обновляю по возможности. У меня как и у Вас свободного времени нет.

* Надо искать... Я раньше делал так. Брал одно дело и бил годами в одну точку. Да, эффективно. Но в другом проигрываешь. Я и сейчас так делаю. Но стараюсь по возможности выделять в бюджете времени время на перспективные разработки. Ваша одна из них. И еще. По этому поводу раньше говорили так. Взялся за гуж, не говори что не дюж.... Так что Вы уж постарайтесь.

5. Ваше предложение мне нравится. Я все блоки которые не зависят от внутренних узлов контроллера, а таких блоков большинство, соберу в общую папку с названием ???? (пока не знаю как назвать)

* Геннадий дал хороший совет. Я с ним согласен.

По поводу установки. Мне важно знать собирается ли проект? Проект->конфигурация->собрать проект.

* Да ничего еще не собирается. Скачал, установил, запустил. На мой проц тини 2313 надо чего то там еще докачивать, о чем выше писалось. Поэтому никакой проект пока не запускал. Буду ждать Вашу инструкцию что, куда, в каком порядке заливать. Не забудьте тини 4313 тоже описать.

Изменено пользователем Trasserlong
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...