МикроКонтроллер AVR начинающим - общие вопросы

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 22 дек 2008, 08:43

Да наверно много раз можно. Просто такт программатора должен быть не более 8000 гц.
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение BESTWIZARD » 22 дек 2008, 10:34

Понятно, значит тут мне никто не поможет, даже не намекнёт.

Ну ладно а чатстоту в 20 герц можно AVR-ом померять ? Есть ссылка хоть на какую-то принципиальную схемку а ?
BESTWIZARD
 
Сообщения: 8
Зарегистрирован: 17 дек 2008, 13:32

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Digit » 22 дек 2008, 10:52

тебе уже 300 раз не то что намекали - прямо и без обиняков говорили. а ты что? :) наводящие вопросы игнорируешь, от прямых - уклоняешься, советами пренебрегаешь, обсуждать отказываешься...
злой полицейский
Аватара пользователя
Digit
 
Сообщения: 3339
Зарегистрирован: 27 ноя 2004, 00:42
Откуда: совсем Москва
ФИО: Григорий

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 22 дек 2008, 10:54

Ну ладно а чатстоту в 20 герц можно AVR-ом померять ?

можно. это 50мкс. Померять можно любым таймером. Смотря с какой частотой тикает мк.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Master » 22 дек 2008, 11:37

avr123.nm.ru писал(а):Просто такт программатора должен быть не более 8000 гц.

Я может не совсем понял, но у меня в 5-проводках стоит кварц на 16МГц и очень даже неплохо шьеца.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение RoboTok » 22 дек 2008, 15:18

TrashVigor писал(а): ку ку


Один раз я поставил не правильные FUSE биты и у меня AVR-ка перестала программироваться.
После "плясок с бубном" я выяснил, что частота МК была 100кГц.
Попробовал ввести задержки в программе программатора, довольно большие и прошил заново МК.
Аватара пользователя
RoboTok
 
Сообщения: 1060
Зарегистрирован: 04 фев 2008, 13:18
Откуда: Москва
прог. языки: PHP

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение TrashVigor » 22 дек 2008, 19:56

После "плясок с бубном"

У тебя волшебный бубен. Я тож такой хочу.
А я вот не знаю в СVAVR можно задержки делать? Самое интересное что 1мгц на XT1 не выручает.
Накосячил млин я. Нужно было сделать таймер обратного отсчета. Косяк в том что, сделал 32768 гц такт всего мк. Пошарив малость по литературке, оказалось, что можно было сделать проще и лучше. Зашить фьюзы для внутреннего RC-генератора на 1 Мгц(кому нить для справки это SKSEL1 SKSEL2 SKSEL3 SUT0), а в регистр ASSR вкатать 0x08, а TCCR2=0x05. Припаять кварц к ногам TOSC1 TOSC2. И все будет офигенно.
GIRUGAMESH!
Аватара пользователя
TrashVigor
 
Сообщения: 134
Зарегистрирован: 11 июл 2008, 22:43
Откуда: Воронежск
прог. языки: С, Delphi, Asm

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение RoboTok » 22 дек 2008, 20:07

ДА документация мне самому нравится иногда, но это не наш метод имхо.

А бубен вам зачем ?
Я ведь с помощью него узнал частоту, а вы её уже знаете...

Добавлено спустя 2 минуты 57 секунд:
В СVAVR я и ставил задержки.

Кто му же, если МК не захочет прошиваться, то частоту его можно подкорректировать ударом молотка...
Аватара пользователя
RoboTok
 
Сообщения: 1060
Зарегистрирован: 04 фев 2008, 13:18
Откуда: Москва
прог. языки: PHP

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Master » 22 дек 2008, 20:34

Мне в этом отношении нравица ЮСБ программатор, тот о котором тема прилеплена в Микроконтроллерах я с его помощью ваще без кварца шью, там такт идет с ножки я его на XTAL1 завел и все пучком.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение avr123.nm.ru » 22 дек 2008, 21:56

TrashVigor писал(а):
После "плясок с бубном"

А я вот не знаю в СVAVR можно задержки делать ?

http://avr123.nm.ru/07.htm - "Все о прошивании AVR" - один разок внимательно прочитать и прошивай потом сколько душе угодно ...
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение oleg_harp » 07 янв 2009, 03:42

Уважаемый avr123.nm.ru! Пример из Help CVAVR. Не могу понять почему после первого вызова alfa = 1, а не 2.
Код: Выделить всё
int alfa(void)
{
/* declare and initialize the static variable */
static int n=1;
return n++;
}
void main(void)
{
int i;
/* the function will return the value 1 */
i=alfa();
/* the function will return the value 2 */
i=alfa();
}

Объясните, пожалуйста, если возможно. Спасибо!
Модератор Сергей:Используй тэг code!
oleg_harp
 
Сообщения: 8
Зарегистрирован: 05 янв 2009, 18:22

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение Master » 07 янв 2009, 03:47

Потому что если бы было написано ++n то да вначале бы n было присвоено значение на единицу большее чем оно есть, а уже потом это значение отправлено как результирующая функции, в примере написано n++, т. е. вначале значение n = 1 возвращено функции, а уже потом к нему добавлена единица.
Не вру, но могу ошибаца.
Аватара пользователя
Master
 
Сообщения: 4468
Зарегистрирован: 21 дек 2006, 19:56
Откуда: Украина, г.Одесса
прог. языки: Delphi и С

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение oleg_harp » 07 янв 2009, 04:39

Спасибо за ответ в столь поздний час. Новичок в СИ. Это настолько последовательно нужно читать код в СИ? То есть у записи return больший приоритет чем у ++? Ведь ++n эквивалентно n++?
oleg_harp
 
Сообщения: 8
Зарегистрирован: 05 янв 2009, 18:22

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение blindman » 07 янв 2009, 05:44

++n - увеличить на 1, использовать полученное значение.
n++ - использовать значение n, после чего увеличить n на 1.

псевдокод, который поможет понять разницу между n++ и ++n:
Код: Выделить всё
// n++
int nplusplus()
{
  static int n = 1;
  int tmp = n;
  n = n + 1;
  return tmp;
}

Код: Выделить всё
// ++n
int plusplusn()
{
  static int n = 1;
  n = n + 1;
  return n;
}
Проект [[Open Robotics]] - универсальные модули для построения роботов
Модули Open Robotics можно приобрести в магазине shop.roboforum.ru

Day OFF? You must be pulling my leg! Stop making humor before someone sees you, fool!

Аватара пользователя
blindman
 
Сообщения: 4130
Зарегистрирован: 29 апр 2008, 21:15
Откуда: Хабаровск
прог. языки: C,C++,Assembler,PHP,Javascript,Ruby, SPIN,Java(?)
ФИО: Андрей Юрьевич

Re: МикроКонтроллеры начинающим - общие вопросы

Сообщение oleg_harp » 07 янв 2009, 05:59

To blindman. Спасибо, исчерпывающе.
oleg_harp
 
Сообщения: 8
Зарегистрирован: 05 янв 2009, 18:22

Пред.След.

Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 7