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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
edm2007
Поставщик валерьянки для Кота
Сообщения: 2255
Зарегистрирован: Вт апр 21, 2009 22:24:10
Откуда: Иркутск
Контактная информация:

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

Сообщение edm2007 »

А так же кроме AREF и AVCC. :)
"Слишком много людей ломаются, даже не подозревая о том, насколько близки к успеху они были в тот момент, когда упали духом". Томас Алва Эдисон
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

хочу сделать емкостной сенсор как описано http://habrahabr.ru/post/111679/
схема Изображение

у себя использовал пин PINB1. В соответствии с алгоритмом, написал код:

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

volatile long unsigned int l;

SETBIT(DDRB,1);//на выход
CLEARBIT(PORTB,1);///->0
CLEARBIT(DDRB,1);///на вход

while(PINB1==0){l++;};

String1("Емкость = %u",l);//вывод на жк



однако значение емкости не изменяется и даже если резистор снимаю с +питание все равно не зависает в цикле, а показывает 47872. также соединял ножку с землей и все равно показывает не зацикливаясь 47872(т.к. PINB1=0(!))
уже не знаю что и делать... :cry:
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

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

Сообщение *Trigger* »

В цикле не нужно задержку поставить?
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Я бы еще наверно в начале функции l обнулял... На всякий случай...
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

*Trigger* писал(а):В цикле не нужно задержку поставить?

а зачем, она как раз таки не нужна, для более точного определения "времени" разряда задержка не требуется

Я бы еще наверно в начале функции l обнулял... На всякий случай...


в начале функции идет ее объявление, а это равносильно обнулению
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Приводите весь код целиком, может косяк и не в этом месте...
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

в том то и дело, что фактически весь код

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

while(1)
{
volatile long unsigned int l;

SETBIT(DDRB,1);//на выход
CLEARBIT(PORTB,1);///->0
CLEARBIT(DDRB,1);///на вход

while(PINB1==0){l++;};

String1("Емкость = %u",l);//вывод на жк

_delay_ms(1000);
//пояснение, само собой в шапке находится:
//#define LED1 0
//#define LED_PORT PORTB
LED_PORT ^=1<<LED1;
}
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Блин, только сейчас внимание обратил :facepalm:
Куда подключена RC-цепочка и откуда читаем?
Аватара пользователя
*Trigger*
Друг Кота
Сообщения: 3059
Зарегистрирован: Пн май 11, 2009 14:15:00
Откуда: СПб

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

Сообщение *Trigger* »

Он же написал:
Лютик писал(а):у себя использовал пин PINB1
Этот пост оказался полезен? Не поленись, нажми Изображение слева!
:) :)) :)))
Куплю индикаторы ИТС-1А, ИТС-1Б, ИГВ1-8х5Л, ИГПС1-222/7, ИГПС1-111/7 и подобные.
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

Engineer_Keen писал(а):Блин, только сейчас внимание обратил :facepalm:
Куда подключена RC-цепочка и откуда читаем?


у себя использовал пин PINB1. В соответствии с алгоритмом, написал код:


*Trigger*, опоздал :))

п.с. если отсоединить цепочку, то девайс по-прежнему работает и выдает заветное число, даже не циклится, гад =(
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

А, ну да, проглядел. Но откуда берется число 47872? Раз оно !=0, значит цикл выполняется, но раз он выполняется, программа должна зависнуть при замыкании ноги на землю... Для чистоты эксперимента, приравняйте ее в начале к 0, хуже - то не станет...
Аватара пользователя
Gudd-Head
Друг Кота
Сообщения: 20092
Зарегистрирован: Чт сен 18, 2008 12:27:21
Откуда: Столица Мира Санкт-Петербург

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

Сообщение Gudd-Head »

Engineer_Keen писал(а):Но откуда берется число 47872?

Это BB00h, так что не самое обычное число.
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Это понятно, хотя если бы это было 65535, это бы не многое прояснило. Дайте чтоли HEX, в протеусе погонять...
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

LCD : PC0-PC3 : DB4-DB7, RS,RW,E: PB3-PB5
сенсор к PB1
Вложения
hex.rar
(5.24 КБ) 144 скачивания
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Лютик писал(а):в том то и дело, что фактически весь код

HEX говорит об обратном... Там как минимум куча строковых констант и используется прерывание по приему USART :dont_know:
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

Engineer_Keen писал(а):
Лютик писал(а):в том то и дело, что фактически весь код

HEX говорит об обратном... Там как минимум куча строковых констант и используется прерывание по приему USART :dont_know:


да, есть прерывание, но так я же ничего не шлю в этот момент, поэтому и исключаю его
забыл 8Мгц частота
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Ну так надо было выложить весь, от первого #include до последней "}". Вот у меня он завис в симуляторе и даже до самой проверки емкости не дошел, а я даже понять не могу, где в исходном коде это место.
Лютик
Нашел транзистор. Понюхал.
Сообщения: 161
Зарегистрирован: Вт мар 25, 2008 22:10:23
Откуда: Минск

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

Сообщение Лютик »

странно, но на самом деле эмулятор на то и эмулятор, вполне возможно, что он глючит.
скинул проект в avr studio, сильно не пинайте, там много не задействованного кода, так как тестовый проект(разбираюсь с avr'ками, rtc'шками...)
Вложения
main.rar
(50.63 КБ) 131 скачивание
Аватара пользователя
Engineer_Keen
Друг Кота
Сообщения: 3868
Зарегистрирован: Пт янв 29, 2010 10:27:40
Откуда: Москва

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

Сообщение Engineer_Keen »

Компилятор упорно игнорирует строку "while(PINB1==0){l++;};", он ее просто не преобразует в машинный код, а вот строка
"while((PINB & (1<<PB1))==0){l++;};" замечательно переводится в

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

+000000DF:   8189        LDD       R24,Y+1        Load indirect with displacement
+000000E0:   819A        LDD       R25,Y+2        Load indirect with displacement
+000000E1:   81AB        LDD       R26,Y+3        Load indirect with displacement
+000000E2:   81BC        LDD       R27,Y+4        Load indirect with displacement
+000000E3:   9601        ADIW      R24,0x01       Add immediate to word
+000000E4:   1DA1        ADC       R26,R1         Add with carry
+000000E5:   1DB1        ADC       R27,R1         Add with carry
+000000E6:   8389        STD       Y+1,R24        Store indirect with displacement
+000000E7:   839A        STD       Y+2,R25        Store indirect with displacement
+000000E8:   83AB        STD       Y+3,R26        Store indirect with displacement
+000000E9:   83BC        STD       Y+4,R27        Store indirect with displacement
+000000EA:   9BB1        SBIS      0x16,1         Skip if bit in I/O register set
+000000EB:   CFF3        RJMP      PC-0x000C      Relative jump
Igor2012
Родился
Сообщения: 3
Зарегистрирован: Чт мар 22, 2012 22:20:02

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

Сообщение Igor2012 »

Добрый вечер. Есть такой вопрос: можно ли с помощью STK-500 программировать микроконтроллер ATtiny 2313-20PU?
В описании на STK его в списке возможных программируемых МК нет. Если попытаться все таки его запрограммировать на сколько можно надеяться на корректную запись кода?
Прошивка на STK 2.0A AVR Studio версия 4.12.
Ответить

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