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

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Аватара пользователя
B@R5uk
Собутыльник Кота
Сообщения: 2896
Зарегистрирован: Сб ноя 13, 2010 12:53:25
Откуда: приходит весна?

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

Сообщение B@R5uk »

А есть тема, где обсуждаются изображения символов для знакогенератора и где их брать?
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

Тут поищите .
GreatAtom
Родился
Сообщения: 3
Зарегистрирован: Вт май 13, 2014 17:03:55

Atmega16A - сброс фьюзов

Сообщение GreatAtom »

Добрый день. Знаю, что при отключении программировании через isp можно сбросить фьюзы, использую параллельный программатор, либо собрать фьюз доктор, но хотел бы узнать, возможен ли подобный способ для Atmega16?
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

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

Сообщение ibiza11 »

menzoda писал(а):Небольшой, на несколько десятков выводов, я еще смогу как-нибудь запаять на работе, на несколько сотен - нет.... настою на своем вопросе - есть ли мощные (>300МГц) чипы (МК/DSP/ПЛИС) в доступных для ручной пайки (без спец оборудования типа инфракрасных паяльных станций) корпусах?
Вам уже ответили, что
KPAM писал(а):300 МГц DSP делать с малым числом выводов бессмысленно. Цена останется, а функционал уменьшится.
есть NXP LPC43xx серия - Cortex M4, частота до 204 МГц, минимальный корпус LQFP144
Ставим плюсы: )
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Вечер добрый!
Подскажите пожалуйста, как правильно организовать непрерывный опрос одного канала АЦП, чтоб остальные пины порта работали в обычном режиме (вход или выход)?
Аватара пользователя
slavokhire5
Прорезались зубы
Сообщения: 202
Зарегистрирован: Пн сен 26, 2011 13:48:25
Откуда: Харьков

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

Сообщение slavokhire5 »

to isx: Правильно проинициализировать порты ввода/вывода и АЦП. А для дальнейших указаний знать бы какой МК :)
Осилит дорогу идущий
--------------------------
Пишу на Си за еду
sanyo.95
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вс мар 30, 2014 21:41:24
Откуда: Украина

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

Сообщение sanyo.95 »

Здравствуйте, извините если не туда пишу. Пытаюсь освоить DS1307. Кое как разобрался с чтением времени с RTC. Но вот никак не могу додуматься как осуществить настройку времени и даты с помощью кнопок, пробовал опрашивать кнопку в основном цикле - не отзывается...
Привожу свой код. Очень надеюсь на Вашу помощь. Спасибо!

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

#include <mega8.h>
#include <stdio.h>
#include <delay.h>
// I2C Bus functions
#asm
   .equ __i2c_port=0x18 ;PORTB
   .equ __sda_bit=0
   .equ __scl_bit=1
#endasm
#include <i2c.h>
// DS1307 Real Time Clock functions
#include <ds1307.h>
 
char hour,min,sek;
 unsigned char time_var[6];
static flash unsigned char display[]=    // масив для индикатора
 {
  (0b11000000), // 0
  (0b11111001), // 1
  (0b10100100), // 2
  (0b10110000), // 3
  (0b10011001), // 4
  (0b10010010), // 5
  (0b10000010), // 6
  (0b11111000), // 7
  (0b10000000), // 8
  (0b10010000), // 9   
 };
void show_time()    // Функция показа времени
{

 rtc_get_time(&hour,&min,&sek);
 
 time_var[0]=hour/10;
 time_var[1]=hour%10;
 time_var[2]=min/10;
 time_var[3]=min%10;
 time_var[4]=sek/10;
 time_var[5]=sek%10;
 
 PORTC.0=1;
 PORTD=display[time_var[0]];
 delay_ms(5);
 PORTC.0=0;
 
 PORTC.1=1;
 PORTD=display[time_var[1]];
 delay_ms(5);
 PORTC.1=0;
 
 PORTC.2=1;
 PORTD=display[time_var[2]];
 delay_ms(5);
 PORTC.2=0;
 
 PORTC.3=1;
 PORTD=display[time_var[3]];
 delay_ms(5);
 PORTC.3=0;
 
 PORTC.4=1;
 PORTD=display[time_var[4]];
 delay_ms(5);
 PORTC.4=0;
 
 PORTC.5=1;
 PORTD=display[time_var[5]];
 delay_ms(5);
 PORTC.5=0;
};
void main(void)
{
PORTB=0x1C;
DDRB=0x00;
PORTC=0x00;
DDRC=0x0F;
PORTD=0x00;
DDRD=0x7F;
i2c_init();
rtc_init(0,0,0);
rtc_set_time(12,0,0);

while (1)
{
 show_time();
 if(PINB.2==0) hour++;       
};
}
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

slavokhire5 писал(а):А для дальнейших указаний знать бы какой МК

Совсем забыл :) . МК AtMega16. Пишу в си на CVAVR.
Знаю как запустить все пины в режим АЦП, но только один пин никогда не запускал. Это получается нужно включить АЦП, проверить показания, отключить, и дальше работать как с обычном портом, а в следующим цикле всё сначала?
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

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

Сообщение Леонид Иванович »

Что значит "все пины в режим АЦП"? К АЦП мультиплексором подключается всегда один пин (или два пина, если используется дифференциальный вход АЦП). Остальные никто не мешает использовать как I/O. Даже тот пин, который используется как вход АЦП, можно использовать как I/O, только это чаще всего бессмысленно.
Аватара пользователя
isx
Поставщик валерьянки для Кота
Сообщения: 2316
Зарегистрирован: Вс июн 26, 2011 20:03:21

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

