AVR-ки не знаю, только МК51..vbif87 писал(а):может намутил с портами:
Мелкие вопросы по МК и ПЛИС.
Re: Мелкие вопросы по МК и ПЛИС.
[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: Мелкие вопросы по МК и ПЛИС.
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
Re: Мелкие вопросы по МК и ПЛИС.
.equ __w1_bit=2 а что означает здесь 2?
Re: Мелкие вопросы по МК и ПЛИС.
Посоветуйте схему генератора на 2 МГц, чтобы восстановить фьюзы на меге.
-
demiurg301
- Опытный кот
- Сообщения: 812
- Зарегистрирован: Ср мар 18, 2009 21:14:33
Re: Мелкие вопросы по МК и ПЛИС.
Подскажите стоит ли разрывать питание на SD карту(microSD) и какой вообще у неё ток потребления. А то сам контроллер в спяку увожу - там 20 мкА всего жрёт, не хотелось бы сильно повышать потребление.
Re: Мелкие вопросы по МК и ПЛИС.
Всем привет!
Пишу прогу в CV AVR, моделирую в протеусе. Выходит такая фигня. Когда в тексте программы написал выражение:
Прога начала глючить (на индикаторе вместо влажности выводится 88, а протеус стал выкидывать вот такие сообщения раз в 2 секунды (с таким периодом выполняется это вычисление) см. вложение.

Причем как-то не сразу начал глючить. Сначала при определенных значениях выходных сигналов, а вот щас уже постоянно глючит. Если эту строку закоментить, то все остальное работает.
Причем если я на индикатор вывожу совершенно другое значение, даже константу, например:
bin_2_seg7(55,&disp1,&disp0);
а эта строка в коде присутствует, то все равно глючит также.
Проц ATtiny2313, занято флеша около 40%
Пишу прогу в 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 раза.
Re: Мелкие вопросы по МК и ПЛИС.
Ради прикола попробовал написать:
и
В первом случае глюк повторяется - на индикаторе 88 и сообщения в окне.
Во-втором случае все норм, хотя переполнение налицо (переменная humidity типа unsigned char)
Что случилось с делением?
Ах, да... Еще не зависимо от работы проги, с этой прогой в окне с переменным вот такая лажа:

Люди! Хэлп! Задолбался уже
Код: Выделить всё
humidity=1000/TCNT1;
bin_2_seg7(19,&disp1,&disp0);
и
Код: Выделить всё
humidity=1000*TCNT1;
bin_2_seg7(19,&disp1,&disp0);В первом случае глюк повторяется - на индикаторе 88 и сообщения в окне.
Во-втором случае все норм, хотя переполнение налицо (переменная humidity типа unsigned char)
Что случилось с делением?
Ах, да... Еще не зависимо от работы проги, с этой прогой в окне с переменным вот такая лажа:
Люди! Хэлп! Задолбался уже

Re: Мелкие вопросы по МК и ПЛИС.
Люди! Ау!
- BCluster
- Собутыльник Кота
- Сообщения: 2512
- Зарегистрирован: Пн апр 06, 2009 19:33:29
- Откуда: Молдова, Кишинев
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
Насчет последней лажи - если объявить переменные как volatile они будут показаны нормально в протеусе. Почему так - надо думать, возможно компилятор выполняет какие-то оптимизации.
Насчет всего остального - полный код и проект в протеусе предоставьте.
Насчет всего остального - полный код и проект в протеусе предоставьте.
Re: Мелкие вопросы по МК и ПЛИС.
Кароче, поисследова прогу - глючит операция деления.
Например, написал так:
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;
В общем, делит то вроде правильно, а в итоге фигня выходит какая-то... Придется наверно деление самому писать...
Например, написал так:
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;
В общем, делит то вроде правильно, а в итоге фигня выходит какая-то... Придется наверно деление самому писать...
Re: Мелкие вопросы по МК и ПЛИС.
Кароче с указателями я что-то намудрил...
Был вот такой текст:
Глюк происходил на записях *a1=seg7_DC(i); и *a0=seg7_DC(a);
Щас убрал к черту все указатели и написал тупо
через глобальные переменные. вроде не глючит
Был вот такой текст:
Код: Выделить всё
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: Мелкие вопросы по МК и ПЛИС.
тупой вопрос( а может и нет), купил программтор AVRProg 910 USB

всё запустилось, установил дрова, в общем всё ок.
а теперь главное, как програмировать на нём ATmega8?????(всмысле какие выводы куда тыркать, в основном там всё написано, но в замешательство меня ввело на программаторе два вывода: LED и PWR их нету на ATmege...)


всё запустилось, установил дрова, в общем всё ок.
а теперь главное, как програмировать на нём ATmega8?????(всмысле какие выводы куда тыркать, в основном там всё написано, но в замешательство меня ввело на программаторе два вывода: LED и PWR их нету на ATmege...)

{АРХИТЕКТОР}
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: Мелкие вопросы по МК и ПЛИС.
Для программирования Меги Вам эти сигналы и не нужны. PWR - это питание для тарджет-котроллера (того, который программируете). Если питаете Мегу отдельным источником, можете об этом выводе позабыть. А LED - это, если мне не изменяет память, вывод, генерирующий меандр 1 МГц (для оживления контроллера при неверно зашитых фьюзах выбора источника тактового сигнала). 
А с остальными все понятно - разъем промаркирован, одноименные выводы у Меги присутствуют.
А с остальными все понятно - разъем промаркирован, одноименные выводы у Меги присутствуют.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

- ankrish
- Опытный кот
- Сообщения: 745
- Зарегистрирован: Сб май 21, 2011 10:37:37
- Откуда: Полоцк, Беларусь
- Контактная информация:
Re: Мелкие вопросы по МК и ПЛИС.
SubDia писал(а):Для программирования Меги Вам эти сигналы и не нужны. PWR - это питание для тарджет-котроллера (того, который программируете)
типо VCC???
{АРХИТЕКТОР}
- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: Мелкие вопросы по МК и ПЛИС.
Да. И Vcc, и AVcc.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

- SubDia
- Держит паяльник хвостом
- Сообщения: 995
- Зарегистрирован: Сб апр 02, 2011 17:59:22
- Откуда: Город-герой Севастополь
Re: Мелкие вопросы по МК и ПЛИС.
Подключать. AVcc - питание аналоговой части. С АЦП будете работать?
И документацию на контроллер полистайте, там много ответов на вопросы.
И документацию на контроллер полистайте, там много ответов на вопросы.
pavel_cydenov: Вобще я праAVRославный человек. Но и про ислARM слышал много хорошего )
MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

MrYuran: Самые ортодоксальные — это PICудеи )
Katz: Не, 51-ники. )

Re: Мелкие вопросы по МК и ПЛИС.
и VCC и AVCC подключать ОБЯЗАТЕЛЬНО!!! Спалите навиК! Только вот если хотите работать с АЦП, то там в ДШ есть схемка фильтра как лучше подключать этот вывод и как его разводить на плате, а если АЦП не юзаете, то просто соедините VCC и AVCC вместе.
Re: Мелкие вопросы по МК и ПЛИС.
Добрый вечер вот вылезла такая проблема пытаюсь прошить 16f876а и постоянно выскакивает ошибка то 0001h то 0000h и т.д уже пробывал и другой ставить камень и пробывал другой прошивкой не хочет. Хотя недавно прошил 876 всё нормально. Думал программатор глючит взял 628а так ради интереса проверить, шьет нормально. Программатор extra pic доработанный спаял теже глюки что на простом extra pic