Forth и другие саморасширяющиеся системы программирования Locations of visitors to this page
Текущее время: Пт мар 29, 2024 17:12

...
Google Search
Forth-FAQ Spy Grafic

Часовой пояс: UTC + 3 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 219 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15  След.
Автор Сообщение
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Пн фев 03, 2014 02:10 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
KPG писал(а):
Ilya писал(а):
Для своего работающего (управление системой отопления дома) проекта - решил решил применить вышеобозначенные компоненты, но "быстродействие" работы с индикатором наводит на мысли + хочу попробовать сохранять данные на MMC + реализовать сброс данных на мой FTP- сервер (по GPRS) - программа минимум! :) + есть желание вспомнить (выучить AVR) ассемблер.

Можно оттолкнутся от существующих решений, в частости
ForthLib by Byvac c проверкой первичной работоспособности, например также в Proteus.

Есть подспудное желание возвратиться к дальнейшему развитию варианта мультиФорт системы FF303

Спасибо за линки!
Ассемблер для меня не самоцель, а желание "ускорить" пару Форт слов + расширить свои познания.
Ориентируюсь именно на "встроенный" ассемблер - ибо порог вхождения ниже и привлекательней.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Ср фев 05, 2014 04:20 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
Ilya писал(а):
Спасибо за линки!
.

Какие то линки можно найти на форуме, подобный этому PIC projects

Код:
Project 4. Testing simulator using TMR0 Interrupts, code.
Project 12. Using a PIC to control a stepper motor, code.
Project 17. Temperature logger using a PIC and DS1820 sensors, code + diagram
Project 20. Testing using IIC interface, code + diagram.
Project 23 64 kB Cache store using EEPROM, code + diagram.
Project 24 2 GB Cache store using SDmem card, code + diagram.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Чт фев 06, 2014 03:50 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Ура! С тачем вроде разобрался (простенький программный SPI) - данные идут! :)
Были "трудности":
1) Подвела рекомендация
А ДШ на атмега 2560 говорит
" ...I/O registers within the address range $00 - $1F are directly bit-accessible using the SBI and CBI instructions. In these reg-
isters, the value of single bits can be checked by using the SBIS and SBIC instructions...."
Может владеющие англ. мовой ткнут их фэсом в ДШ!? ;) Пускай добавят предепреждение.

2) Сенсор не реагирует на тело/палец, а только на стилус или его заменитель! Долго я тыкал по экрану безрезультатно. :))


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Чт фев 06, 2014 07:45 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Ilya писал(а):
1) Подвела рекомендация
А ДШ на атмега 2560 говорит
" ...I/O registers within the address range $00 - $1F are directly bit-accessible using the SBI and CBI instructions. In these reg-
isters, the value of single bits can be checked by using the SBIS and SBIC instructions...."
Может владеющие англ. мовой ткнут их фэсом в ДШ!? ;) Пускай добавят предепреждение.


Илья, там есть проверка:
Цитата:
Additionally some range checks should be applied to make sure that the instruction does actually work as it should be

Код:
: _bitio
   dup $1F U> if &-9 throw then
   over $7 U> if &-9 throw then
;


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Пт фев 07, 2014 22:38 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
[quote="chu"
Илья, там есть проверка:
Цитата:
Additionally some range checks should be applied to make sure that the instruction does actually work as it should be

Код:
: _bitio
   dup $1F U> if &-9 throw then
   over $7 U> if &-9 throw then
;
[/quote]
Согласен, поторопился. :oops:
А твои материалы уже в cookbook-e! ;)

ЗЫ Уже научился делать примитивные кнопочки (rect&rectFilled) с реакцией на прикосновение (правда требуется либо стилус, либо ногти :) ).


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Сб фев 15, 2014 23:20 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
amForth добрался до эзернета
Telnet


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс мар 02, 2014 10:43 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Ilya, ты такие ( Модуль 2.4G nRF24L01+ ) игрушки еще не приобрел?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс мар 02, 2014 20:06 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
chu писал(а):
Ilya, ты такие ( Модуль 2.4G nRF24L01+ ) игрушки еще не приобрел?

Пока нет! Я тут пока балуюсь ARM Cubieboard + Forth.
Чтобы не происходило разжижения мозга :) - решил произвести апгрэйд своего проекта: основную часть переведу на GBoard Pro (atmega2560+sim900 + LCD TFT + touch) - отпадает надобность в софтюарт+интереснее интерфейс+появились дополнительные хотелки.
+ есть планы на связку с Cubieboard. ;)


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс мар 23, 2014 19:10 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
на робофоруме опять стало возможным размещать код.
всю возню с nRF24L01+ пока буду помещать туда.

