Например TDA7294

Форум РадиоКот • Просмотр темы - С чего начать программировать микроконтроллеры?
Форум РадиоКот
Здесь можно немножко помяукать :)

Текущее время: Сб янв 03, 2026 14:52:11

Часовой пояс: UTC + 3 часа


ПРЯМО СЕЙЧАС:



Начать новую тему Ответить на тему  [ Сообщений: 2294 ]     ... , , , 21, , , ...  
Автор Сообщение
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 27, 2009 15:40:21 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Барсик писал(а):
А с какой это радости у Вас массив migalka[i] определятся внутри главного цикла? И определяется как то странно

А как нужно? Разве массив не должен быть внутри главного цикла? Просто кроме него ничего и нет.
P.S. Вроде понял, что к чему, переделал, но теперь почему-то светодиоды еле светят.
Походу запарка вот с этими строчками:
//PORTD=0x00;
//DDRD=0xFF;

Пришлось их закоменнтировать, иначе выдаёт ошибку и что-то не пойму, чего надо.
P.P.S
Всё, сделал. Надо было эти строчки после массива написать.
Буду пробовать, чтобы цикл прерывать и выполнять программу дальше.


Вложения:
001.c [2.84 KiB]
Скачиваний: 371
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 27, 2009 19:16:16 
Друг Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 267
Зарегистрирован: Ср сен 27, 2006 16:18:57
Сообщений: 3459
Рейтинг сообщения: 0
SeregaT писал(а):
...Разве массив не должен быть внутри главного цикла?

Объявление переменной и присвоение ей значения - это разные вещи. Но при объявлении переменной можно заоодно присвоить ей значение.

unsigned char i; // это объявление
т.е. Вы говорите компилятору, что собираетесь использовать переменную размером в один байт, и что он должен воспринимать как беззнаковую.

unsigned char i = 123; // это тоже объявление, но с присвоением значения.

i = 234; // а вот это присвоение значения и ничего больше.

Очевидно, что объявить переменную можно только один раз. Поэтому объявление массива в цикле - это порнография.

Текст Вашей программы это набор инструкций для компилятора. В том числе, компилятору надо сказать, из каких программных модулей будет состоять Ваша программа. В ней должен быть главный программный модуль:

void main(void)
{
...
}

Могут быть программные модули - функции:

void myFunction(void)
{
.....
}

Могут быть обработчики прерываний:

// обработчик прерывания по переполнению таймера
interrupt [4] void timer_overflow(void)
{
.....
}

Объявление переменных можно делать как внутри этих модулей, так и вне их. Если переменную объявить внутри, то она будет "видна" только внутри своего модуля. Такие переменные называются локальными. Если программа по ходу дела зарулит в другой модуль, то она "забудет" локальную переменную из предыдущего модуля.
Если переменная объявлена вне программного модуля, то она будет "видна" из всех модулей. Такие переменные называются глобальными.

А вот присвоение значений переменным можно делать только внутри этих программных модулей. То же самое для операций ввода-вывода.

SeregaT писал(а):
...Походу запарка вот с этими строчками:
//PORTD=0x00;
//DDRD=0xFF;


Ну ещё бы. Вы пытаетесь что-то делать - присваивать значения ВНЕ программного модуля. Надо сунуть эти строчки внутрь void main(void) и будет Вам счастье...


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 27, 2009 19:32:15 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Барсик писал(а):
В ней должен быть главный программный модуль:

void main(void)
{
...
}

Но ведь массив должен находится в пределах главного программного модуля?
Ну вот так правильно?


Вложения:
001.c [2.85 KiB]
Скачиваний: 322
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт фев 27, 2009 19:58:32 
Друг Кота
Аватар пользователя

Карма: 28
Рейтинг сообщений: 267
Зарегистрирован: Ср сен 27, 2006 16:18:57
Сообщений: 3459
Рейтинг сообщения: 0
Вообще-то массив должен находиться в памяти контроллера :) В ОЗУ, ПЗУ или EEPROM. А вот объявляться может в разных местах. Тот большой кусок в Вашей программе с единицами и нулями это ОБЪЯВЛЕНИЕ массива с присвоением значений. Объявление может быть где угодно. Объявили внутри main - будет локальным. Объявили вне - будет глобальным. Видели строчку в Вашей программе:
// Declare your global variables here
?
Если сразу после неё сунете текст с объявлением массива, Ваш массив будет глобальным.
А в цикле идет РАБОТА с массивом. В цикле Вы извлекаете значение из очередного элемента массива и выпихиваете его через порт контроллера. А сам массив как сидит где-то в памяти, так и сидит себе...


Вернуться наверх
 
Эиком - электронные компоненты и радиодетали
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 28, 2009 18:18:25 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 1
Изображение
Изображение

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 28, 2009 18:48:26 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Аксель
А как вот ЭТО сделать? Как оно определяет угол поворота или типа того? Это на Си? Не могли-бы Вы показать исходник? :roll: Ну или в личку ;)
Вот так и совмещают микроконтроллер и швейную машинку :)))


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Сб фев 28, 2009 19:06:40 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
:)) Ерундень. Хорошо, подробности в личку напишу.

Здесь на сайте где-то были подобные примеры индикации.
Это динамическая светодиодная индикация с механической разверткой.

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 01, 2009 05:17:15 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
Сделал USB-программатор из датакабеля (подробней в разделе о МК).
Мелочь, а приятно! :)))

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вс мар 01, 2009 20:36:07 
Родился

