Страница 275 из 628
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 13:20:13
BerZerK-ku
До первой задержки там. Для последующих, надо добавить строку time = "нужное значение"; после цикла while.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 13:32:58
просто КОТ
А как тайм рассчитать?! Мне надо по пол-часа. Выходит что при частоте в 4МГц это будет 4000000*1800=6,2*10^9. Не многовато ли?!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 14:52:14
BerZerK-ku
У вас же изначально дискретность порядка часа указывалась ?! Хотя по сути на данный момент это не важно.
Переменная time задает кол-во отсчетов длительностью _delay_h(1) (в данном случае макрос "реализовывал" часовую задержку).
Т.е. если вам нужна точность 30 минут, соответственно на место _delay_h() необходимо вставить задержку в 30 минут. При этом каждая единица time будет давать задержку в 30 минут.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 15:16:15
просто КОТ
Я слегка запутался. Если _delay_h(1) это 1 час, то мне надо написать там _delay_h(0,5). Так что ли?! Или _delay_m(30)?!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 15:30:32
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)
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 16:37:04
просто КОТ
Код: Выделить всё
#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);
}
}
}
Так?! Если так, то я начал слегка понимать Си!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 19:16:52
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)
{
...
}
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 19:19:28
Мастер Ломастер
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 ругается?"
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 19:24:22
просто КОТ
Я компилятор ещё не выбрал. Какой надо?!
З.Ы. код поправил!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Чт дек 29, 2011 19:29:55
просто КОТ
А если поставить АТтини2313, можно будет на ЖКИ выводить время. Осталось только решить брать по пол-часа или по часу. Даже не знаю. . .

Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пт дек 30, 2011 23:53:01
p630304
Управляет LCD не камень, а залитая в него конфигурация. Если уместите в свою миниПЛИС код - то она будет управлять
А чо вот Альтера может, а ксилис чо не может причем не FPGA.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 00:18:05
uldemir
В зайлинксовском стартер-ките была аппликуха выводящая на дисплей. для coolrunner-II xc2c256
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 00:45:44
Antifritz
Помогите, пожалуйста, запустить ШИМ на ATTiny261A. Мне нужен обычный Fast-PWM на выходах ОС1А и ОС1В со сбросом при совпадении TCNT1 и соответствующего OCR, СК или РСК - пока не принципиально, счетчик считать должен от 0 до 255. Может кто-то написать какие значения должны быть в каких регистрах? А то я что ни напишу - все не запускается. Порт на выход работает нормально, да и ШИМ, иногда, в Протеусе запускается, а вот в железе все так же глухо

.
Заранее благодарен и с Наступающим!
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 13:30:16
FreshMan
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 15:36:30
Mr.Denis
С наступающим!
Подскажите как правильно подключить 8 светодиодов к 8 выходам мк?
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 15:45:23
uldemir
FreshMan писал(а):как расчитывается сопротивление базы ?
Ток база-эмиттер меньше в h21e тока коллектора. сопротивление R5 вычисляется как r=u/i , где i-ток перехода база-эмиттер, u - напряжение падающее на резисторе R5. u=Uлог.1 - Uбе. Напряжение Uбэ обычно 0.6 вольт. Напряжение лог.1 микроконтроллера смотрим в даташите на микроконтроллер. Это верхняя граница. Нижняя граница - чтобы ток база-эмиттер не превышал максимально допустимый ток Iбэ транзистора.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Сб дек 31, 2011 21:23:25
Antifritz
Mr.Denis писал(а):С наступающим!
Подскажите как правильно подключить 8 светодиодов к 8 выходам мк?
Ну через резистор 0,5кОм-1кОм (смотря какой светодиод) выход МК цепляем к аноду(+) светодиода. Катоды(-) соединяем вместе и подключаем к минусу питания. Но это не единственный вариант, да и подходит только для маломощных светодиодов.
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс янв 01, 2012 16:10:34
aam
Всех с Новым годом!
Как задать в AVR Studio на ассемблере 16-разрядную переменную?
Пока только смог задать так:
Это правильно или там есть что-то типа "word" и т. п.? А то каждый раз смещения писать и т. д...
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Вс янв 01, 2012 17:14:14
БАТАРЕЙКУС
всех с новым годом
коты ктонть может мне скинуть торент ссылку на QuartusII v9.1
Re: Мелкие вопросы по МК и ПЛИС.
Добавлено: Пн янв 02, 2012 04:29:49
BerZerK-ku