Оружие будущего

Форум про оружие будущего
Текущее время: Сб авг 18, 2018 5:45 pm

Часовой пояс: UTC + 3 часа




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: STM8
СообщениеДобавлено: Ср май 30, 2012 7:24 pm 
In Trance
Аватар пользователя

Зарегистрирован: Сб дек 22, 2007 2:45 pm
Сообщений: 4880
Откуда: Украина, Днепропетровск
Открываю эпичную тему.
Забрал сегодня STM8S-Discovery.
Вложение:
DSC03064.JPG
DSC03064.JPG [ 767.17 KIB | Просмотров: 5223 ]

И час продолбался с поиском нормальной среды. Везде пишут о неком STVD(ST Visual Develop) и STVP(ST Visual Programmer), но на оффсайте какая-то хрень. Поковырялся, нашел нормальную ссылку на STToolSet(если ссылка сдохнет - могу скинуть).
Буду отписываться по мере изучения камня.
Для затравки:
http://speleoastronomy.org/elektro/stm/index.html

_________________
ZADROT MODE COMPLETE
MISSION PASSED


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Пт июн 01, 2012 12:01 am 
In Trance
Аватар пользователя

Зарегистрирован: Сб дек 22, 2007 2:45 pm
Сообщений: 4880
Откуда: Украина, Днепропетровск
Изучаю понемного документацию. Оказывается структура документации другая совсем. В отличии от AVR, где всё в одной куче, у STM есть 3 вида документации:
1. STM8 CPU Programming Manual - описания ядра МК, описание команд ассемблера, адресации.
2. STM8 Reference Manual - всё настолько совместимо, что периферия одна и та же на всё семейство микроконтроллеров.
3. ДШ к конкретному камню - список периферии, размер памяти, порты, электрические характеристики.
Еще в отличии от AVR, у STM8S во время вызова прерывания в стек пихается не только указатель, а и внутренние регистры (A,X,Y).

_________________
ZADROT MODE COMPLETE
MISSION PASSED


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Пт июн 01, 2012 12:49 am 
Аватар пользователя

Зарегистрирован: Вс ноя 25, 2007 1:56 pm
Сообщений: 2127
Няшно. Я все облизываюсь от STM32 Discovery, но всегда находится, куда деньгу нужнее слить не для "побаловаться". Но, думаю, однажды не выдержу, да еще ты дразнишь=).

_________________
Текущие проекты: кровопролитная борьба с с 51ой за светлое будущее MCIS, зонд для конкурса CanSat. Пытаюсь вернуться к проекту гаусса.


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Пт июн 01, 2012 1:18 am 
In Trance
Аватар пользователя

Зарегистрирован: Сб дек 22, 2007 2:45 pm
Сообщений: 4880
Откуда: Украина, Днепропетровск
petru-nick писал(а):
Няшно. Я все облизываюсь от STM32 Discovery, но всегда находится, куда деньгу нужнее слить не для "побаловаться". Но, думаю, однажды не выдержу, да еще ты дразнишь=).

Да я тоже долго решался. А недавно заказал деталек и вышло на малую суму. Плюнул и купил дискавери. Завтра буду пищалку тестить. Что опечаливает - так это среда разработки.

_________________
ZADROT MODE COMPLETE
MISSION PASSED


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Вс июн 03, 2012 12:45 am 
In Trance
Аватар пользователя

Зарегистрирован: Сб дек 22, 2007 2:45 pm
Сообщений: 4880
Откуда: Украина, Днепропетровск
Запускал сегодня пищалку(периферия). В даташите говорится что периферия имеет больший приоритет, чем порт вывода для конкретного пина и это хорошо. Для конфигурации пищалки просто нужно было настроить пин на выход. Вроде бы просто. Но соль в том, что на некоторые пины существует более одной альтернативной функции и работать пин может только с 1 из них. Настройка выбора альтернативной функции мне не понравилась. Значит во флеше существуют некие опциональные байты Option Bytes, которые в частности управляют и выбором альтернативных функций. Таблицу с этими байтами можно найти в ДШ на конкретную модель.
Вложение:
Снимок.JPG
Снимок.JPG [ 200.7 KIB | Просмотров: 5162 ]

На PD4 альтернативная функция по умолчанию - выход 1 канала таймера 2(оттуда шим вылазит или захват идет, в общем куча фишек). Чтобы переключить на пищалку - нужно изменить состояние бита AFR7 в байте OPT2. По умолчанию из программы эти байты залочены т.е. писать в них ничего не нужно. Можно их разлочить прям из программы. Но лучше воспользоваться ST Visual Programmer. Оттуда без проблем изменяем бит и пищим.
Вложение:
stvp.png
stvp.png [ 86.02 KIB | Просмотров: 5162 ]

