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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
МитяРа
Модератор
Сообщения: 11492
Зарегистрирован: Чт дек 11, 2008 14:52:26
Откуда: град Нижний

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

Сообщение МитяРа »

vbif87 писал(а):может намутил с портами:
AVR-ки не знаю, только МК51..
[img]http://radiokot.ru/forum/download/file.php?id=93376[/img][i][color=#000080][size=85]Между людьми возникает напряжение, если у них разный потенциал...[/size][/color][/i]
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

Prior to #include -ing the ds1820.h file, you must declare which microcontroller port and port bit are used for communication with the DS1820/DS18S20 through the 1 Wire bus.
Example:



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

/* specify the Atmega8515 port and bit used for the 1 Wire bus */
#asm
    .equ __w1_port=0x18 ;PORTB
    .equ __w1_bit=2
#endasm


/* include the DS1820/DS18S20 functions prototypes */
#include <ds1820.h>


Docendo discimus
vbif87
Открыл глаза
Сообщения: 67
Зарегистрирован: Пн мар 03, 2008 22:12:47

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

Сообщение vbif87 »

.equ __w1_bit=2 а что означает здесь 2?
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

Номер бита в порту.
Docendo discimus
vbif87
Открыл глаза
Сообщения: 67
Зарегистрирован: Пн мар 03, 2008 22:12:47

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

Сообщение vbif87 »

Посоветуйте схему генератора на 2 МГц, чтобы восстановить фьюзы на меге.
demiurg301
Опытный кот
Сообщения: 812
Зарегистрирован: Ср мар 18, 2009 21:14:33

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

Сообщение demiurg301 »

Подскажите стоит ли разрывать питание на SD карту(microSD) и какой вообще у неё ток потребления. А то сам контроллер в спяку увожу - там 20 мкА всего жрёт, не хотелось бы сильно повышать потребление.
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Всем привет!
Пишу прогу в CV AVR, моделирую в протеусе. Выходит такая фигня. Когда в тексте программы написал выражение:

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

#define K_SENS      317L 
                         
#define H_o         55L   
#define F_0         5767L 
.....
humidity=(((10000000L/TCNT1)*K_SENS)/1000-((10000000L/F_0)*K_SENS)/1000+H_o);
bin_2_seg7(humidity,&disp1,&disp0);
...


Прога начала глючить (на индикаторе вместо влажности выводится 88, а протеус стал выкидывать вот такие сообщения раз в 2 секунды (с таким периодом выполняется это вычисление) см. вложение.

Изображение

Причем как-то не сразу начал глючить. Сначала при определенных значениях выходных сигналов, а вот щас уже постоянно глючит. Если эту строку закоментить, то все остальное работает.
Причем если я на индикатор вывожу совершенно другое значение, даже константу, например:
bin_2_seg7(55,&disp1,&disp0);
а эта строка в коде присутствует, то все равно глючит также.
Проц ATtiny2313, занято флеша около 40%
Вложения
Proteus_msg.GIF
(50.52 КБ) 356 скачиваний
Последний раз редактировалось aam Вс дек 04, 2011 10:53:01, всего редактировалось 4 раза.
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Ради прикола попробовал написать:

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

humidity=1000/TCNT1;
bin_2_seg7(19,&disp1,&disp0);

и

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

humidity=1000*TCNT1;
bin_2_seg7(19,&disp1,&disp0);


В первом случае глюк повторяется - на индикаторе 88 и сообщения в окне.
Во-втором случае все норм, хотя переполнение налицо (переменная humidity типа unsigned char)
Что случилось с делением?

Ах, да... Еще не зависимо от работы проги, с этой прогой в окне с переменным вот такая лажа:
Изображение

Люди! Хэлп! Задолбался уже :solder:
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Люди! Ау!
Аватара пользователя
BCluster
Собутыльник Кота
Сообщения: 2512
Зарегистрирован: Пн апр 06, 2009 19:33:29
Откуда: Молдова, Кишинев
Контактная информация:

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

Сообщение BCluster »

Насчет последней лажи - если объявить переменные как volatile они будут показаны нормально в протеусе. Почему так - надо думать, возможно компилятор выполняет какие-то оптимизации.

Насчет всего остального - полный код и проект в протеусе предоставьте.
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Кароче, поисследова прогу - глючит операция деления.
Например, написал так:

frequency=5000;
humidity=100000/frequency;
глюка нет. Значение humidity=20;

Пишу:
frequency=5001;
humidity=100000/frequency;
Глючит. Значение humidity=20;

frequency=4999;
humidity=100000/frequency;
Глюка нет. Значение humidity=20;

frequency=4900;
humidity=100000/frequency;
Глючит. Значение humidity=20;

frequency=4001;
humidity=100000/frequency;
Глючит. Значение humidity=24;

frequency=4000;
humidity=100000/frequency;
Глюка нет. Значение humidity=25;

В общем, делит то вроде правильно, а в итоге фигня выходит какая-то... Придется наверно деление самому писать...
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Кароче с указателями я что-то намудрил...
Был вот такой текст:

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

unsigned char seg7_DC(unsigned char digt)
{
 return (PORT&0b10000000)|(~(DC_dig[digt]));
}
//-----Перевод двоичного числа в двоично-десятичный код--------------
void bin_2_seg7(unsigned char a, unsigned char* a1, unsigned char* a0)
{
 unsigned char i=0;
 while (a>9)
    {
     a=a-10;
     i++;
    };
 *a1=seg7_DC(i);
 *a0=seg7_DC(a);
}


Глюк происходил на записях *a1=seg7_DC(i); и *a0=seg7_DC(a);
Щас убрал к черту все указатели и написал тупо

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

disp1=seg7_DC(i);
disp0=seg7_DC(a);


через глобальные переменные. вроде не глючит :)
Аватара пользователя
ankrish
Опытный кот
Сообщения: 745
Зарегистрирован: Сб май 21, 2011 10:37:37
Откуда: Полоцк, Беларусь
Контактная информация:

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

