CodeVision AVR в вопросах и ответах

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

Yellow Tiger писал(а):Насколько я помню, у всех мег и тиней дефолтный клок - внутренний, что разумно.
А то, чем ты эти две читал, раньше что-либо читало? Изображение

да 2313 читало без проблем. может провода длинные забабахал, к тому-же не шлейф и не экранированные? 30 см длинна.
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Нет, 30см это не криминал. Вероятно, дальше будет трудновато разобраться по одному только словесному описанию.
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

DataLife писал(а):...заменить перемычку джампером. Очень даже удобно. Сам думаю так сделать ....

Я тоже так думаю. Причём лучше это сделать на самом программаторе. Причём, чтобы джампером можно было выбирать, в том числе, сигнал с внешнего генератора (ну, сварганить генератор на логике, на 1 - 2 Мгц) чтобы прошивать контроллеры, у которых фьюзами выбран внешний генератор.
А что касается CodeVisionAVR + STK200/300, то я никогда не видел, чтобы выход прграмматора LED, хоть на что бы пригодился. Так что нефиг его вообще подключать.
Аватара пользователя
demson
IT KT
Сообщения: 1309
Зарегистрирован: Пн авг 25, 2008 08:49:33
Контактная информация:

Сообщение demson »

Yellow Tiger писал(а):Нет, 30см это не криминал. Вероятно, дальше будет трудновато разобраться по одному только словесному описанию.

ну хоть на что больше смотреть? что проверять в первую очередь? может партия битая? а может МК такта хочет?
в спорах рождается ИСТИНА [AND] flud.
Аватара пользователя
DataLife
Вымогатель припоя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Вопрос в силе.

На счёт джампера - себе сделал. Удобно :)
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

demson писал(а):...а может МК такта хочет?
Чем меньше известно о ситуации, тем больше вероятных причин. Ты о своей ситуации не сказал ничего, кроме того, что она есть, а значит - любая подходящая причина вероятна.
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

To DataLife
Используй вот этот самый простой алгоритм!
Вначале проверяешь нажата кнопка или нет, то есть проверяешь регистр PIN (1 или 0).
Int a=0;
If(PIND.1==1){a=1;}else{a=0;}
If (a==1){
Если PIND.1=1(Включается 1 программа)
}else{
Если PIND.1=0(все светики горят)
}
Это не код программы, это ключ к его разгадки!
Если не понятно пиши!
Аватара пользователя
Aheir
Модератор
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург
Контактная информация:

Сообщение Aheir »

rush писал(а): в даташите написано что необходима минимальная задержка 250 нано секунд


В том-то и дело, написано же минимальная задержка, а это значит, что должно работать и при 1мс задержке, например

DataLife писал(а):Думаю резонно переделать схемки плат расширения, заменить перемычку джампером. Очень даже удобно. Сам думаю так сделать ....


Ок, не знаю, как насчет плату переделывать, а вот описание надо будет добавить...
Оптимизм х (Опыт + Знания) = const
Аватара пользователя
DataLife
Вымогатель припоя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Примерно так я и думал сделать, но всё же пара вопросов у меня возникло:
Int a=0; - компилятор не воспринимает этот код
Может просто в настройки портов задать подачу "1" на порт?

Вот, что у меня получилось...
PS. тут в чём ещё заковырка: этот случай для "не кроткочасного" нажатия кнопки, а для тумблера, так сказать, то есть светики будут гореть, пока не отожму кнопку. А мне нужно (желательно) ставить кнопку. (Может не прав с рассуждениями, поправьте)
Вложения
C.c
C compiler souce file
(3.31 КБ) 360 скачиваний
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

У тебя написано Int a=0;, а должно быть int a=0;
То есть тебе надо написать int с маленькой буквы.
Тоже самое проделай с операторами if
Так же у тебя не будет работать строчка if(PORTA.1==1), потому что ты не правильно проверяешь. Надо if(PINA.1==1).
Убери из программы низкий уровень перед циклом.
Аватара пользователя
Sounds
Прорезались зубы
Сообщения: 238
Зарегистрирован: Вт май 27, 2008 23:23:24

Сообщение Sounds »

да ещё забыл вынеси int a=0; за вункцию main
GIP
Первый раз сказал Мяу!
Сообщения: 25
Зарегистрирован: Вт май 08, 2007 02:17:25
Откуда: Sumy

Сообщение GIP »

Барсик писал(а):
DataLife писал(а):...заменить перемычку джампером. Очень даже удобно. Сам думаю так сделать ....

А что касается CodeVisionAVR + STK200/300, то я никогда не видел, чтобы выход прграмматора LED, хоть на что бы пригодился. Так что нефиг его вообще подключать.

А я видел.
:)
Не далее, как вчера. Это был программатор AVR-USB-910 from PROTTOS.
Заинтересовало, буду пробовать повторить. Насколько я понял, этот выход как раз и тактирует программируемый микроконтроллер.
См. сами - http://pinokio3000.narod.ru/
Аватара пользователя
Барсик
Друг Кота
Сообщения: 3459
Зарегистрирован: Ср сен 27, 2006 16:18:57

Сообщение Барсик »

Ну и что Вы видели? Это же другой программатор. А речь шла о связке CodeVisionAVR + STK200/300.
Аватара пользователя
Илья79
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Вс июн 29, 2008 13:53:03
Контактная информация:

Сообщение Илья79 »

Подскажите как выделить один бит из unsigned char?
Все пробовал, маску накладывал, не выходит :cry:
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Если бит маской не выделился, значит маска не точно на биты легла - сдвинулась на полбита. Код, которым маску накладывал, - в студию!
Аватара пользователя
Илья79
Мучитель микросхем
Сообщения: 429
Зарегистрирован: Вс июн 29, 2008 13:53:03
Контактная информация:

Сообщение Илья79 »

Все получилось, сделал вот так ( c & 0x01 )


Утро вечера мудрее :)))
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Ага, ясно - сначала было так: ( c && 0x01 ), - да? :)
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

как в CVAVR записать массив в ЕЕПРОМ, что бы адрес еепром автоматически сдвигался, а не в одну и ту же ячеку записывалось?

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

eeprom int eepr=0;

void main(void)
{
//уже есть массив с 6 байтами array[6]
for (i=0; i<6;i++)
eepr=array[i];
}


так будет все 6 байт в по одному адресу еепром писать?
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Сообщение Vov123 »

void функ_зап(char адрес,char данные)
{
.....
}
void main(void)
{
while (1)
{
for (i=0; i<6;i++)
функ_зап(i,array[i]):
}
};
}
Аватара пользователя
Alexeus
Вымогатель припоя
Сообщения: 690
Зарегистрирован: Вс мар 04, 2007 01:17:12

Сообщение Alexeus »

Спасибо.

А как сделать проверку, установлен ли 4й бит в массиве byte[1] ?
Ответить

Вернуться в «AVR»