21.04.2015, 13:26
|
#181
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от STM32F0
|
Таймер же тоже умеет ногой дрыгать, или нет?
Через ДМА можно загружать в таймер параметры импульса (DMAR), можно формировать на нескольких ногах одного порта сигналы для нескольких датчиков, по ДМА можно считывать состояние порта с датчиками, т.е. всё хардварно. Нужно только по окончанию передачи пропарсить буфер и посчитать температуру для каждого датчика.
|
Таймер умеет ногой дрыгать, но не любой ногой. Что касается DMA, то им тоже можно делать многое. Только вот нужно ли?
У меня есть только один датчик с 1-wire. Задержки формирую с помощью таймера, процессы достаточно медленные. Зачем для работы с одним единственным датчиком использовать еще и DMA?
|
|
|
|
21.04.2015, 13:32
|
#182
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: 1- wire STM8 из вольтметров
Сообщение от *prostor*
|
Ждём ещё софтовый i2c
|
Это позже: АЦПшке я ногу CLK оторвал, нужно таких прикупить на ибее с десяток, как деньги появятся. Там и потренироваться и с хардварным, и с софтварным I2C.
С тем, что было, я свою ошибку понял: скорость слишком большая и тупо в прерываниях обрабатывать нельзя, надо какой-то более хитрый КА делать. Или скорость снизить.
Сообщение от *prostor*
|
по-моему на схеме с кнопкой и диодом не хватает резистора
|
Они нужны только на ногах PB4 и PB5 — эти ноги "чистые открытые коллекторы", у них нет подтяжки (как и верхнего ключа). А у остальных ног есть внутренние подтяжки, с ними все нормально работает.
Сообщение от *prostor*
|
почему там везде stm8l.h а не stm8s.h
|
"исторически" так сложилось: я когда начал этот файлик заполнять, скачал где-то для L-ки (там были заполнены регистры GPIO и TIM1 наполовину, остальное я дописывал по мере необходимости — как видишь, там даже для 103-го почти пусто, т.к. у меня такого мелкоконтроллера нет).
Сообщение от *prostor*
|
почему все коментарии на англисском
|
Потому что на русском комментарии только лохи делают ☺
Сообщение от *prostor*
|
что за неведомое чудище в лице SDCC
|
Это — единственный компилятор, поддерживающий STM8. gcc на восьмибитную мелочевку не разоряется, а больше ничего и нет...
А мастдайку — да, терпеть ненавижу.
Сообщение от dosikus
|
Без языка нечего делать в эмбедде.
|
Кстати, да: если человек осилил даташит прочесть, то уж комментарии точно осилит.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
21.04.2015, 13:36
|
#183
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от Bill
|
Таймер умеет ногой дрыгать, но не любой ногой.
|
Через ДМА, по сути, любой.
Сообщение от Bill
|
Что касается DMA, то им тоже можно делать многое. Только вот нужно ли?
|
По крайней мере есть выбор, разве это плохо?
Сообщение от Bill
|
У меня есть только один датчик с 1-wire. Задержки формирую с помощью таймера, процессы достаточно медленные. Зачем для работы с одним единственным датчиком использовать еще и DMA?
|
А почему и нет, если он есть? МК практически свободен, всё хардварно, на формирование времянок практически ничего не влияет, в том числе и прерывания.
Можно крутить несколько дисплеев, несколько датчиков и ещё и IR. И всё это одновременно и независимо.
Последний раз редактировалось STM32F0; 21.04.2015 в 13:38.
|
|
|
|
21.04.2015, 13:37
|
#184
|
Почётный гражданин KAZUS.RU
Регистрация: 27.01.2005
Адрес: Россия, КЧР, Нижний Архыз
Сообщений: 3,628
Сказал спасибо: 115
Сказали Спасибо 813 раз(а) в 590 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от Bill
|
Только вот нужно ли?
|
Нужно. Потому как сильно освобождает ядро для других процессов.
В прерываниях как-то некошерно. Ладно, у STM8 нет DMA, там приходится с 1-wire работать в прерываниях (в прерывании compare/capture по переднему фронту мы обрабатываем принятый бит и отсылаем следующий) и отправлять очередной байт по таймеру, где-нибудь так раз в миллисекунду (в конечном автомате).
А у STM32 все это есть. Можно вообще весь цикл отправки (даже вместе с резетом) откинуть в DMA и не париться. А как все обработает, в прерывании DMA выставить флажок готовности, в основном же КА тупо проверять этот флаг — как готово, преобразовывать полученные данные и запускать следующую передачу.
__________________
Союз Советских Социалистических Округов Северной Америки
|
|
|
|
21.04.2015, 13:50
|
#185
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от eddy
|
Нужно. Потому как сильно освобождает ядро для других процессов.
В прерываниях как-то некошерно. Ладно, у STM8 нет DMA, там приходится с 1-wire работать в прерываниях (в прерывании compare/capture по переднему фронту мы обрабатываем принятый бит и отсылаем следующий) и отправлять очередной байт по таймеру, где-нибудь так раз в миллисекунду (в конечном автомате).
А у STM32 все это есть. Можно вообще весь цикл отправки (даже вместе с резетом) откинуть в DMA и не париться. А как все обработает, в прерывании DMA выставить флажок готовности, в основном же КА тупо проверять этот флаг — как готово, преобразовывать полученные данные и запускать следующую передачу.
|
А что значит кошерно или не кошерно? Программа должна просто выполнять свои функции, и не более того. И потом, если вся моя программа со всеми обработчиками прерываний содержит примерно столько же строк исходного текста, сколько требуется для инициализации одного только DMA, то в чем его прелесть?
|
|
|
|
21.04.2015, 13:54
|
#186
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от STM32F0
|
Через ДМА, по сути, любой.
По крайней мере есть выбор, разве это плохо?
А почему и нет, если он есть? МК практически свободен, всё хардварно, на формирование времянок практически ничего не влияет, в том числе и прерывания.
Можно крутить несколько дисплеев, несколько датчиков и ещё и IR. И всё это одновременно и независимо.
|
Насчет DMA и манипуляции битом порта таймером поясните, pls.
Да я все понимаю, когда есть ресурсы на "борту", много чего можно сделать. А если мне много чего просто не нужно. Тогда как?
|
|
|
|
21.04.2015, 14:06
|
#187
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от Bill
|
Насчет DMA и манипуляции битом порта таймером поясните, pls.
|
Через ДМА и BSRR можно управлять как отдельным битом, так и группой любых бит одного порта.
Сообщение от Bill
|
А если мне много чего просто не нужно. Тогда как?
|
Тогда священный ногодрыг и запрет синодом прерываний, чтобы ничего не спортилось.
|
|
|
|
21.04.2015, 14:12
|
#188
|
Гражданин KAZUS.RU
Регистрация: 02.06.2003
Адрес: Челябинск
Сообщений: 545
Сказал спасибо: 10
Сказали Спасибо 341 раз(а) в 202 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от STM32F0
|
Через ДМА и BSRR можно управлять как отдельным битом, так и группой любых бит одного порта.
|
Ну, теперь до меня дошло. BSRR я как-то выпустил из виду.
|
|
|
|
21.04.2015, 17:47
|
#189
|
Заблокирован
Регистрация: 20.04.2015
Сообщений: 17
Сказал спасибо: 3
Сказали Спасибо 0 раз(а) в 0 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Bill,
лично я имел ввиду что без разницы что писать
LD mov out port
это просто вариации ассемблера
тоесть выражаясь иначе
LD out,a это на самсунгах и Z80
mov portc,a это для других процов
ногодрыг будет всегда потому что всегда будут устройства ниже 100р.
и поэтому всегда будет и i2с программный и spi и 1wire и uart и ШИМ и прочие вещи, а то что тут могут предложить динамическую индикацию например на трёх разрядном LED вольтметре с использованием ПДП для выравнивания яркости
это круто
но яб это рассмотрел для приборной панели на 300 светодиодов
Последний раз редактировалось *prostor*; 21.04.2015 в 17:49.
|
|
|
|
21.04.2015, 18:09
|
#190
|
Заблокирован
Регистрация: 22.04.2014
Сообщений: 0
Сказал спасибо: 15
Сказали Спасибо 366 раз(а) в 284 сообщении(ях)
|
Re: Частотметр из вольтметра STM8 stm8s stm8s003f3p6 stm8s103f3p6
Сообщение от *prostor*
|
ногодрыг будет всегда потому что всегда будут устройства ниже 100р.
|
Ногодрыг-задротство уже обсуждалось 10037389746 раз, все темы этим усеяны.
Сообщение от *prostor*
|
поэтому всегда будет и i2с программный и spi и 1wire и uart и ШИМ и прочие вещи
|
i2с программный ладно, там всегда всё отвратительно, остальное - как самый плохой случай, если уже никак.
Сообщение от *prostor*
|
а то что тут могут предложить динамическую индикацию например на трёх разрядном LED вольтметре с использованием ПДП для выравнивания яркости
это круто
но яб это рассмотрел для приборной панели на 300 светодиодов
|
Да хоть 100000 светодиодов. Значит вы ничего так и не поняли.
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 07:18.
|
|