Сообщение ankrish »

тупой вопрос( а может и нет), купил программтор AVRProg 910 USB
Изображение
всё запустилось, установил дрова, в общем всё ок.
а теперь главное, как програмировать на нём ATmega8?????(всмысле какие выводы куда тыркать, в основном там всё написано, но в замешательство меня ввело на программаторе два вывода: LED и PWR их нету на ATmege...)
Изображение
{АРХИТЕКТОР}
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

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

Сообщение SubDia »

Для программирования Меги Вам эти сигналы и не нужны. PWR - это питание для тарджет-котроллера (того, который программируете). Если питаете Мегу отдельным источником, можете об этом выводе позабыть. А LED - это, если мне не изменяет память, вывод, генерирующий меандр 1 МГц (для оживления контроллера при неверно зашитых фьюзах выбора источника тактового сигнала). :)
А с остальными все понятно - разъем промаркирован, одноименные выводы у Меги присутствуют.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
ankrish
Опытный кот
Сообщения: 745
Зарегистрирован: Сб май 21, 2011 10:37:37
Откуда: Полоцк, Беларусь
Контактная информация:

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

Сообщение ankrish »

SubDia писал(а):Для программирования Меги Вам эти сигналы и не нужны. PWR - это питание для тарджет-котроллера (того, который программируете)

типо VCC???
{АРХИТЕКТОР}
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

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

Сообщение SubDia »

Да. И Vcc, и AVcc.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
ankrish
Опытный кот
Сообщения: 745
Зарегистрирован: Сб май 21, 2011 10:37:37
Откуда: Полоцк, Беларусь
Контактная информация:

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

Сообщение ankrish »

то есть оба подключать, и Vcc, и AVcc?
{АРХИТЕКТОР}
Аватара пользователя
SubDia
Держит паяльник хвостом
Сообщения: 995
Зарегистрирован: Сб апр 02, 2011 17:59:22
Откуда: Город-герой Севастополь

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

Сообщение SubDia »

Подключать. AVcc - питание аналоговой части. С АЦП будете работать?
И документацию на контроллер полистайте, там много ответов на вопросы.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )
Изображение
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

и VCC и AVCC подключать ОБЯЗАТЕЛЬНО!!! Спалите навиК! Только вот если хотите работать с АЦП, то там в ДШ есть схемка фильтра как лучше подключать этот вывод и как его разводить на плате, а если АЦП не юзаете, то просто соедините VCC и AVCC вместе.
R1d3
Встал на лапы
Сообщения: 123
Зарегистрирован: Вс июл 18, 2010 09:03:01

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

Сообщение R1d3 »

Добрый вечер вот вылезла такая проблема пытаюсь прошить 16f876а и постоянно выскакивает ошибка то 0001h то 0000h и т.д уже пробывал и другой ставить камень и пробывал другой прошивкой не хочет. Хотя недавно прошил 876 всё нормально. Думал программатор глючит взял 628а так ради интереса проверить, шьет нормально. Программатор extra pic доработанный спаял теже глюки что на простом extra pic
Ответить

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