_________________
ZADROT MODE COMPLETE
MISSION PASSED


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Пн июн 04, 2012 12:38 am 
In Trance
Аватар пользователя

Зарегистрирован: Сб дек 22, 2007 2:45 pm
Сообщений: 4880
Откуда: Украина, Днепропетровск
Шаблон для программ
Код:
stm8/                                ;Семейство
;INCLUDE=============================

   #include "mapping.inc"
   #include "STM8S105K4.inc"

;INTERRUPT VECTORS==================

   segment 'vectit'
   dc.l {$82000000+init}                           ; reset
   dc.l {$82000000+NonHandledInterrupt}   ; trap
   dc.l {$82000000+NonHandledInterrupt}   ; irq0
   dc.l {$82000000+NonHandledInterrupt}   ; irq1
   dc.l {$82000000+NonHandledInterrupt}   ; irq2
   dc.l {$82000000+NonHandledInterrupt}   ; irq3
   dc.l {$82000000+NonHandledInterrupt}   ; irq4
   dc.l {$82000000+NonHandledInterrupt}   ; irq5
   dc.l {$82000000+NonHandledInterrupt}   ; irq6
   dc.l {$82000000+NonHandledInterrupt}   ; irq7
   dc.l {$82000000+NonHandledInterrupt}   ; irq8
   dc.l {$82000000+NonHandledInterrupt}   ; irq9
   dc.l {$82000000+NonHandledInterrupt}   ; irq10
   dc.l {$82000000+NonHandledInterrupt}   ; irq11
   dc.l {$82000000+NonHandledInterrupt}   ; irq12
   dc.l {$82000000+NonHandledInterrupt}   ; irq13
   dc.l {$82000000+NonHandledInterrupt}   ; irq14
   dc.l {$82000000+NonHandledInterrupt}   ; irq15
   dc.l {$82000000+NonHandledInterrupt}   ; irq16
   dc.l {$82000000+NonHandledInterrupt}   ; irq17
   dc.l {$82000000+NonHandledInterrupt}   ; irq18
   dc.l {$82000000+NonHandledInterrupt}   ; irq19
   dc.l {$82000000+NonHandledInterrupt}   ; irq20
   dc.l {$82000000+NonHandledInterrupt}   ; irq21
   dc.l {$82000000+NonHandledInterrupt}   ; irq22
   dc.l {$82000000+NonHandledInterrupt}   ; irq23
   dc.l {$82000000+NonHandledInterrupt}   ; irq24
   dc.l {$82000000+NonHandledInterrupt}   ; irq25
   dc.l {$82000000+NonHandledInterrupt}   ; irq26
   dc.l {$82000000+NonHandledInterrupt}   ; irq27
   dc.l {$82000000+NonHandledInterrupt}   ; irq28
   dc.l {$82000000+NonHandledInterrupt}   ; irq29

;ROM================================

segment 'rom'

init.l                              ;Инициализация
   ldw X,#stack_end
   ldw SP,X

   #ifdef RAM0
ram0_start.b EQU $ram0_segment_start
ram0_end.b EQU $ram0_segment_end
   ldw X,#ram0_start
clear_ram0.l
   clr (X)
   incw X
   cpw X,#ram0_end   
   jrule clear_ram0
   #endif

   #ifdef RAM1
ram1_start.w EQU $ram1_segment_start
ram1_end.w EQU $ram1_segment_end   
   ldw X,#ram1_start
clear_ram1.l
   clr (X)
   incw X
   cpw X,#ram1_end   
   jrule clear_ram1
   #endif

stack_start.w EQU $stack_segment_start
stack_end.w EQU $stack_segment_end
   ldw X,#stack_start
clear_stack.l
   clr (X)
   incw X
   cpw X,#stack_end   
   jrule clear_stack

main.l                              ;Основная программа
nop
jra main

   interrupt NonHandledInterrupt     ;Вектор пустого прерывания
NonHandledInterrupt.l
   iret

   end                                ;Конец файла

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

_________________
ZADROT MODE COMPLETE
MISSION PASSED


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Вт ноя 27, 2012 3:47 pm 
Аватар пользователя

