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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

До первой задержки там. Для последующих, надо добавить строку time = "нужное значение"; после цикла while.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

А как тайм рассчитать?! Мне надо по пол-часа. Выходит что при частоте в 4МГц это будет 4000000*1800=6,2*10^9. Не многовато ли?!
Изображение
И ты врёшь!!! © Vladisman
Изображение
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

У вас же изначально дискретность порядка часа указывалась ?! Хотя по сути на данный момент это не важно.
Переменная time задает кол-во отсчетов длительностью _delay_h(1) (в данном случае макрос "реализовывал" часовую задержку).
Т.е. если вам нужна точность 30 минут, соответственно на место _delay_h() необходимо вставить задержку в 30 минут. При этом каждая единица time будет давать задержку в 30 минут.
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

Я слегка запутался. Если _delay_h(1) это 1 час, то мне надо написать там _delay_h(0,5). Так что ли?! Или _delay_m(30)?!
Изображение
И ты врёшь!!! © Vladisman
Изображение
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

:))) надо еще и саму функцию/макрос написать, например такую (вот тут она к месту) :
Мастер Ломастер писал(а):// функция, способная создать задержку до 65535 секунд
void mega_delay(uint16_t delay_in_seconds){
for(; delay_in_seconds; delay_in_seconds--)
_delay_ms(1000);
}
Т.е. вместо _delay_h(1), подставьте mega_delay(30)
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

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

#include <ioavr.h>
#include <ina90.h>
#include "delay.h"

void mega_delay(uint16_t delay_in_seconds){
for(; delay_in_seconds; delay_in_seconds--)
_delay_ms(1000);
}

void main(void)

{
   unsigned char time = 0;
   
   // PB.0 - выход '1'
   // PB.1..PB.7 - вход 'Z'
   DDRB |= (1 << DDB0);
   PORTB |= (1 << PORTB0);
   
   while(1)
   {
      if ( PINB & (1 << PINB1) )
         time++;
      
      if ( PINB & (1 << PINB2) )
         time--;
      
      if ( PINB & (1 << PINB4) )
      {
         PORTB &= ~(1 << PORTB0);
         
         while(time--)
         {
            mega_delay(30);
         }
         
         PORTB |= (1 << PORTB0);
      }
   }
}

Так?! Если так, то я начал слегка понимать Си!
Последний раз редактировалось просто КОТ Чт дек 29, 2011 19:21:43, всего редактировалось 2 раза.
Изображение
И ты врёшь!!! © Vladisman
Изображение
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Ага, только надо добавить еще и саму функцию mega_delay() в проект. Проще всего поместить ее над main(), т.е. как-то так:

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

...
void mega_delay(uint16_t delay_in_seconds){
for(; delay_in_seconds; delay_in_seconds--)
_delay_ms(1000);
}

void main(void)
{
...
}
Мастер Ломастер
Поставщик валерьянки для Кота
Сообщения: 1995
Зарегистрирован: Ср май 11, 2011 21:37:45
Откуда: Цветочный город
Контактная информация:

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

Сообщение Мастер Ломастер »

BerZerK-ku писал(а):Ага, только надо добавить еще и саму функцию mega_delay() в проект. Проще всего поместить ее над main(), т.е. как-то так:

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

...
void mega_delay(uint16_t delay_in_seconds){
for(; delay_in_seconds; delay_in_seconds--)
_delay_ms(1000);
}

void main(void)
{
...
}

болтун,вы бы лучше рассказали про то, что в этой функции использованы типы, которых нет в CVAVR - автор вопроса вроде как этим "компилятором" пользуется? а то ведь следующим вопросом будет "почему на uint16_t ругается?"
Последний раз редактировалось Мастер Ломастер Чт дек 29, 2011 19:25:15, всего редактировалось 1 раз.
битва с дураками проиграна, победители торжествуют. слава победителям!
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

Я компилятор ещё не выбрал. Какой надо?!
З.Ы. код поправил!
Изображение
И ты врёшь!!! © Vladisman
Изображение
Аватара пользователя
просто КОТ
Друг Кота
Сообщения: 12364
Зарегистрирован: Пт дек 17, 2010 15:07:50
Откуда: Крымский Федеральный Округ
Контактная информация:

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

Сообщение просто КОТ »

А если поставить АТтини2313, можно будет на ЖКИ выводить время. Осталось только решить брать по пол-часа или по часу. Даже не знаю. . . :? :facepalm:
Изображение
И ты врёшь!!! © Vladisman
Изображение
p630304
Нашел транзистор. Понюхал.
Сообщения: 163
Зарегистрирован: Вт май 31, 2011 13:43:38
Откуда: Саратов

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