ЗЫ. конкурент, однако :) Andreas Wagner <andreas.wagner@lo...> - 2014-03-12 17:16:02
Цитата:
I am writing an amforth library for the nRF24L01 family of radios.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс мар 23, 2014 19:31 
Не в сети

Зарегистрирован: Пн янв 07, 2013 22:40
Сообщения: 2141
Благодарил (а): 8 раз.
Поблагодарили: 74 раз.
chu писал(а):
всю возню с nRF24L01+ пока буду помещать туда.

На sourceforge в репозитории проекта amForth есть отдельная директория в корне community что наверное предусматривает возможность размещать
произвольный код для amForth в ней.

P.S. А приёмник/передатчик ответный где и какой будет подключён?


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Вс мар 23, 2014 20:46 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
KPG писал(а):
На sourceforge в репозитории проекта amForth есть отдельная директория в корне community что наверное предусматривает возможность размещать
произвольный код для amForth в ней.

верно, есть. но в данном случае - это осознанная политика с моей стороны - "зацепить" как можно больше соотечественников.
далеко не каждый примет форт на вооружение. но кто-то заинтересуется.
форт постоянно упрекают - нет библиотек, не развивается. а откуда оно само по себе возьмется?
только такие как мы, как Matthias Trute&Co напишут и библиотеки и все остальное...
ну и в репозиторий положим...
KPG писал(а):
P.S. А приёмник/передатчик ответный где и какой будет подключён?

у меня два макета - самопальный на ATmega32A + nRF24L01+ и Freaduino Pro mini (328P) + nRF24L01+. код частично уже наработан - есть и измеритель дальности и сканер диапазонов и прием\передача уже выполняется. но процесс освоения (изучения всех возможностей этого модуля) еще продолжается.
код, кроме того, что он должен быть рабочим, хочется еще чтобы и выглядел "красиво" и для чтения был доступен. а иначе его и выкладывать для обозрения стыдно.
moving forth


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Пт мар 28, 2014 23:51 
Не в сети

Зарегистрирован: Чт ноя 23, 2006 00:44
Сообщения: 494
Откуда: СПб
Благодарил (а): 19 раз.
Поблагодарили: 8 раз.
Уже в который раз возникла проблема с "умирающей флэшкой" на Атмеге, т.е. прошиваю (самый примитивный программатор LPT+3 резистора) контроллер стоковой сборкой (amForth). Пока включено питание - работает, стоит отключить питание и включить его заново - фигвам. Судя по первым результатам - портится флэш

Зы 2 Chu Вроде научился я с аппаратным USAT-ом на прерываниях
Код:
marker =sim900=
\ USART2
&214 constant UDR2   \ USART I/O Data Register
&208 constant UCSR2A   \ USART Control and Status Register A
  $80 constant UCSR2A_RXC2 \ USART Receive Complete
  $40 constant UCSR2A_TXC2 \ USART Transmitt Complete
  $20 constant UCSR2A_UDRE2 \ USART Data Register Empty
  $10 constant UCSR2A_FE2 \ Framing Error
  $08 constant UCSR2A_DOR2 \ Data overRun
  $04 constant UCSR2A_UPE2 \ Parity Error
  $02 constant UCSR2A_U2X2 \ Double the USART transmission speed
  $01 constant UCSR2A_MPCM2 \ Multi-processor Communication Mode
&209 constant UCSR2B   \ USART Control and Status Register B
  $80 constant UCSR2B_RXCIE2 \ RX Complete Interrupt Enable
  $40 constant UCSR2B_TXCIE2 \ TX Complete Interrupt Enable
  $20 constant UCSR2B_UDRIE2 \ USART Data register Empty Interrupt Enable
  $10 constant UCSR2B_RXEN2 \ Receiver Enable
  $08 constant UCSR2B_TXEN2 \ Transmitter Enable
  $04 constant UCSR2B_UCSZ22 \ Character Size
  $02 constant UCSR2B_RXB82 \ Receive Data Bit 8
  $01 constant UCSR2B_TXB82 \ Transmit Data Bit 8
&210 constant UCSR2C   \ USART Control and Status Register C
  $C0 constant UCSR2C_UMSEL2 \ USART Mode Select
  $30 constant UCSR2C_UPM2 \ Parity Mode Bits
  $08 constant UCSR2C_USBS2 \ Stop Bit Select
  $06 constant UCSR2C_UCSZ2 \ Character Size
  $01 constant UCSR2C_UCPOL2 \ Clock Polarity
&212 constant UBRR2   \ USART Baud Rate Register  Bytes


&258 constant PORTH   \ PORT H Data Register
&267 constant PORTL   \ PORT L Data Register
250 constant rbufsize   \ размер буфера

