Страница 563 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 21, 2015 19:11:47
Ратмир
Один PIC прошил

мать ее за ногу

прошил
с индексом 16F84A 20P через адаптер USB-COM и говеный кит NV9215
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 21, 2015 19:52:26
alex_
Прошил, всё таки, ну это неплохой результат, а в чём дело то было?
Кстати где то видел может и ошибаюсь, что если в программаторе поставить тип камня без буквы А а камень с А то вроде тоже шить не будет. Я шью обычным экстрапиком и IC-PROG'ом, не идеал но проблем с ним не было.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 21, 2015 20:30:49
Ратмир
По ходу тот PIC который мучил был дохлый, завтра попробую ещё один прошить, если прошьется, напишу что и как.
Единственно не задача ,вставил прошитый PIC. В устройство, все показывает, считает. Но каждые 2 сек. МК презагружается. Может фьюзы коряво прошли. Х.З.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср окт 21, 2015 22:11:32
Chettuser
А я 18F2550 для PICkit 2 прошивал через PICPgm. С остальными не получалось ни в какую.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт окт 22, 2015 18:07:30
Ратмир
Сегодня пробовал другие прошить, фиг вам называется.
два с большим током 16F84А -04I/P , сразу выкинул, я их сжег еще в начале

.
два других 16F84А -04/P один считывается не пишется, другой не считывается не пишется

