Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1231
Зарегистрирован: Ср янв 29, 2014 08:41:31
Откуда: Баку

Сообщение Zhuk72 »

[uquote="Zhuk72",url="/forum/viewtopic.php?p=3197856#p3197856"]ЦП никогда не простаивает, если находится не в спящем режиме.[/uquote]
Каждый имеет право на свое личное ошибочное мнение.

У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 15778
Зарегистрирован: Вт мар 16, 2010 22:02:27
Откуда: ДОНЕЦК

Сообщение BOB51 »

Смотря что считать "загрузкой"...
Простой перебор адресного счетчика или работу АЛУ на соответствующих вычислениях...
:roll:
Реклама
Собутыльник Кота
Аватара пользователя
Сообщения: 2708
Зарегистрирован: Сб май 14, 2011 21:16:04
Откуда: г. Чайковский

Сообщение Z_h_e »

Я думаю загрузкой программного ресурса можно считать отношение количества тактовых импульсов потраченное на выполнение полезных команд за время к тактовой частоте. Время конечно же должно быть тем же самым что и для измерения частоты.
Изображение
Добро всегда побеждает зло. Поэтому кто победил - тот и добрый.
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Ср апр 24, 2013 19:33:05

Сообщение Valek174 »

Здравствуйте. Пробежался по сайту, но ответа не нашол.
Задача посчитать время между сработкой двух датчиков.
Имеется STM8S, счетный регистр ТАЙМЕР1. Он состоит из 2-х. Как считать данные с двух регистров в одну переменную?
Среда программирования IAR.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

Как считать данные с двух регистров в одну переменную?
так например:

Код: Выделить всё

	uint16_t tmpcntr;
	tmpcntr = ((uint16_t) TIM1->CNTRH << 8);
	/* Get the Counter Register value */
	tmpcntr = (uint16_t) ((tmpcntr | (uint16_t) (TIM1->CNTRL)));
Реклама
Первый раз сказал Мяу!
Сообщения: 21
Зарегистрирован: Ср апр 24, 2013 19:33:05

Сообщение Valek174 »

Почему H и L меняются местами?

Добавлено after 44 minutes 38 seconds:
Какой-то глюк отладчика. После записи данных в регистр и присвоение переменной, несколько раз нажимал кнопки запустить остановить и данные в переменной менялись, хотя значения счетчика не менялись.
Вложения
Безымянный.png
(24.64 КБ) 319 скачиваний
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3832
Зарегистрирован: Сб сен 10, 2011 17:46:25

Сообщение oleg110592 »

по картинке переменная находится в 16 битном регистре X (XL XH), вроде STM8 big endian
попробуйте volatile unsigned int i
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Добрый день, подскажите пожалуйста чем отличаются программаторы
Этот
https://ru.aliexpress.com/item/USB-Blas ... 46870.html?
и этот
https://ru.aliexpress.com/item/FT245-CP ... 26357.html?
Думаю заказать вот такую плату
https://ru.aliexpress.com/item/Free-shi ... 28421.html?
И там продавец советует купить второго типа.
Родился
Сообщения: 1
Зарегистрирован: Пт ноя 17, 2017 23:33:55

Сообщение Anqueitas »

Доброго времени суток. Возникла проблема у меня во время симуляции. Собственно говоря, что за устройство я придумал: небольшая светлодиодная лента, при включении которой светлодиоды зажигаются поочередно с интервалом в 2 с. Проще говоря даем питание, светлодиоды загоряются последовательно и горят аж до отключения питания.
Программа, которую использовал для симуляции - Proteus.
Микроконтроллер: PIC16F84A
Компилятор: асэмблер
Суть проблемы: после компиляции программы и нажатия кнопки"плэй" в протэусе светлодиоды включаются как и было нужно последовательно с интервалом 2 с и горят до отключения питания, но после включения питания снова, загоряется сразу несколько светлодиодов все вместе, причем после каждого включения/ выключения это разные светлодиоды. Подскажите в чем проблема, код написан вроде правильно и все должно работать...
Код программы:


LIST p=16F84A
__CONFIG 03FF1H
PORTB equ 06h
TRISB equ 06h
STATUS equ 03h
Reg_1 equ 10h
Reg_2 equ 11h
Reg_3 equ 2Bh
org 0
bsf STATUS,5
bcf TRISB,4
bcf TRISB,5
bcf TRISB,6
bcf TRISB,7
bcf STATUS,5
bsf PORTB,4
call METKA
bsf PORTB,5
call METKA2
bsf PORTB,6
call METKA3
bsf PORTB,7
METKA movlw .93
movwf Reg_1
movlw .38
movwf Reg_2
movlw .11
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
nop
return
METKA2 movlw .93
movwf Reg_1
movlw .38
movwf Reg_2
movlw .11
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
nop
return
METKA3 movlw .93
movwf Reg_1
movlw .38
movwf Reg_2
movlw .11
movwf Reg_3
decfsz Reg_1,F
goto $-1
decfsz Reg_2,F
goto $-3
decfsz Reg_3,F
goto $-5
nop
nop
return


end
end
Встал на лапы
Аватара пользователя
Сообщения: 83
Зарегистрирован: Вс ноя 01, 2015 00:09:59

Сообщение Core-X »

Подскажете по симисторам. Есть симисторы 4Q и 3Q. Вопрос по управлению. Что бы открыть 4Q триак, при любой полуволне +/- (~220V), достаточно подать положительный потенциал на гейт, а вот как управлять 3Q триаком чет не могу въехать :dont_know:
Для связи email: risctronix собака gmail.com
Друг Кота
Аватара пользователя
Сообщения: 7083
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