Сообщение isx »

Леонид Иванович писал(а):Что значит "все пины в режим АЦП"?

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

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

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

isx писал(а):остальные продолжают работать в обычном режиме?

А что по-вашему есть "обычный" и "необычный" режимы?
[ Всё дело не столько в вашей глупости, сколько в моей гениальности ] [ Правильно заданный вопрос содержит в себе половину ответа ]
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

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

Сообщение Леонид Иванович »

isx писал(а):подключая внутренний мультиплексор к одному из выходов, остальные продолжают работать в обычном режиме?


Да. И даже тот пин, к которому подключен мультиплексор, не отключается от I/O. Просто мы сами его должны настроить как вход без подтяжки.
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

sanyo.95 писал(а):Но вот никак не могу додуматься как осуществить настройку времени и даты с помощью кнопок, пробовал опрашивать кнопку в основном цикле - не отзывается...
По кнопкам есть отдельная тема, даже с примерами - viewtopic.php?f=61&t=79801
sanyo.95
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вс мар 30, 2014 21:41:24
Откуда: Украина

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

Сообщение sanyo.95 »

Аlex писал(а):По кнопкам есть отдельная тема
Я извиняюсь, но мне кажется я не правильно поставил вопрос. Я немного умею работать с кнопками, собирал несколько устройств и часы в том числе.
И везде кнопки опрашивал в основном цикле, а здесь так не выходит. Я думаю, что это из за того что у меня все основная программа находиться тоже в основном цикле - по-другому работать не хочет...
Аватара пользователя
Аlex
Модератор
Сообщения: 4614
Зарегистрирован: Чт мар 18, 2010 23:09:57
Откуда: Планета Земля
Контактная информация:

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

Сообщение Аlex »

sanyo.95 писал(а):мне кажется я не правильно поставил вопрос
А мне кажется, Вы и второй раз его неправильно задали. Собственно, Вы его совсем не задали, как мне кажется :)
Я, например, не могу понять в чём у Вас проблема, если не в опросе кнопок :dont_know:
sanyo.95
Нашел транзистор. Понюхал.
Сообщения: 170
Зарегистрирован: Вс мар 30, 2014 21:41:24
Откуда: Украина

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

Сообщение sanyo.95 »

Аlex писал(а):не могу понять в чём у Вас проблема

Я написал прграмму для часов на ds1307(код выше) теперь надо сделать так, чтобы при первом включении часов время можно было выставить( кнопками). Я пихаю опрос кнопок в основной цикл, но это не работает вообще. Вопрос - где опрашивать кнопки если не в основном цикле?
Может проблема не в опросе кнопок? А программа неправильно организована и из за этого опрос кнопок не работает? Взгляните на код пожалуйста.
jazz393
Встал на лапы
Сообщения: 118
Зарегистрирован: Ср фев 05, 2014 18:54:39

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

Сообщение jazz393 »

Добрый день(точнее утро). Немного глупый вопрос - зачем существует прерывание по передаче?Ну к примеру в usart или в i2c или can...Я вот не понимаю, с прерыванием по приём - всё понятно, а вот передача....мы же итак отправляем посылку из тела main в нужное нам время, зачем тогда оно существует? какие задачи на практике решает?

У меня вот сейчас весьма сложный проект более 20к строк, там активно юзается can и usart, и вот с usart-ом начинаются какие-то гонки если канал загружать...Я вот боюсь что связано как раз с моим не грамотным подходом в силу юности и неопытности =(
Аватара пользователя
pyzhman
Друг Кота
Сообщения: 7016
Зарегистрирован: Вс июл 12, 2009 19:15:29
Откуда: Ижевск
Контактная информация:

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

Сообщение pyzhman »

2sanyo.95:
Кнопку вы считали и даже переменную нарастили. И ее же считываете процедурой ShowTime. Ясен пень результата работы кнопки не увидите. Вам нужно позаботиться о том, чтобы содержимое hour попало в RTC, т.е. записать его туда.
2jazz393:
Прерывание - всё, канал свободен, можно пихать следующее.
Docendo discimus
jazz393
Встал на лапы
Сообщения: 118
Зарегистрирован: Ср фев 05, 2014 18:54:39

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

Сообщение jazz393 »

pyzhman писал(а):2sanyo.95:
Кнопку вы считали и даже переменную нарастили. И ее же считываете процедурой ShowTime. Ясен пень результата работы кнопки не увидите. Вам нужно позаботиться о том, чтобы содержимое hour попало в RTC, т.е. записать его туда.
2jazz393:
Прерывание - всё, канал свободен, можно пихать следующее.

не понимаю...итак же данные в канал идут последовательно, или что вы имеете ввиду...
Аватара пользователя
Леонид Иванович
Друг Кота
Сообщения: 4779
Зарегистрирован: Сб апр 02, 2011 12:40:46
Откуда: Минск
Контактная информация:

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

Сообщение Леонид Иванович »

jazz393 писал(а):зачем существует прерывание по передаче?


Чаще всего передавать приходится не 1 байт, а целый пакет. Делать передачу с программным опросом флага готовности неэффективно. Поэтому обычно сначала заполняют буфер, а затем по прерываниям идет его передача. Нужно отметить, что часто существуют два разных флага готовности передатчика: буфер передатчика пуст и передача байта завершена. По первому можно загружать следующий байт для передачи, а по второму можно, скажем, переключать направление трансиверов RS-485.
Ответить

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