Зарегистрирован: Вс мар 01, 2009 20:04:18
Сообщений: 3
Откуда: Узбекистан,Ташкент
Рейтинг сообщения: 0
1:Подойдет ли ATmega128 для первого знакомства с МК?
2:Сколько стоит этот МК?
3:Какой лучше брать ATmega128;128L;-16AC;-16AL?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Вт мар 03, 2009 20:27:28 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Аксель писал(а):
Сделал USB-программатор

Я сейчас то-же сварганил USB программатор. Даже работает!!! :)
Кстати, прошивает в 3,5 раза быстрее чем на COM (правда на COM у меня UniProf работала только в режиме "тормоз")
Осталось только выпилить по размеру и вставить в корпус (возьму от электронного транса для ламп). Ну еще шлейф поменять надо, был только широкий, его и поставил пока).
Изображение


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 05, 2009 19:44:02 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Подскажите пжалста такую штуку. Вот хочу сделать переходник для программатора, чтобы прошивать МК отдельно от всего (тоесть просто панелька с зажимом). Но хочу туда-же припаять кварц, чтобы прошивать МК, которые запрограммированы на внешний резонатор. Я с фьюзами пока толком не разбирался, но как я понял, достаточно выставить фьюзы на работу с внешним резонатором, и МК будет работать на частоте кварца? Или эту частоту то-же надо где-то выставить? Надо ли отключать внешний кварц, когда МК запрограммирован на работу с внутренним RC резонатором?


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 05, 2009 19:49:51 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
...да, МК будет работать на частоте кварца.
Кварц убирать необязательно при работе МК от внутреннего тактового генератора.

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 05, 2009 20:22:46 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
Сделал usb-to-lpt переходник из раздела "Интеграция с ПК". И понял я, что это хорошо. :))
Он у меня теперь опционально может быть lpt или программатором stk200/300.


Вложения:
lpt_und_stk200.jpg [32.17 KiB]
Скачиваний: 409

_________________
Скелет колобка состоит из черепа.
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 05, 2009 20:48:27 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
О! Кажись это то, что мне надо :) А где там про это?
Не это случайно?
http://www-user.tu-chemnitz.de/~heha/ba ... -15.htm.en


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Чт мар 05, 2009 21:48:52 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
Владимир К. писал(а):
Переходник USB - LPT с сайта www.cncfiles.ru , файл 67.
Как заявлено, обеспечивает почти 100% совместимость с реальным LPT. Очень удобно в использовании.


Вот там точно с описанием на понятном языке. ;)

Скачал оттуда.
(Собрал не совсем придерживаясь схемы: кондёр другой вместо с4,резистора на ресет нет :), подтягивающий резистор на 2.2 К И перемычки для себя: опционально первый пин / питание, и 2-12 3-11 (для определения как stk200/300 когда надо)) :)


Вложения:
USB-to-LPT ATmega8.jpg [78.88 KiB]
Скачиваний: 431

_________________
Скелет колобка состоит из черепа.
Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 06, 2009 14:53:42 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Тот программатор, который я сделал, то-же отлично работает, но (как я понял) он поддерживается только одной прогой. Хотя это не так важно, главное что он от USB работает. Хочу туда еще и USB флешку впаять (чтобы там держать нужный софт, прошивки и драйвера), если найду USB разветвитель с платой достаточно маленького размера.
Но идея с LPT USB мне понравилась :)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 06, 2009 20:10:52 
Опытный кот
Аватар пользователя

Зарегистрирован: Ср апр 25, 2007 09:50:43
Сообщений: 800
Откуда: Киев
Рейтинг сообщения: 0
А какой Вы собрали программатор?

Можно проще, чем искать usb-hub (или делать самому) - чуть менее функционально, но быстро и практично: три переключателя. На питание, на D+, на D- . Или вариации на эту тему.

_________________
Скелет колобка состоит из черепа.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 06, 2009 20:19:01 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
Аксель писал(а):
А какой Вы собрали программатор?

Вот этот: http://easyelectronics.ru/usb-programma ... sbasp.html
Цитата:
Можно проще, чем искать usb-hub (или делать самому) - чуть менее функционально, но быстро и практично: три переключателя. На питание, на D+, на D- . Или вариации на эту тему.

Ну вообще-то можно и так, но это неудобно, да и каждый раз разбирать корпус или выводить переключатели наружу... Проще флешку отдельно таскать ;)


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 06, 2009 20:42:25 
Потрогал лапой паяльник
Аватар пользователя

Зарегистрирован: Ср май 28, 2008 19:30:31
Сообщений: 396
Откуда: Донецк
Рейтинг сообщения: 0
Лутьше собрать одну паралельку - сразу и оживлять и прошивать. Она все умеет.Хотя у меня и ЮСБИ програматор, и паралелька.. Так удобнее

_________________
Полный пипеутз.


Вернуться наверх
 
Не в сети
 Заголовок сообщения:
СообщениеДобавлено: Пт мар 06, 2009 20:49:23 
Генеральный секретарь МЯУ
Аватар пользователя

Карма: 69
Рейтинг сообщений: 26
Зарегистрирован: Пн сен 03, 2007 18:24:27
Сообщений: 18824
Откуда: Россия. Омск.
Рейтинг сообщения: 0
А что из себя представляет параллельный прграмматор?


Вернуться наверх
 
Показать сообщения за:  Сортировать по:  Вернуться наверх
Начать новую тему Ответить на тему  [ Сообщений: 2294 ]     ... , , , 21, , , ...  

Часовой пояс: UTC + 3 часа


Кто сейчас на форуме

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


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  


Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y