PORTH 0 portpin: SIM900_RXD \
PORTH 1 portpin: SIM900_TXD \
PORTL 2 portpin: SIM900_RST \
PORTL 3 portpin: SIM900_PWR \

rbufsize buffer: rx-tx-buf
variable b-count

: sim900-init
SIM900_RXD pin_input
SIM900_TXD pin_output
SIM900_PWR pin_output
SIM900_RST pin_output
;

: usart2-init ( n -- )
(  &8) UBRR2 c!   \ При 16 МГц скорость 115200
UCSR2B_RXCIE2    \ Прерывение по получению символа
UCSR2B_RXEN2    \ Прием вкл.
UCSR2B_TXEN2    \ Передача вкл.
or or UCSR2B c!
;

\ Начинаем писать в буфер с начала
: b2begin rx-tx-buf rbufsize erase 0 b-count ! ;
\ Помещаем байт в буфер
: b2buf ( n -- ) rx-tx-buf b-count @ + c! ;
\ Принимаем один байт в буфер
: 1b-rcv
UDR2 c@
b-count @ rbufsize <
   if
      b2buf 1 b-count +!
   else
      b2begin \ Стираем буфер и счетчик байт
      b2buf
   then
;
\ Отправляем один байт
\ 1000 - от балды! :)
: 1b-send 1000 0 do UCSR2A c@ UCSR2A_UDRE2 and if leave then  loop UDR2 c! ;

: cr-send $0d 1b-send $0a 1b-send ;


: s1 b2begin over + swap ?do i c@ 1b-send loop cr-send ;
: t1 rx-tx-buf b-count @ cr type ;

\ Иницилизация
\ Использование: s" AT" s1 t1 - после этого модуль SIM900 выходит из ступора
\ s" ati" s1 t1 ....
: test
b2begin
sim900-init
100 ms
SIM900_PWR high
['] 1b-rcv 102 int! +int  \ устанавливаем вектор прерывания на USART2, Rx Complete

8 usart2-init
100 ms
SIM900_PWR low
1000 ms


;



Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Сб мар 29, 2014 00:33 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Ilya писал(а):
Зы 2 Chu Вроде научился я с аппаратным USAT-ом на прерываниях

клева.
ты лучше стал писать :)
маленькая ремарка:
вместо
Код:
\ Отправляем один байт
\ 1000 - от балды! :)
: 1b-send 1000 0 do UCSR2A c@ UCSR2A_UDRE2 and if leave then  loop UDR2 c! ;

наверное лучше будет
Код:
: 1b-send ( с -- )
    begin
      ( pause ) UCSR2A c@ UCSR2A_UDRE2 and  \  ждем пока освободится регистр данных
    until
  UDR2 c!
  ;

ps. насчет флеша - загадка, имеет смысл спросить на профильных форумах, например electronix.


Последний раз редактировалось chu Сб мар 29, 2014 00:37, всего редактировалось 1 раз.

Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Сб мар 29, 2014 00:36 
Не в сети
Administrator
Administrator
Аватара пользователя

Зарегистрирован: Вт май 02, 2006 22:48
Сообщения: 7960
Благодарил (а): 25 раз.
Поблагодарили: 144 раз.
Ilya писал(а):
Уже в который раз возникла проблема с "умирающей флэшкой" на Атмеге, т.е. прошиваю (самый примитивный программатор LPT+3 резистора) контроллер стоковой сборкой (amForth). Пока включено питание - работает, стоит отключить питание и включить его заново - фигвам. Судя по первым результатам - портится флэш

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


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
 Заголовок сообщения: Re: amForth залить в железку
СообщениеДобавлено: Сб мар 29, 2014 00:42 
Не в сети
Аватара пользователя

Зарегистрирован: Вс мар 04, 2007 08:02
Сообщения: 229
Благодарил (а): 2 раз.
Поблагодарили: 7 раз.
Хищник писал(а):
В ATMega (и вообще у AVR) была проблема с портящейся флеш-памятью. Устраняется при помощи специальной микросхемы - детектор понижения напряжения питания. Пока питание ниже нормы, МК находится в сбросе, что исключает возможность самопроизвольного срабатывания внутреннего программатора флешки в процессе выключения питания.

кстати, да - есть у мегааврок соответствующие фьюзы, типа BODLEVEL или как то так.
имеет смысл покурить соответствующий даташит.


Вернуться к началу
 Профиль Отправить личное сообщение  
Ответить с цитатой  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 219 ]  На страницу Пред.  1 ... 9, 10, 11, 12, 13, 14, 15  След.

Часовой пояс: UTC + 3 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 12


Вы не можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
phpBB сборка от FladeX // Русская поддержка phpBB