Сообщение p630304 »

Управляет LCD не камень, а залитая в него конфигурация. Если уместите в свою миниПЛИС код - то она будет управлять

А чо вот Альтера может, а ксилис чо не может причем не FPGA.
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

В зайлинксовском стартер-ките была аппликуха выводящая на дисплей. для coolrunner-II xc2c256
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Antifritz
Прорезались зубы
Сообщения: 222
Зарегистрирован: Чт июл 08, 2010 01:03:40
Откуда: Украина, Киев

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

Сообщение Antifritz »

Помогите, пожалуйста, запустить ШИМ на ATTiny261A. Мне нужен обычный Fast-PWM на выходах ОС1А и ОС1В со сбросом при совпадении TCNT1 и соответствующего OCR, СК или РСК - пока не принципиально, счетчик считать должен от 0 до 255. Может кто-то написать какие значения должны быть в каких регистрах? А то я что ни напишу - все не запускается. Порт на выход работает нормально, да и ШИМ, иногда, в Протеусе запускается, а вот в железе все так же глухо :cry: .
Заранее благодарен и с Наступающим!
Аватара пользователя
FreshMan
Друг Кота
Сообщения: 6296
Зарегистрирован: Пн ноя 22, 2010 00:57:15
Откуда: Ukraine

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

Сообщение FreshMan »

как расчитывается сопротивление базы ?
http://4put.ru/pictures/small/237/728667.jpg
Tell Me The Truth
Mr.Denis
Прорезались зубы
Сообщения: 220
Зарегистрирован: Пт авг 07, 2009 22:06:49
Откуда: Россия, Москва

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

Сообщение Mr.Denis »

С наступающим!
Подскажите как правильно подключить 8 светодиодов к 8 выходам мк?
STM32F4 Discovery + KEIL + Windows 7
Аватара пользователя
uldemir
Друг Кота
Сообщения: 7357
Зарегистрирован: Пт авг 28, 2009 21:34:30
Откуда: 845-й км.

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

Сообщение uldemir »

FreshMan писал(а):как расчитывается сопротивление базы ?
Ток база-эмиттер меньше в h21e тока коллектора. сопротивление R5 вычисляется как r=u/i , где i-ток перехода база-эмиттер, u - напряжение падающее на резисторе R5. u=Uлог.1 - Uбе. Напряжение Uбэ обычно 0.6 вольт. Напряжение лог.1 микроконтроллера смотрим в даташите на микроконтроллер. Это верхняя граница. Нижняя граница - чтобы ток база-эмиттер не превышал максимально допустимый ток Iбэ транзистора.
А люди посмотрят и скажут: "Собаки летят. Вот и осень."
Аватара пользователя
Antifritz
Прорезались зубы
Сообщения: 222
Зарегистрирован: Чт июл 08, 2010 01:03:40
Откуда: Украина, Киев

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

Сообщение Antifritz »

Mr.Denis писал(а):С наступающим!
Подскажите как правильно подключить 8 светодиодов к 8 выходам мк?

Ну через резистор 0,5кОм-1кОм (смотря какой светодиод) выход МК цепляем к аноду(+) светодиода. Катоды(-) соединяем вместе и подключаем к минусу питания. Но это не единственный вариант, да и подходит только для маломощных светодиодов.
Аватара пользователя
aam
Собутыльник Кота
Сообщения: 2994
Зарегистрирован: Сб фев 20, 2010 14:00:12
Откуда: Москва

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

Сообщение aam »

Всех с Новым годом!
Как задать в AVR Studio на ассемблере 16-разрядную переменную?
Пока только смог задать так:

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

K_sens:        .byte 2

Это правильно или там есть что-то типа "word" и т. п.? А то каждый раз смещения писать и т. д...
Аватара пользователя
БАТАРЕЙКУС
Потрогал лапой паяльник
Сообщения: 346
Зарегистрирован: Сб фев 07, 2009 19:21:25

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

Сообщение БАТАРЕЙКУС »

всех с новым годом
коты ктонть может мне скинуть торент ссылку на QuartusII v9.1
Мечтатель - не тот, кто сидит на диване и думает о несбыточном, а тот, кто всеми силами стремится воплотить несбыточное в реальность.
BerZerK-ku
Мучитель микросхем
Сообщения: 492
Зарегистрирован: Вт июл 22, 2008 08:10:54

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

Сообщение BerZerK-ku »

Ответить

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