на сколько помню по своему опыту: если на УЭ подавать плюс, он будет открываться только на одну полуволну, вышел из положения так - сделал общим не минус, а плюс (БП теперь даёт минус 5в относительно общего провода), соответственно сигнал на УЭ стал отрицательным и прибор заработал на обеих полуволнах. если есть опторазвязка (а по уму она должна быть) то всё становится проще (даже схему менять не придётся) — вешай оптопару (или двунаправленную или с мостиком) между К2 и УЭ и симистор будет работать на разрешенной плолжительной полуволне, и на отрицательной (они обе открывают).
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Друг Кота
Аватара пользователя
Сообщения: 17234
Зарегистрирован: Чт апр 04, 2013 12:46:59
Откуда: Тюмень

Сообщение Slabovik »

Удобнее подавать отрицательный ток в гейт. Тогда он работает в первом и третьем квадрантах. А в первом и третьем умеют все симисторы.
Контактная информация:
WSK
Родился
Сообщения: 4
Зарегистрирован: Пн окт 12, 2015 20:11:59

Сообщение WSK »

Маленький вопросик - прошил в Atmega32u4 вот прошивку отсюда http://www.rlocman.ru/shem/schematics.html?di=112406
Прошивал через USB, взял исходники, скомпилил, получил hex, залил в МК через FLIP. Всё окей, прошилось нормально.
Но, теперь не могу залить ничего другого в МК. Контроллер всегда в режиме устройства HID, и FLIP не видит его.
Чего только не пробовал, замыкал резет на землю, включал МК с зажатым резетом - никакого толку. При отпускании резета в диспетчере устройств МК снова переходит в режим HID.
WSK
Родился
Сообщения: 4
Зарегистрирован: Пн окт 12, 2015 20:11:59

Сообщение WSK »

Всё, разобрался, надо использовать Reset+HWB. Зажал каждый на землю, затем отпустил Reset, затем HWB. И вуаля, можно шить.
Встал на лапы
Аватара пользователя
Сообщения: 83
Зарегистрирован: Вс ноя 01, 2015 00:09:59

Сообщение Core-X »

Спасибо за ответ. Ну все таки не до конца мне понятно как управлять 3Q симистором. Как я понял и разного рода прочитанных статей. Что бы открыть 3Q симистор, сигнал на гейте должен соответствовать той полуволне которая поступает на симистор. То есть, если положительна полуволна то на гейт подается с МК +5V (лог.1), если отрицательная полуволна то 0V (лог.0). Я прав, или мои умозаключения неверны? И кстати, зачем инвертировать напряжение питания, то есть делать общим +?
Для связи email: risctronix собака gmail.com
Друг Кота
Аватара пользователя
Сообщения: 7083
Зарегистрирован: Пт ноя 11, 2016 05:48:09
Откуда: Сердце Пармы

Сообщение Ivanoff-iv »

http://radiokot.ru/forum/viewtopic.php?f=25&t=139356 тут моя схемка есть, на ней видно общий плюс ииуправление симистором.
Для тех, кто не учил магию мир полон физики :)
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Chettuser

Сообщение Chettuser »

Подскажите по таймерам STM32.
Пролистал все разделы RM0008 по таймерам с 14-го по 17-й, но так и не понял - соединять таймеры для управления друг другом можно любые или только какие то определённые пары? Интересует возможность управления с помощью одного таймера другим, т.е. таблички 82, 86, 89 (TIMx internal trigger connection) ничего не дают.
Спасибо.
Опытный кот
Аватара пользователя
Сообщения: 791
Зарегистрирован: Вт июн 17, 2014 00:34:26

Сообщение baghear »

Там есть табличка в которой написано кто для кого мастер, а кто для кого слэйв. Это для 303.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1132
Зарегистрирован: Пт фев 16, 2007 14:18:20
Откуда: Новосибирск

Сообщение Chip115 »

всем привет!
Пните, пожалуйста, в нужном направлении.
В общем, есть девайс, который должен гнать данные в комп через WiFi.
Комп подключен к WiFi роутеру по Ethernet. Для компа планируется написать простейшую прогу для отображения принятых данных. Вопрос в том,с чего начать? Ни разу не имел дело с сетью (ни вифи, не изернет). Я так понял что проще гонять данные через UDP протокол?
Как дынные попадут в комп?
В структуре UDP есть поля. IP отправителя/получателя, порт отправителя/получателя.
В общем случае, на компе открывается UDP сокет, роутер сам пнет данные на нужный IP и потом, магическим образом,дынные попадут в нужный виртуальный порт. Так? Я еще знаю такие слова как POST, GET запрос. Это можно как-нибудь сюда "прикрутить"? Вообще в правильном направлении рою? В инете инфы дофига. Глаза разбегаются,потому прошу помощи определить в каком направлении рыть. Спасибо.
P.S пока в гугле не забанили - гуглю UDP-клиент
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
Контактная информация:
abc
Друг Кота
Аватара пользователя
Сообщения: 3696
Зарегистрирован: Чт мар 20, 2008 01:06:40
Откуда: Севастополь

Сообщение abc »

В общем, есть девайс, который должен гнать данные в комп через WiFi.
Так, вроде, протокол общения между ними определяется самим девайсом, нет ?
Сам писал на Delphi, используя idHTTP, в сети есть много примеров.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Ответить

Вернуться в «Разные вопросы по МК»