Зарегистрирован: Сб окт 18, 2008 2:22 pm
Сообщений: 312
Откуда: Астрахань
А я стал обладателем STM32L-DISCOVERY. Купил в Элитане две штуки, обе под конкретные задачи, по 514 рублей. Сегодня как раз завершил одну работу. Отличные микроконтроллеры, равно как и вообще продукция STMicroelectronics. Документация и примеры по полочкам. Работал со встроенными АЦП и ЦАП. Использовал DMA. Среди недостатков АЦП - отсутствие диф. входов и отсутствие усиления.
Часть работы - измерение сопротивления кожи по мостовой схеме; в роли второго делителя напряжения выступает ЦАП. Погрешность получилась около 0,3%.
Выбранная среда программирования - KEIL. В STM32L-DISCOVERY встроен программатор ST-LINK, и доступна отладка на чипе - очень удобно. Дисплей вкупе со стандартными библиотеками позволяет быстро прийти к выводу результата.
STM32L-DISCOVERY и KEIL вместе осваиваются за неделю. После Atmega - как глоток свежего воздуха.

_________________
Двойной томпсонган - 215% передан вместе с концептом в добрые, заботливые руки, которые все пересобрали и закинули за шкаф в итоге
FlexLED - 52%. Дописывается основная часть прошивки


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Вт ноя 27, 2012 5:21 pm 
Аватар пользователя

Зарегистрирован: Вс ноя 15, 2009 7:17 pm
Сообщений: 618
Угу. Я тоже перешёл на STM32. Правда не покупал дорогую отладочную плату, а сразу развёл печатку для МК под свои нужны и впаял туда STM32F100R6T6B. Прошиваю через последовательный интерфейс.
PS: STM32F100R6T6B стоит копейки для своих возможностей - 70 рублей всего.

_________________
--> Расчёт пушки гаусса в FEMM <--


Вернуться наверх
 Профиль  
 
 Заголовок сообщения: Re: STM8
СообщениеДобавлено: Ср май 07, 2014 7:02 pm 
Аватар пользователя

Зарегистрирован: Сб окт 18, 2008 2:22 pm
Сообщений: 312
Откуда: Астрахань
Axon, так больше никаких новостей по STM'ам не будет? :(

В конце 2012 года я выступил в роли посредника-Деда Мороза, и затарил своих коллег в городе STM32L Discovery. Накапал как следует на мозги - что это действительно классная штука. Как результат - все на STM32 либо работали, либо работают по сию пору. Вот такой я амвейщик )

Что касается дней сегодняшних. Для начала пару слов о проекте, появившемся у меня в подписи. FlexLED - это часы с возможностью запуска множества объектов (таймеров, секундомеров и будильников) с последующим ранжированием в списке по времени последнего изменения, т.е. чем позднее изменялся объект, тем выше он в списке.

За основу - достаточно дешевую, к слову - был взят мк STM8L151. У STMicro есть очень интересная библиотека для реализации сенсорных решений, что позволило при помощи этого же мк сделать сенсорное управление. Уровнем повыше я написал распознавание жестов по слайдеру - и получилось интересное сенсорное управление.

Сейчас практически дописываю программу - 32 кБ FLASH с лихвой хватает; для EEPROM, в 1кБ, реализовано нечто вроде файловой системы, но специфичной - для распределения нагрузки перезаписи. По типу JFFS, только существующие фс с распределением нагрузки не подошли - больно жирные там заголовки, по 12 байт, к примеру, а у меня всего 2 байта служебные - идентификатор и CRC. Каждый сектор у меня хранит еще время своей записи - 6 байт, но это в связи со спецификой программы я служебной информацией не считаю; размер каждого сектора - 16 байт. В энергонезависимой памяти хранятся основные данные о созданных объектах, и при сбросе питания они не теряются, это удобно.

Дисплей реализован по принципу чарлиплексинга, о нем можно почитать в этой статье: http://easyelectronics.ru/multipleksirovanie.html. И сначала даже транзисторы поставил, вроде BC848, а потом убедился, что и без них все работает - и выпилил их. Благодаря этой интересной задумке, дисплей управляется по 8 проводам.
Дисплей реализован на фторопластовой пленке. Зачем - не спрашивайте ) душа жаждала извратов.

Изображение
https://www.dropbox.com/s/vu8r17jmp1hix ... 4655-1.jpg

_________________
Двойной томпсонган - 215% передан вместе с концептом в добрые, заботливые руки, которые все пересобрали и закинули за шкаф в итоге
FlexLED - 52%. Дописывается основная часть прошивки


Вернуться наверх
 Профиль  
 
Показать сообщения за:  Сортировать по:  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


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

Найти:

 

Яндекс цитирования
Русская поддержка phpBB