У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Мелкие вопросы по МК и ПЛИС.
[uquote="Zhuk72",url="/forum/viewtopic.php?p=3197856#p3197856"]ЦП никогда не простаивает, если находится не в спящем режиме.[/uquote]
Каждый имеет право на свое личное ошибочное мнение.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
- Реклама
Смотря что считать "загрузкой"...
Простой перебор адресного счетчика или работу АЛУ на соответствующих вычислениях...

Простой перебор адресного счетчика или работу АЛУ на соответствующих вычислениях...
Я думаю загрузкой программного ресурса можно считать отношение количества тактовых импульсов потраченное на выполнение полезных команд за время к тактовой частоте. Время конечно же должно быть тем же самым что и для измерения частоты.
- Сообщения: 21
- Зарегистрирован: Ср апр 24, 2013 19:33:05
Здравствуйте. Пробежался по сайту, но ответа не нашол.
Задача посчитать время между сработкой двух датчиков.
Имеется STM8S, счетный регистр ТАЙМЕР1. Он состоит из 2-х. Как считать данные с двух регистров в одну переменную?
Среда программирования IAR.
Задача посчитать время между сработкой двух датчиков.
Имеется STM8S, счетный регистр ТАЙМЕР1. Он состоит из 2-х. Как считать данные с двух регистров в одну переменную?
Среда программирования IAR.
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
так например:Как считать данные с двух регистров в одну переменную?
Код: Выделить всё
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
Почему H и L меняются местами?
Добавлено after 44 minutes 38 seconds:
Какой-то глюк отладчика. После записи данных в регистр и присвоение переменной, несколько раз нажимал кнопки запустить остановить и данные в переменной менялись, хотя значения счетчика не менялись.
Добавлено after 44 minutes 38 seconds:
Какой-то глюк отладчика. После записи данных в регистр и присвоение переменной, несколько раз нажимал кнопки запустить остановить и данные в переменной менялись, хотя значения счетчика не менялись.
- Вложения
-
- Безымянный.png
- (24.64 КБ) 319 скачиваний
- Сообщения: 3832
- Зарегистрирован: Сб сен 10, 2011 17:46:25
по картинке переменная находится в 16 битном регистре X (XL XH), вроде STM8 big endian
попробуйте volatile unsigned int i
попробуйте volatile unsigned int i
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
Добрый день, подскажите пожалуйста чем отличаются программаторы
Этот
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?
И там продавец советует купить второго типа.
Этот
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
Доброго времени суток. Возникла проблема у меня во время симуляции. Собственно говоря, что за устройство я придумал: небольшая светлодиодная лента, при включении которой светлодиоды зажигаются поочередно с интервалом в 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
Программа, которую использовал для симуляции - 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
Подскажете по симисторам. Есть симисторы 4Q и 3Q. Вопрос по управлению. Что бы открыть 4Q триак, при любой полуволне +/- (~220V), достаточно подать положительный потенциал на гейт, а вот как управлять 3Q триаком чет не могу въехать 
Для связи email: risctronix собака gmail.com
на сколько помню по своему опыту: если на УЭ подавать плюс, он будет открываться только на одну полуволну, вышел из положения так - сделал общим не минус, а плюс (БП теперь даёт минус 5в относительно общего провода), соответственно сигнал на УЭ стал отрицательным и прибор заработал на обеих полуволнах. если есть опторазвязка (а по уму она должна быть) то всё становится проще (даже схему менять не придётся) — вешай оптопару (или двунаправленную или с мостиком) между К2 и УЭ и симистор будет работать на разрешенной плолжительной полуволне, и на отрицательной (они обе открывают).
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Удобнее подавать отрицательный ток в гейт. Тогда он работает в первом и третьем квадрантах. А в первом и третьем умеют все симисторы.
- Сообщения: 4
- Зарегистрирован: Пн окт 12, 2015 20:11:59
Маленький вопросик - прошил в Atmega32u4 вот прошивку отсюда http://www.rlocman.ru/shem/schematics.html?di=112406
Прошивал через USB, взял исходники, скомпилил, получил hex, залил в МК через FLIP. Всё окей, прошилось нормально.
Но, теперь не могу залить ничего другого в МК. Контроллер всегда в режиме устройства HID, и FLIP не видит его.
Чего только не пробовал, замыкал резет на землю, включал МК с зажатым резетом - никакого толку. При отпускании резета в диспетчере устройств МК снова переходит в режим HID.
Прошивал через USB, взял исходники, скомпилил, получил hex, залил в МК через FLIP. Всё окей, прошилось нормально.
Но, теперь не могу залить ничего другого в МК. Контроллер всегда в режиме устройства HID, и FLIP не видит его.
Чего только не пробовал, замыкал резет на землю, включал МК с зажатым резетом - никакого толку. При отпускании резета в диспетчере устройств МК снова переходит в режим HID.
- Сообщения: 4
- Зарегистрирован: Пн окт 12, 2015 20:11:59
Всё, разобрался, надо использовать Reset+HWB. Зажал каждый на землю, затем отпустил Reset, затем HWB. И вуаля, можно шить.
- Сообщения: 83
- Зарегистрирован: Вс ноя 01, 2015 00:09:59
Спасибо за ответ. Ну все таки не до конца мне понятно как управлять 3Q симистором. Как я понял и разного рода прочитанных статей. Что бы открыть 3Q симистор, сигнал на гейте должен соответствовать той полуволне которая поступает на симистор. То есть, если положительна полуволна то на гейт подается с МК +5V (лог.1), если отрицательная полуволна то 0V (лог.0). Я прав, или мои умозаключения неверны? И кстати, зачем инвертировать напряжение питания, то есть делать общим +?
Для связи email: risctronix собака gmail.com
http://radiokot.ru/forum/viewtopic.php?f=25&t=139356 тут моя схемка есть, на ней видно общий плюс ииуправление симистором.
Для тех, кто не учил магию мир полон физики 
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Безграмотно вопрошающим про силовую или высоковольтную электронику я не отвечаю, а то ещё посадят за участие в (само)убиении оболтуса...
Подскажите по таймерам STM32.
Пролистал все разделы RM0008 по таймерам с 14-го по 17-й, но так и не понял - соединять таймеры для управления друг другом можно любые или только какие то определённые пары? Интересует возможность управления с помощью одного таймера другим, т.е. таблички 82, 86, 89 (TIMx internal trigger connection) ничего не дают.
Спасибо.
Пролистал все разделы RM0008 по таймерам с 14-го по 17-й, но так и не понял - соединять таймеры для управления друг другом можно любые или только какие то определённые пары? Интересует возможность управления с помощью одного таймера другим, т.е. таблички 82, 86, 89 (TIMx internal trigger connection) ничего не дают.
Спасибо.
- Сообщения: 791
- Зарегистрирован: Вт июн 17, 2014 00:34:26
Там есть табличка в которой написано кто для кого мастер, а кто для кого слэйв. Это для 303.
всем привет!
Пните, пожалуйста, в нужном направлении.
В общем, есть девайс, который должен гнать данные в комп через WiFi.
Комп подключен к WiFi роутеру по Ethernet. Для компа планируется написать простейшую прогу для отображения принятых данных. Вопрос в том,с чего начать? Ни разу не имел дело с сетью (ни вифи, не изернет). Я так понял что проще гонять данные через UDP протокол?
Как дынные попадут в комп?
В структуре UDP есть поля. IP отправителя/получателя, порт отправителя/получателя.
В общем случае, на компе открывается UDP сокет, роутер сам пнет данные на нужный IP и потом, магическим образом,дынные попадут в нужный виртуальный порт. Так? Я еще знаю такие слова как POST, GET запрос. Это можно как-нибудь сюда "прикрутить"? Вообще в правильном направлении рою? В инете инфы дофига. Глаза разбегаются,потому прошу помощи определить в каком направлении рыть. Спасибо.
P.S пока в гугле не забанили - гуглю UDP-клиент
Пните, пожалуйста, в нужном направлении.
В общем, есть девайс, который должен гнать данные в комп через WiFi.
Комп подключен к WiFi роутеру по Ethernet. Для компа планируется написать простейшую прогу для отображения принятых данных. Вопрос в том,с чего начать? Ни разу не имел дело с сетью (ни вифи, не изернет). Я так понял что проще гонять данные через UDP протокол?
Как дынные попадут в комп?
В структуре UDP есть поля. IP отправителя/получателя, порт отправителя/получателя.
В общем случае, на компе открывается UDP сокет, роутер сам пнет данные на нужный IP и потом, магическим образом,дынные попадут в нужный виртуальный порт. Так? Я еще знаю такие слова как POST, GET запрос. Это можно как-нибудь сюда "прикрутить"? Вообще в правильном направлении рою? В инете инфы дофига. Глаза разбегаются,потому прошу помощи определить в каком направлении рыть. Спасибо.
P.S пока в гугле не забанили - гуглю UDP-клиент
Теория — это когда все известно, но ничего не работает. Практика — это когда все работает, но никто не знает почему. Мы же объединяем теорию и практику: ничего не работает… и никто не знает почему!
© Альберт Эйнштейн
© Альберт Эйнштейн
Так, вроде, протокол общения между ними определяется самим девайсом, нет ?В общем, есть девайс, который должен гнать данные в комп через WiFi.
Сам писал на Delphi, используя idHTTP, в сети есть много примеров.
>(*.*)<
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)
Котище огромно, ушасто, пушисто, глазасто, зубасто, колючелапо и мявай. (c)