ток на БП 0.01А
по ходу им нужен PICKIT2/
Тот единственный который шьется ток на БП 0.01А, Понипрог ругается "ошибка-24", но я ставлю "игнор" и зашиваю. и он выдает долгожданное.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 23, 2015 19:58:47
Chettuser
Пните кусками verilog'а для синхронных и асинхронных счётчиков, плиз. Кому не жалко. Поизучать хочу. Спасибо.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 23, 2015 21:00:14
hybroid
Если используется Altera, то Quartus II может выдать куски.
Ну и гугл богат...
http://marsohod.org/verilog/158-verilogpictcnt
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 23, 2015 21:22:22
Chettuser
На марсоходе смотрел в первую очередь, но там речь о синхронном сбросе. В упор не вижу синхронного счёта.
А вот про куски у квартуса можно поподробнее? Чего ему подсунуть?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт окт 23, 2015 21:36:50
hybroid
Два первых примера на марсоходе - это что?
Во втором - самый наасинхроннейший сброс.
А про квартус: у него есть примеры кода.
http://quartushelp.altera.com/14.1/merg ... mplate.htm
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 24, 2015 08:08:19
Chettuser
Мне не нужен сброс, мне нужен счёт - синхронный и асинхронный.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 24, 2015 08:24:13
hybroid
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб окт 24, 2015 21:06:47
FireProoF
Всем привет. Встала задача обрабатывать нажатия кнопки особым образом. При вкл МК светодиод просто горит. Нажимаем и отпускаем кнопку, диод начинает мигать. Еще раз нажимаем и отпускам - горит ровно. И так далее.
Чет запутался. от код:
Спойлер
while(1)
{
while(state)
{
button_state = GPIO_ReadInputPin(GPIOA, GPIO_PIN_1);
if(!button_state)
{
state = !state;
}
while(delay--)
{
nop();
}
delay = 10000;
GPIO_WriteReverse(GPIOB, GPIO_PIN_5);
}
GPIO_WriteLow(GPIOB, GPIO_PIN_5);
button_state = GPIO_ReadInputPin(GPIOA, GPIO_PIN_1);
if(!button_state)
{
state = !state;
}
}
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 25, 2015 09:29:46
amd9800
Я думаю что тут нет ничего особенно в обработке.
Во первых вы должны (либо в голове, либо на бумаге) нарисовать схему происходящего.
Дальше решится когда выполняется действие - при нажатии кнопки или при ее отпускании.
А потом уже перейти к самому процессу написания программы.
Например мы решаем что действие будет выполнятся при отпускании. Тогда настраиваем выполнение прерывания "кнопки" при таком фронте сигнала когда у нас кнопка отпускается.
За ранее мы должны определить некую глобальную переменную например "mode", которая будет принимать значение от 0 до 255
(unsigned char). И мы будем знать что 0 - это первое действие, 1 - второе, 2 - третье, 3 - 4 действие.
В обработке нажатия кнопки пишем простой код.
mode++;
if (mode>3) {mode=0;}
мы инкреминтируем mode.
И сбрасываем его в ноль если значение больше 3.
Таким образом значение mode будет 0, 1, 2, 3.
Теперь уже в основном цикле программы то есть в "main" пишем наш код который управляет светодиодом.
А точнее мы пишем все 4 сценария и в зависимости от значения переменной mode выполняем нужный сценарий.
Если не хотим использовать прерывание, тогда можем в самой функции main сделать блок который обрабатывает нажатие кнопки и меняет значение переменной mode или лучше написать функции обработчик кнопки и функцию просто добавить в main.
И еще один совет - каждое вложение надо сдвигать на пару символов в право, чтоб программа была читабельнее.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 25, 2015 09:46:11
КРАМ
amd9800 писал(а):
В обработке нажатия кнопки пишем простой код.
Можно компактнее:
Остальное не комментирую, ибо защита от дребезга формируется просто интервалом опроса (прерывание от кнопки вообще не требуется), а нажатие-отжатие иным способом, нежели описано в цитате.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 25, 2015 10:10:02
FireProoF
Ну я так и делаю:
Спойлер
Код: Выделить всё
while(1)
{
if(!GPIO_ReadInputPin(GPIOA, GPIO_PIN_1) & button_state)//if button is pressed
{
while(pause--)
{
nop();
}
pause = 1000;
if(!GPIO_ReadInputPin(GPIOA, GPIO_PIN_1) & button_state)
{
while(GPIO_ReadInputPin(GPIOA, GPIO_PIN_1));
while(pause--)
{
nop();
}
pause = 1000;
state = !state;
button_state = 0;
}
}
if(state)
{
while(delay--)
{
nop();
}
delay = 10000;
GPIO_WriteReverse(GPIOB, GPIO_PIN_5);
while(delay--)
{
nop();
}
delay = 10000;
GPIO_WriteReverse(GPIOB, GPIO_PIN_5);
button_state = 1;
}
else
{
GPIO_WriteLow(GPIOB, GPIO_PIN_5);
button_state = 1;
}
}
Только запустить мигания могу, а выйти из него - нет.
Где-то с раза 20го удается остановить миганаие.
Поставил антидребезг в 5 раз больше. Вроде норм)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс окт 25, 2015 19:12:12
КРАМ
Алгоритм должен оставлять свободными почти все ресурсы ресурсы контроллера.
То есть при добавлении нового функционала он должен продолжать работать как будто он остался единственным.
Для этого берут какой нибудь захудалый таймер и делают его СИСТЕМНЫМ. То есть организуют на нем системный тик, который сводится к некоему периоду входа в прерывания по этому таймеру, где и организуют опрос кнопок, мигания светодиодами и всякую прочую медленную хрень.
Интервал опроса кнопок должен быть БОЛЬШЕ, чем их дребезг. Обычно хватает 20...30 мс.
Одновременно в этом же прерывании организуют программный счетчик времени нажатия (или отпускания). По каждому событию (нажатие или отпускание) счетчик сбрасывают и затыкают его при некоем таймауте (когда время слишком велико, чтобы он не сбросился при переполнении).
Сами события фиксируют в прерывании по системному таймеру следующим образом:
Код: Выделить всё
//после опроса button =1 - нажатая кнопка, button = 0 - отпущенная
if (button) {statButton = ((statButton<<1) + 1) & 0x3;} else {statButton = (statButton<<1) & 0x3;}
switch (statButton) {
case 1:
if (timerButton> N) { исполнение кода при нажатой кнопке после времени N}
timerButton = 0;
case 2:
if (timerButton> N) { исполнение кода при отпущенной кнопке после времени N}
timerButton = 0;
default:
if (timerButton<TIMEOUT) {timerButton++;}
}
Это просто пример, в кейсах можно делать все что заблагорассудится и не обязательно по таймеру.
statButton - это всего два разряда. Старший - это прежнее положение кнопки, а младший - текущее.
Ветка default может быть разделена на 0 - удерживается отпущенной и 3 - удерживается нажатой.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср ноя 04, 2015 20:41:19
kadenca
Здравствуйте, я новичок в программировании микроконтроллеров, пока только все изучаю и пробую на практике. Уже собрал несколько простых устройств и сам полностью написал программу.
Есть идея собрать самому устройство "POV часы" ("Часы пропеллер") вообщем примерно как тут "https://www.youtube.com/watch?v=Z6e4S2ArEJU". Хотелось бы взять микроконтроллер AVR.
Вот такие вопросы:
1. Как узнать, хотя бы примерно, какую надо выбрать тактовую частоту микроконтроллера для своего проекта?
2. И чем плохо выбирать максимальную тактовую частоту?
3. И какая тактовая частота нужна для такого проекта?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср ноя 04, 2015 21:29:23
oleg63m
Ратмир писал(а):Сегодня пробовал другие прошить....
проблема может быть именно в переходнике. надо бы попробовать на настоящем сом порте, я пробовал когда-то с проллификом, похожая байда получалась. потом в большинства программ-шеллов есть движок задержки, рядом с настройками. его можно подвигать. а еще можно поизучать материнку, иногда там есть потайной сом порт, только не выведен на разъем, одни ноги торчат. твой программатор именуется как JDM
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вт ноя 10, 2015 17:17:22
Arachna
Списываются куча UPS с МК на плате управления. Образуется ~
40шт - 72F324J6T5 TQFP44
15шт - 72F63BK4M1 SO34
На что они годны? Имеет смысл браться за их изучение?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Ср ноя 11, 2015 09:24:05
SubDia
Обычные 8-битные МК с достаточно скудной периферией и протоколом программирования ISP. Первые имеют на борту по 32 кБ флэш. Для простеньких свистоперделок пойдут. Среда разработки - STMовская STVD, для программирования - STVP. В принципе, при желании можно и поковырять.