Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Вс ноя 05, 2017 08:21:31
Как считать данные с двух регистров в одну переменную?
так например:
- Код:
uint16_t tmpcntr;
tmpcntr = ((uint16_t) TIM1->CNTRH << 8);
/* Get the Counter Register value */
tmpcntr = (uint16_t) ((tmpcntr | (uint16_t) (TIM1->CNTRL)));
Вс ноя 05, 2017 10:39:37
Почему H и L меняются местами?
Добавлено after 44 minutes 38 seconds:Какой-то глюк отладчика. После записи данных в регистр и присвоение переменной, несколько раз нажимал кнопки запустить остановить и данные в переменной менялись, хотя значения счетчика не менялись.
- Вложения
-
- Безымянный.png
- (24.64 KiB) Скачиваний: 289
Вс ноя 05, 2017 11:04:08
по картинке переменная находится в 16 битном регистре X (XL XH), вроде STM8 big endian
попробуйте volatile unsigned int i
Пт ноя 24, 2017 19:38:23
Доброго времени суток. Возникла проблема у меня во время симуляции. Собственно говоря, что за устройство я придумал: небольшая светлодиодная лента, при включении которой светлодиоды зажигаются поочередно с интервалом в 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
Чт ноя 30, 2017 13:23:38
Подскажете по симисторам. Есть симисторы 4Q и 3Q. Вопрос по управлению. Что бы открыть 4Q триак, при любой полуволне +/- (~220V), достаточно подать положительный потенциал на гейт, а вот как управлять 3Q триаком чет не могу въехать
Чт ноя 30, 2017 15:28:56
на сколько помню по своему опыту: если на УЭ подавать плюс, он будет открываться только на одну полуволну, вышел из положения так - сделал общим не минус, а плюс (БП теперь даёт минус 5в относительно общего провода), соответственно сигнал на УЭ стал отрицательным и прибор заработал на обеих полуволнах. если есть опторазвязка (а по уму она должна быть) то всё становится проще (даже схему менять не придётся) — вешай оптопару (или двунаправленную или с мостиком) между К2 и УЭ и симистор будет работать на разрешенной плолжительной полуволне, и на отрицательной (они обе открывают).
Чт ноя 30, 2017 18:26:03
Удобнее подавать отрицательный ток в гейт. Тогда он работает в первом и третьем квадрантах. А в первом и третьем умеют все симисторы.
Вс дек 03, 2017 22:21:48
Маленький вопросик - прошил в Atmega32u4 вот прошивку отсюда
http://www.rlocman.ru/shem/schematics.html?di=112406Прошивал через USB, взял исходники, скомпилил, получил hex, залил в МК через FLIP. Всё окей, прошилось нормально.
Но, теперь не могу залить ничего другого в МК. Контроллер всегда в режиме устройства HID, и FLIP не видит его.
Чего только не пробовал, замыкал резет на землю, включал МК с зажатым резетом - никакого толку. При отпускании резета в диспетчере устройств МК снова переходит в режим HID.
Вс дек 03, 2017 22:31:50
Всё, разобрался, надо использовать Reset+HWB. Зажал каждый на землю, затем отпустил Reset, затем HWB. И вуаля, можно шить.
Вс дек 03, 2017 23:39:33
Спасибо за ответ. Ну все таки не до конца мне понятно как управлять 3Q симистором. Как я понял и разного рода прочитанных статей. Что бы открыть 3Q симистор, сигнал на гейте должен соответствовать той полуволне которая поступает на симистор. То есть, если положительна полуволна то на гейт подается с МК +5V (лог.1), если отрицательная полуволна то 0V (лог.0). Я прав, или мои умозаключения неверны? И кстати, зачем инвертировать напряжение питания, то есть делать общим +?
Пн дек 04, 2017 04:34:37
viewtopic.php?f=25&t=139356 тут моя схемка есть, на ней видно общий плюс ииуправление симистором.
Вт дек 05, 2017 20:05:51
Подскажите по таймерам STM32.
Пролистал все разделы RM0008 по таймерам с 14-го по 17-й, но так и не понял - соединять таймеры для управления друг другом можно любые или только какие то определённые пары? Интересует возможность управления с помощью одного таймера другим, т.е. таблички 82, 86, 89 (TIMx internal trigger connection) ничего не дают.
Спасибо.
Ср дек 06, 2017 01:51:51
Там есть табличка в которой написано кто для кого мастер, а кто для кого слэйв. Это для 303.
Вт дек 12, 2017 08:23:59
всем привет!
Пните, пожалуйста, в нужном направлении.
В общем, есть девайс, который должен гнать данные в комп через WiFi.
Комп подключен к WiFi роутеру по Ethernet. Для компа планируется написать простейшую прогу для отображения принятых данных. Вопрос в том,с чего начать? Ни разу не имел дело с сетью (ни вифи, не изернет). Я так понял что проще гонять данные через UDP протокол?
Как дынные попадут в комп?
В структуре UDP есть поля. IP отправителя/получателя, порт отправителя/получателя.
В общем случае, на компе открывается UDP сокет, роутер сам пнет данные на нужный IP и потом, магическим образом,дынные попадут в нужный виртуальный порт. Так? Я еще знаю такие слова как POST, GET запрос. Это можно как-нибудь сюда "прикрутить"? Вообще в правильном направлении рою? В инете инфы дофига. Глаза разбегаются,потому прошу помощи определить в каком направлении рыть. Спасибо.
P.S пока в гугле не забанили - гуглю UDP-клиент
Вт дек 12, 2017 10:44:24
В общем, есть девайс, который должен гнать данные в комп через WiFi.
Так, вроде, протокол общения между ними определяется самим девайсом, нет ?
Сам писал на Delphi, используя idHTTP, в сети есть много примеров.
Вт дек 12, 2017 11:17:30
на девайсе можно ли запустить web server? Данные можно тогда отобразить в браузере. Когда то для планшета на андроиде делал на основе этого:
http://tuxgraphics.org/electronics/2006 ... rver.shtmlпрограмка для андроида писана на java (java на PC тоже работает
), примеров полно, что то типа:
- Код:
URL myUrl = new URL((String)"http://192.168.1.10");
URLConnection conn = myUrl.openConnection();
посылаем запрос:
conn.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(conn.getOutputStream());
out.write("UPDATE");
out.write("\r\n");
out.flush();
out.close();
читаем ответ:
BufferedReader in = new BufferedReader(new InputStreamReader(conn.getInputStream()));
парсим ответ в буфере
in.close();
Ср дек 13, 2017 02:54:36
abc писал(а):Так, вроде, протокол общения между ними определяется самим девайсом, нет ?
Пока задача стоит просто передавать какие-то данные (температуру, например) и отображение этих данных в окне клиентской программы на компьютере. Я думаю сделать так. Устройство будет UDP сервером и постоянно (с неким периодом) посылать данные к клиенту. Клиент постоянно слушает порт и всё, что приходит (в данном случае UDP пакет) парсит, извлекает из поля data данные и выводит их на экран. Без запросов, без ответов. Поток данных только от сервера к клиенту.
oleg110592 писал(а):на девайсе можно ли запустить web server?
Не хотелось бы. В этой задаче я хочу поиметь опыт написания сетевого приложения для ПК. Писать буду на Qt. Если все получится (задача придумана исключительно в целях развития), то может даже статейку набросаю. Может кому-нибудь пригодится ))
Ср дек 13, 2017 15:09:19
Устройство будет UDP сервером и постоянно (с неким периодом) посылать данные к клиенту. Клиент постоянно слушает порт
тот, кто слушает порт - сервер, а клиенты - те, кто на него стучится.
Чт дек 21, 2017 09:12:01
Доброго времени суток. У меня вопрос. Какие *.h подключать В MPLAB X в компилляторе XC-16 для микроконтроллера pic24? В компилляторе в папке "includes" нет ни одного файла вида pic.h, p24fxxxx.h и т.д, хотя в темплейсах четко прописано, что подключать надо его.
Добавлено after 10 minutes 56 seconds:
Переустановка компиллятора ни к чему не привела.
Powered by phpBB © phpBB Group.
phpBB Mobile / SEO by Artodia.