Перейти к содержанию

Поиск сообщества

Показаны результаты для тегов 'avr'.

  • Поиск по тегам

    Введите теги через запятую.
  • Поиск по автору

Тип контента


Форумы

  • Вопрос-Ответ. Для начинающих
    • Песочница (Q&A)
    • Дайте схему!
    • Школьникам и студентам
    • Начинающим
    • Паяльник TV
    • Обсуждение материалов с сайта
  • Радиоэлектроника для профессионалов
    • Автомобильная электроника
    • Питание
    • Ремонт
    • Системы охраны и наблюдения. Личная безопасность
    • Роботы и модели на ДУ-управлении
    • Световые эффекты и LED
    • Самодельные устройства к компьютеру
    • Программное обеспечение
    • Металлоискатели
    • Автоматика
    • Электрика
    • Промышленная электроника
    • Измерительная техника
    • Мастерская радиолюбителя
    • КВ и УКВ радиосвязь
    • Радиопередатчики
    • Сотовая связь
    • Спутниковое ТВ
    • Телефония и фрикинг
    • Высокое напряжение
    • Идеи и технологии будущего
    • Справочная радиоэлементов
    • Литература
    • Схемотехника для профессионалов
    • Разное
  • Аудио
    • FAQ, Технологии и компоненты
    • Для начинающих
    • Источники звука
    • Предусилители, темброблоки, фильтры
    • Питание аудио аппаратуры
    • Усилители мощности
    • Акустические системы
    • Авто-аудио
    • Ламповая техника
    • Гитарное оборудование
    • Прочее
  • Микроконтроллеры
    • МК для начинающих
    • Arduino, ESP32, ESP8266, Raspberry Pi
    • AVR
    • STM32
    • PIC
    • ПЛИС
    • Другие микроконтроллеры и семейства
    • Алгоритмы
    • Программаторы и отладочные модули
    • Периферия и внешние устройства
    • Разное
  • Товары и услуги
    • Коммерческие предложения
    • Продам-Отдам, Услуги
    • Куплю
    • Уголок потребителя
    • Вакансии и разовая работа
    • Наши обзоры и тесты
  • Разное
    • Курилка
    • Сайт Паяльник и форум
    • FAQ (Архив)
    • Технический английский (English)
    • Личные блоги
    • Наши проекты для Android и Web
    • Корзина
    • Конкурсы сайта с призами
    • Вопросы с VK
  • Переделки ATX->ЛБП
  • Переделки разные темы
  • Киловольты юмора Юмор в youtube

Блоги

  • Твори, выдумывай, пробуй.
  • fant's блог
  • Ток покоя
  • Где купить велпатасвир, epclusa, velpanat, velasof, софосбувир в России по лучшей цене.
  • Китайские бренды видеокамер
  • Создание Маленькой Мастерской
  • Блог администрации
  • STEN50's блог
  • Изучение, наладка, исследование
  • MiSol62's блог
  • короткие записки по ходу дела
  • Программирование AVR и PIC блог
  • Стабилизированный выпрямитель тока ТЕС 12-3-НТ
  • Блог getshket
  • ТНПА
  • welder's блог
  • blog cheloveka loshadi
  • OPeX3's блог
  • Подводная робототехника
  • Сабвуфер и акустика.
  • Радиоуправляемая машина
  • Консультация психолога сексолога онлайн, психолог онлайн
  • Nokian блог
  • Оповещения Dermabellix Scam !! Не покупайте это !!!
  • Cheerful Boss' блог
  • Cheerful Boss' блог
  • VLAD1996B's блог
  • "Коллективное увеличение продаж"
  • Dudok's блог
  • "Коллективное увеличение продаж"
  • Goluboglazyi's блог
  • Прибор определяющий электролитический конденсатор на работоспособность.
  • Mosfet@'s блог
  • mazzi's блог
  • Лучшие компьютерные игры 2017
  • Marchenkokerya's блог
  • Заметки начинаущего аудиофила
  • Почти бесполезные проги
  • Светлый блог.
  • дядюшка Филин's блог
  • Дневники нуба
  • satyrn's блог
  • Люк. В погреб.
  • Фильм Дом Солнца
  • Светодиодная лента B-LED 2835-120 W белая негерметичная
  • Само-Реплицируещиеся Производственные Системы
  • Блог от Eknous
  • РВС's блог
  • Den_R's blog
  • РВС's блог
  • Чтото крутое и про криворукость
  • ekadom's блог
  • Проектирование любых чертежей
  • Lisovic's блог
  • Блог уже не юного радиогубителя
  • денди
  • eHouse
  • zaregan's блог
  • Схемотехника УНЧ с низковольтным питанием на примере приёмников фирмы Grundig
  • То, что в руки попало.
  • Блок питания водородного генератора и все что с ним связано
  • slava_va@mail.ru's блог
  • Блог alex123al97
  • slava_va@mail.ru's блог
  • параленое соединение КРЕНок или как сделать стабилизатор напряжения 24-12в
  • Свободная генерация Андрея Мельниченко
  • реобас
  • Модернизации системы впрыска на 555
  • помощь
  • Копии схем и печатных плат устройств попавшие ко мне
  • MBM75's блог
  • Буду
  • lagutai's блог
  • Мои проекты.
  • lagutai's блог
  • Трудовик
  • vOVK@'s блог
  • токарь-радиолюбитель
  • azlk3000's блог
  • Коллизия сингулярности
  • SmallAlex's блог
  • Вопрос по Цифровому усилителю мощности звука 2x12 Вт YDA138-E
  • bebulo's блог
  • Простейший макет станка термо-вакуумной формовки
  • Блог им. pryanic
  • peratronika
  • Zer's блог
  • MEDBEDb's
  • Гнездо кукушки
  • hiMiческий блог
  • luna_kamen's блог
  • Изучаем USI на основе сверхэкономичного прототипа
  • Алекс-Юстасу
  • SUBWOOFER.RU
  • kot sansher's блог
  • Поделки стареющего пионера
  • доброжелатель2's блог
  • Grig96. Полезные заметки.
  • Attiny 0-ой и 1-ой серии (Attiny817, 1614 и прочие)
  • pavlo's блог
  • MSP430FR
  • viper2's блог
  • Моя Электро Чинильня
  • Selyk's блог
  • VoltServis.ru
  • kpush's блог
  • OM3 на новых платах.
  • конни's блог
  • Электронный экстазёр "MASHKA".
  • ptimai's блог
  • noc functionalities
  • Sun kapitane's blog
  • ODEON AV-500
  • Sun kapitane's blog
  • Логика на транзисторах,диодах, счетние тригери на транзисторах
  • AleksandrBulchuck's блог
  • Качественные окна от производителя
  • KRALEX's блог
  • Javaman's projects
  • SeVeR36's блог
  • 3232
  • Пять копеек.
  • Az@t's блог
  • Индукционный нагрев
  • Схемы разных устройств
  • Кардшаринг SAT ТВ блог
  • PENTAGRID SAYS
  • Ещо раз о "Кощее 5И"
  • Игровые автоматы на официальном сайте
  • коллекционер
  • дямон's блог
  • Ламповый усилитель и акустика для озвучки семейных мероприятий
  • дямон's блог
  • tiosmutoutrup1971
  • Светомузыкальная установка для новачков
  • Лучшие игры для ПК скачать бесплатно
  • sqait's блог
  • Блокнотик
  • Gubernator's блог
  • Записки электрика
  • Полстакана
  • Vrednyuka
  • Интегральные микросхемы
  • grigorik's блог
  • Интегральные микросхемы
  • VMWare удобство и безопастность
  • Профсоюз обычных пользователей
  • rtfcnf's блог
  • Гидроэнергетика в России: отечественные гидроэлектростанции, типы и характеристики
  • VMWare удобство и безопастность
  • Лайфхаки от Кати
  • Kinh chong anh sang xanh gia re
  • ukabumaga's блог
  • АО "Диполь Технологии"
  • artos5's блог
  • блог
  • Kraftwerk's блог
  • 1
  • Kraftwerk's блог
  • Как выбрать точечный светильник?
  • мастерская ky3ne4ik'а
  • Работа с микроконтроллером Atmega8
  • Aronsky
  • Игорь Камский
  • Диммеры
  • 5В = 1,5+3
  • vitiv' блог
  • Ремонт цифровой панели прибора тойоты марк 100. Замена транзистора 36 ( SOT- 23 )PNP
  • Все СРО России
  • 300writers
  • Металлоискатель Tracker FM-1D3
  • Былое
  • Создание монстра "Blaster 8920"
  • 2Smart Cloud Blog
  • EmmGold's блог
  • 2Smart Cloud Blog
  • ivan15961596's блог
  • Кумир у-001
  • ivan15961596's блог
  • My blog
  • Интернет радио в машину
  • SamON
  • Помогите люди добрые
  • AI
  • Помогите подключить маяк 231 стерео.
  • Гаусс-пушки
  • Название
  • 7400's блог
  • Как я собирал свой первый импульсный источник питания
  • Віталік Приходько_130349's блог
  • Lithium ECAD - российская САПР печатных плат
  • Евгений Малюта's блог
  • ПИшу свои мысли
  • werekpro
  • Venera Electronica
  • afurgon's блог
  • Выбросьте это в парашу!
  • odaplus' блог
  • Zvik's блог
  • Smart overload protection power amplifier «Zita (Z) ThermalTrak™»
  • радиоэлектоника
  • BoBka777's блог
  • МиУЗР - Модернизация и Усовершенствование Звуковой Радиотехники .
  • aleksey9900's блог
  • Лабораторная блок питания
  • Нашел статью о пайке проводов к светодиодов
  • Китайский городовой
  • Костик0's блог
  • УФ лампа для маникюра SK-818
  • 8 Contrasts Between Web Servers and Application Servers
  • Конденсатор
  • Новости, обзоры и другая полезная информация от ИМ "Радиодар"
  • Цветомузыка
  • OPeX3's блог
  • Sem2012's блог
  • это не хлам – это часть моей жизни
  • Контроллер на базе ПК (OS Win LTSC)
  • OdiS' блог
  • Хитрости строителя
  • aleksfil's блог
  • Color Preamp - предусилитель на лампах 12AU7
  • Проблема с зарядкой литиевого аккумулятора для шуруповерта 21 вольт
  • EmmGold's блог; AVR
  • Микроэлектроника
  • З
  • CH32V
  • Блог Плотникова Ильи
  • Бесплатные радиодетали с Алиэкспресс
  • Повышение качества и снижение временных затрат при испытаниях электронных компонентов с помощью отечественного испытательного оборудования
  • Источники питания MEAN WELL
  • Жизнь и рыбалка
  • yureika's блог
  • Глушитель спутникогого интернета
  • Всякая всячина
  • Для начинающих
  • Ignite your senses with the grace and allure of female escorts near Laguna Niguel
  • Fumitox's блог
  • Наш-RXT6 топ-10 на январь 2023: Лучшие сайты онлайн казино в России
  • Лицензионные казино онлайн в 2024 году на реальные деньги
  • Самоделки блог
  • Домашняя автоматика
  • Интересное и полезное
  • Ремонт Амфитон 35у-101с
  • ульян's блог
  • Свет в грузовой газели
  • Блок питания 0-12В для начинающих
  • Список лучших онлайн казино (RU+KZ) по играм на реальные деньги: Легальные сайты России по рейтингу 2024
  • Dimko's блог
  • Иван Самец's блог
  • SolomonVR's блог
  • gendzz's блог
  • fleh138's блог
  • Электроника forever!
  • aleksejhozhenets' блог
  • aleksejhozhenets' блог
  • diserver блог
  • aleksey290476 блог
  • ВАРГ's блог
  • Люстра Чижевского
  • wanes101's блог
  • voldemar2009's блог
  • Jana's блог
  • Jana's блог
  • Рена Искужин's блог
  • abduraxman7's блог
  • Kuzumba's блог
  • Самопальник
  • заработок через интернет на запчасти!!!
  • electric.kiev's блог
  • lolo's блог
  • leravalera's блог
  • ideomatic's блог
  • приглашаем на работу инженера-радиоэлектронщика
  • FREEMAN_77's блог
  • Блог автоэлектрика
  • Блог начинающего электронщика
  • Dersu's блог
  • Электроэнергия и её экономия!
  • Электроэнергия и её экономия!
  • Семён Ковалёв's блог
  • piligrim-666's блог
  • помогите с партотивной калонкой
  • помогите с партотивной калонкой
  • Музыка в стене.
  • m-a-r-i-k-a's блог
  • cosmos44's блог
  • oyama14's блог
  • блог Виталика!
  • ciornii's блог
  • Великий и Ужастный блог
  • Denis__Ricov's блог
  • Universal12's блог
  • Sprut's блог
  • Alexeyslav's блог
  • cosmosemo's блог
  • Заметки радиолюбителя
  • Falconist. Мемуары
  • Блог MillyVolt
  • усилитель импульсов
  • Panasonic sa-ak 18
  • Простое радиоуправление из того, что было.
  • 35house
  • Блог Радиочайника
  • Блохи iiiytnik'a
  • Хороший сервис- Бяка
  • Аудиолаборатория "Философия Звука"
  • ОколоCADовое
  • Блог KVLADS
  • Короп блог
  • Автоматизация котла Protherm MTV
  • Бложиг Касянича
  • Обо всём
  • Эксперимент
  • No electronics
  • ПРИРОДА СВЕТА и ЕГО ВОЗМОЖНОСТИ
  • Генератор на xr2206
  • HTPOWLASER
  • Когда-то были очень популярны у радиолюбителей
  • AVR - микроконтроллеры
  • Микроконтроллер
  • Самодельный автосимулятор
  • Интернет-магазин керамической плитки «Боярская Плитка»
  • Разработка электронных метрических мишеней IPSC для мягкой пневматики (страйкбол)
  • ,

Поиск результатов в...

Поиск контента, содержащего...


Дата создания

  • Начало

    Конец


Дата обновления

  • Начало

    Конец


Фильтр по количеству...

Регистрация

  • Начало

    Конец


Группа


Skype


ICQ


Интересы


Город


Сфера радиоэлектроники


Оборудование

  1. Здравствуйте, уважаемые знатоки, форумчане. Рассмотрел много статей и схем, но в одну картину сложить не смог. Все мои навыки с паяльником закончены на трехканальной ЦМУ и подставке для ноутбука с ШИМ-регулятором оборотов куллеров. В МК вообще 0, и программировании тоже, но моя идея без этого жить не будет. Прошу помощи реализовать идею: Хочу сделать лампу на +12В с трех групп светодиодов (СД). 1-я: 2 обычных красных фоновых СД; 2-я: 4 СД ленты по 15 см; 3-я: 4 одиночных ярких светодиода типа Epistar LED 1W white 120lm. И все засунуть в маленький корпус (квадрат 6х6Х3 см) Принцип работы (в чем и заключается вопрос): Есть фонарик китайский, питание 4,5В (на фото), при нажатии кнопки без фиксации кратко один раз он: -включается 1 СД; -вкл +2 СД; -вкл +4СД (гоярт все 7СД); - выкл. Всем заправляет драйвер. Нужен тот-же принцип работы. Один раз нажал - загорелась 1-я группа СД; 2-й раз нажал - загорелась 2-я группа (1-я группа не гаснет) и т.д. Но еще хочу сделать, так сказать, режим Stand-by, в котором кнопка без фиксации будет светиться (кнопка на фото), а все СД выключены и МК в спящем (ждущем) режиме. (4-й раз нажимаешь на кнопку - все три группы СД выключаются и вкл СД на кнопке). У меня есть МК: AT90S1200-12PI, AT90S4433-8PI. Можно ли на них все сделать? Тема: http://forum.cxem.ne...pic=117346&st=0 в которой кнопка без фиксации и режим St-by мне не подходит - много деталей для корпуса. Еще видел похожую тему на форуме. Но там нет режима St-by и СД по очереди выкл с включением следующего. Помогите, пожалуйста, с кодом и схемой по которой все это собирать..
  2. Написал слой абстракции для мастера SPI, как программного так и аппаратного. Кому не лень посмотрите что можно исправить или доработать. Единственное, что мне не нравится, что avr-gcc ругается warning'ом на неинициализированную переменную. Я-то знаю, что после 9 сдвигов в ней не останется ни одного родного бита, но как это объяснить компилятору? char SPI_send(char data){ char res,i=7; spi.zip
  3. Здравствуйте, я начинающий в данной тематике ...написал код для включения портов на attiny13a, писал в Atmel Studio 7 (простое реле времени - каждые 25 часов включает 5 порт на 5 минут, остальные порты индикация) и конечно глядел в протеус, ну и собрал странную реальную конструкцию (uln2003, настенные часы, светодиоды, резисторы.). После не хитрых действий выяснил что 1 секунда равна примерно _delay_ms(135) (наверняка из-за фьзов), но суть в другом, а именно - 5-тый порт работает как нужно 5 минут + - 20 секунд ,НО весь цикл проходит за 5 часов - увеличение задержки не приносит результатов _delay_ms(2430000) менял на _delay_ms(222430000) ...но весь цикл проходит за 5 часов.... Хочется все таки узнать - где ошибки или как нужно сделать это правильно?! код #define F_CPU 800000 #include <avr/io.h> #include <util/delay.h> // #define F_CPU 8000000L // #include <util/delay.h> int main(void) { DDRB = 0xFF; PORTB = 0x00; while (1) { _delay_ms(2430000); //5 часов PORTB |= (1<<0); //1 лампа _delay_ms(2430000); //5 часов PORTB |= (1<<1); //2 лампа _delay_ms(2430000); //5 часов PORTB |= (1<<2); //3 лампа _delay_ms(2430000); //5 часов PORTB |= (1<<3); //4 лампа _delay_ms(2430000); //5 часов PORTB |= (1<<4); //нагрузка _delay_ms(40500); //5мин PORTB &= ~(1<<4); PORTB &= ~(1<<3); PORTB &= ~(1<<2); PORTB &= ~(1<<1); PORTB &= ~(1<<0); // 1 сек = _delay_ms(135)
  4. Доброго времени суток! Собрал схему http://cxem.net/izmer/izmer76.php, но не могу запустить LCD экран. Экран MT-16s2h-2ylg и китайский с маркировкой 1602A. (оба рабочие, проверял на другом устройстве). Экран AC162E запускается нормально , но он очень большой. В программировании не силен. На этих двух только квадратики. Подключил Я эти экраны к Arduino uno - работают. Я грешу на инициализацию дисплея. izmer76_dds_generator2.rar
  5. Всем привет. Просьба посодействовать в исправлении кода для термометра. Так как сам я в этом новичек, то код собирал из трех чужих проектов. Реализация такова, подключение термопары через микруху Max6675 к Atmega и вывод данных на LCD экран. В архиве прилагаю проект Atme Studio 7 и принт скрин из Протеуса. Ошибка заключается в неправильных показаниях температуры Test1.rar Вот код, чтоб не скачивать проект. #define F_CPU 1000000UL #include <util/delay.h> #include <avr/io.h> #include "max6675.h" #include "LCD.h" uint16_t gettemp(void); //Funktionsdeklarationen void initavr(void); //gettemp () returns absolute Temperature in Temp * 4 °C - in 1/4°-steps // uint16_t gettemp(void){ //Temperatur holen. uint8_t bit = 0, bitnr = 12; //Variablen uint8_t foo1 = 0; uint16_t Rohdata = 0; CS_Port &= ~(1 << CS); //Chip select anlegen for(foo1 = 0 ; foo1 < 16 ; foo1++){ //16 Bits einlesen bit = 15 - foo1; //Die Aktuelle Bitnr berechnen. SCK_Port |= (1 << SCK); //SCK hi if((bit <= 14) && (bit >= 3)){ //Einfach mal die 12 relevanten von den 16 Bits ausfiltern if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann... bitnr--; //zдhlen wir runter... Rohdata |= (1 << bitnr); // und schieben eine 1 an bit x }else{ //WENN dem NICHT so ist, dann... bitnr--; //zдhlen wir runter... Rohdata &= ~(1 << bitnr); //und schieben eine 0 an bit x } }else{ //weis au nimmer, was das soll. bitnr = 12; } SCK_Port &= ~(1 << SCK); //SCK LO } CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig. return Rohdata; //Das ist doch mal was ;D } // getTC() returns 0 if Thermocouple is not connected, 255 if thermocuple is connected // (to enable this feature T- must be connected to GND) uint8_t getTC(void){ //Temperatur holen. //Variablen uint8_t TC = 0; uint8_t foo1 = 0; CS_Port &= ~(1 << CS); //Chip select anlegen for(foo1 = 0 ; foo1 < 16 ; foo1++){ //16 Bits einlesen //Die Aktuelle Bitnr berechnen. SCK_Port |= (1 << SCK); //SCK hi if(foo1 == 2){ //das 3. bit ist fьr uns relevant. if((SO_Pin & (1 << SO))){ //WENN SO 1 ist, dann... TC = 0; }else{ //WENN dem NICHT so ist, dann... TC = 255; } } SCK_Port &= ~(1 << SCK); //SCK LO } CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig. return TC; //Das ist doch mal was ;D } //Initiates the MAX6675 and IO-pins void init_6675(void){ //AVR initialisieren SO_DDR &= ~(1 << SO); CS_DDR |= (1 << CS); SCK_DDR |= (1 << SCK); //IOs setzen SO_Port |= (1<<SO); //Pullups an. (Wichtig fьr MAX6675, der kann nicht anders, hab ich festgestellt... CS_Port |= (1 << CS); //CS HI //Alles auf Standardkonfig. SCK_Port &= ~(1 << SCK); //SCK LO } int main(void) { init_port();// инициализируем порт ЖКИ lcd_init();// инициализируем ЖКИ init_6675(); while (1) { char buffer[8]; int temp; temp = gettemp(); temp /=4; lcd_gotoxy(0,0);//перемещаем курсор в верхний левый угол sprintf(buffer, "t=%i\xdf\C ", temp); // так как тут не плавающая запятая то числа с запятой записываются так %i.%i, код градуса записывается так \xdf lcd_putstring(buffer); } } вставляете код пользуйтесь тегами [CОDE][/CОDE] редактора сообщений, кнопка <>
  6. Я только начал учить программирование , написал небольшой код для схемы код компилируется и работает ,но вот есть такой баг . Если нажать 2 кнопки, то как надо побегут 2 светодиода . Но если потом пустить обе и нажать первую , снова бегут 2 светодиода . Как это решить? Готовый код не прошу, прошу направить куда копать .Понимаю что по логике должна быть какае-то очистка или сброс на начало . //atmega8 #define F_CPU 8000000 #include <avr/io.h> #include <util/delay.h> void preset(){ DDRB = 0xFF; PORTB = 0x00; DDRC = 0x00; PORTC = 0xFF; } int main(void) { preset(); while(1) { if(PINC&(1<<(PC1&PC0))) { for (int i=0;i<=7;i++) { PORTB = (1<<i) | (2<<i); _delay_ms(300); } } else { if(PINC&(1<<PC0)) { for (int i=0;i<=7;i++) { PORTB = (1<<i); _delay_ms(150); } } else { if(PINC&(1<<PC1)) { for (int i=7;i>=0;i--) { PORTB = (1<<i); _delay_ms(150); } } else PORTB = 0x00; } } } }
  7. Всем привет, пытаюсь заставить общаться 2 микроконтроллера через UART, программа для atmega8 очень простая: #define BAUD 9600 #define BAUDRATE ((F_CPU)/(BAUD*16UL)-1) #include <avr/io.h> #include <util/delay.h> void uart_init (void) { UBRRH = (BAUDRATE >> 8); UBRRL = BAUDRATE; UCSRB = (1 << TXEN ) | (1 << RXEN); UCSRC = (1 << URSEL) | (1 << USBS) | (1 << UCSZ0) | (1 << UCSZ1); } void uart_transmit (uint8_t data) { while (!( UCSRA & (1 << UDRE))); UDR = data; } int main() { DDRC = 0xff; PORTC = 0x00; DDRB = 0xFF; PORTB = 0x00; DDRD = 0x00; PORTD = 0x00; uart_init(); while(1) { uart_transmit('1'); _delay_ms(100); } return 0; } На STM принимаю через UART2 (порт PA.3) вывожу через USB в терминал, за основу взял вот это: https://github.com/rowol/stm32_discovery_arm_gcc/tree/master/usb_cdc_vcp Принимать данные с клавиатуры принимает (через терминал) и символы распознает хорошо, помигал светодиодом на плате, но когда пытаюсь передать с atmega8 данные на stm32 получаю вместо символов вопросительные знаки... Что с этим делать не знаю, уже что только не пробовал. Пробовал конфигурацию которая автоматически создается как в примере выше, и пробовал сам конфигурировать: RCC_APB2PeriphClockCmd(DISCOVERY_COM_CLK, ENABLE); RCC_AHB1PeriphClockCmd(DISCOVERY_COM_RX_GPIO_CLK, ENABLE); GPIO_InitTypeDef gpio; USART_InitTypeDef usart; GPIO_StructInit(&gpio); gpio.GPIO_Mode = GPIO_Mode_AF; gpio.GPIO_Pin = DISCOVERY_COM_TX_PIN; gpio.GPIO_Speed = GPIO_Speed_50MHz; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &gpio); gpio.GPIO_Mode = GPIO_Mode_AF; gpio.GPIO_Pin = DISCOVERY_COM_RX_PIN; gpio.GPIO_Speed = GPIO_Speed_50MHz; gpio.GPIO_OType = GPIO_OType_PP; gpio.GPIO_PuPd = GPIO_PuPd_UP; GPIO_Init(GPIOA, &gpio); GPIO_PinAFConfig(GPIOA, GPIO_PinSource9, GPIO_AF_USART1); GPIO_PinAFConfig(GPIOA, GPIO_PinSource10, GPIO_AF_USART1); USART_StructInit(&usart); usart.USART_Mode = USART_Mode_Rx | USART_Mode_Tx; usart.USART_BaudRate = 9600; usart.USART_WordLength=USART_WordLength_8b; usart.USART_Parity=USART_Parity_No; usart.USART_StopBits = USART_StopBits_2; usart.USART_HardwareFlowControl = USART_HardwareFlowControl_None; USART_Init(DISCOVERY_COM, &usart); USART_ITConfig(DISCOVERY_COM, USART_IT_RXNE, ENABLE); USART_Cmd(DISCOVERY_COM, ENABLE); Когда сам конфигурирую вообще ничего не приходит, точнее приходит, но вопросительные знаки не рисуются, но свитодиод мигает, и говорит что данные приходят. Еще один момент, микроконтроллер atmega работает не от кварцевого резонатора, может быть из-за этого?
  8. Приветствую всех. Решил для своих радиолюбительских нужд собрать переходник из этой статьи. В статье прикреплены драйвера для XP, vista, 32-bit семерки. Но у меня 2 компа и на одном из них винда 8.1. На нём устройство не определяется, ну да ладно. На втором ноутбуке вин 7, но 64-bit. Когда вставляю в него переходник - определяет, как RS-232. Я устанавливаю драйвера по инструкции. В диспетчере задач теперь определяется как Virtual Communication Port и подсвечивается желтым восклицательным знаком. Но ни одна терминальная программа его не видит. Как это исправить? Обязательно нужна вин 7 х32?
  9. Здравствуйте, люди Добрые. Нужна помощь. Мне нужно написать на моем контроллере avr atmega8535 четырехразрядный регистр прямого сдвига, то есть параллельный код он преобразует в последовательный и сдвигает его нажатием кнопки вправо( вот видео, начинать смотреть с 2:50)http://ideone.com/RzAt9G вот сам код, все вроде правильно, ошибок не вижу, но на контроллере не работает. Программа задержки нужна для устранения дребезга кнопки. Пожалуйста, найдите ошибку, будьте добры. Схему попытался нарисовать с протеусе, на ней тоже, как и на настоящем контроллере, ничего не работает, хотя в авр студио все летает.
  10. Я верно понимаю, что вектор для прерывания по достижению счетчиком PWM значения TOP совпадает с вектором для переполнения этого же счетчика?
  11. В данный момент для выполнения разовых работ (в дальнейшем возможно трудоустройство) ищем толкового инженера-электронщика. Работаем с оборудованием для быстрого прототипирования (3d печать) а так же небольшими системами автоматизации. Что делать? Разрабатывать и дорабатывать платы управления а так же их программное обеспечение, для оборудования быстрого прототипирования. В основном AVR и ARM. Что нужно? Опыт разработки работы с микроконтроллерами. Опыт работы работы с 3d принтерами приветствуется. Где? Возможна удаленная работа, но в первую очередь ищем специалиста на "месте", г.Тольятти или Самарская область. Куда писать? Писать в личные сообщения или на почту dmitry [собачка] prototypus.ru
  12. Всем привет тут пришлось вернуться к давно забытым МК с ядром AVR а точнее ATmega8 оч давно имел с ними дела но не когда не делал ни чего с бутлоадером ... и вот приклинило,для начала : 1-научился работать с командой SPM, чуть позже вообще нашёл удачную процедуру с готовой записью 2- написал тестовое приложение (как программуу) 3-написал бутлоадер ,естественно что у AtmelStudio у ликера опция -Wl,--section-start=.text=0x1800 выставлена и фьюзы в ту область так же для бута Естественно что базовая прога проверена 120 байт работают просто мигают светодиодом (где он понятно из проги) И бут лоадер тоже Скраиваю их в месте по простетскому сначала шью бутлоадер а потом поверх без стирания чипа основную далее если фьюз BOOTRST показывает что всё окей, если его прожеч то стартует бут лоадер ,если нет то основное приложение Кажется все пашет но вот увы ХРЕН ТАМ бут лоадер по окончанию своей отработке не может вызвать основную аппку пробовал : asm("LDI R30,0x00\r\nLDI R31,0x00\r\nIJMP\r\n"); и так пробовал: static void (*StartProg)( void ) = 0x0000; StartProg(); по сути заново запускается бут лоадер ... прикладываю исходник бутлоадера , самого EXE так сказать и HEX документ полной сборки... Логика , экзешника состоит просто в моргании поочередно двумя свето диодами ,а бутлоадера в проверки B3 у PORTD и проверке на удержание его в течении 5 или более сеукунд... Самая главная проблема это втом что из бутлоадера в аппку не как не осуществляется переход, а просто перезапускается бутлоадер... Но вот что интересно если расположит команду перехода в аппку одной из первых, то переход работает .... BootLoader.7z Exe.7z Document.7z
  13. нужно запитать кулер, при низкой температуре от 5В, при высокой - от 12В. управляется все это дело микроконтроллером. подскажите, будет ли работать эта схема? микроконтроллер запитан от нее же
  14. Предлагаю схему простой цифровой шкалы для работы с энкодером. Плюсы- минимум запчастей, минусы- малое число разрядов. Запчасти- мк atmega8, кварц 12 мгц, семисегментные индикаторы (5 шт), uln2003, lm317, пара сопротивлений, транзистор, реле. Печатная плата не изготовлялась (макетка). Принцип работы- подсчет числа импульсов с энкодера, деление их на заданное число и в зависимости от числа в озу включение-выключение нагрузки (предполагается установка на малый токарный станок). Максимальное число импульсов- 65535 (два байта). Подсчет импульсов работает по прерываниям всегда, (поэтому нет прерывания на таймера дли индикации) кроме записи-чтения из пзу. Если по каким либо условиям мк "обнаружит" неправильное чередование фаз (неконтакт, высокая скорость оборотов) то на индикаторах высветится "Err" но как только будет нормальное чередование подсчет будет продолжаться. Установлено три кнопки и один тумблер. Тумблер переключает на индикатор импульсы или импульсы деленные на число (без остатка). Кнопка "очистка"- она же "-" очищает счетчик, кнопка "память"- она же "+"- запоминает число импульсов в ОЗУ и включает реле от 0 до этого числа, если не нужно реле то при включении очистить счетчик и нажать "память" (тогда реле не будет работать). Кнопка "делитель"-она же "запомнить"- для изменения делителя ( до 255-один байт). Для установки точки- нажать "делитель" и не отпуская нажать "очистка"- после установки нажать "делитель". В архиве файл прошивки hex, файл протеуса для моделирования, файл протеуса со схемой по которой собирался макет. Проект "сырой" но вполне работоспособный (проверяли на винте станка). В будущем будет плата и увеличено количество разрядов. Файл aws не выложил (написано на asm) но если кому надо (хотя большинство читающих сами легко напишут) вышлю (не выложил из-за "нерасчесанности" и критики). Фото "макетки" ниже. PS не знаю как переместить изображение в спойлер a.zip
  15. Здравствуйте нужна помощь. Дали датчик Mikroe-430, sht1x board и плата BigAVR6 Atmega128. Надо составить программу в Flowcode чтение температуры и влажности.Или можно в C Pro И проблема я совершенно не понимаю, как работать с I2c. Хелпа нужна ребят. Помогите кто чем может. Может у кого завалялась похожая прога. Или проконсультирует меня, было бы очень хорошо. Заранее спасибо sht1x-manual-v100.pdf
  16. Доброго времени суток! У меня имеется: - Atmega1284 - Простой COM программатор - hex файл (оригинал прошивки на Си тоже имеется) Как прошить первое с помощью второго? *в начале планировал через PonyProg, но как я понял он с этим МК не захочет работать. Как можно выйти из этой ситуации? P.S. Варианты "Сделай себе нормальный УСБ программатор" не подойдут. Запчастей нет, а если заказывать, то ждать долго, да и зачем его собирать, если я не знаю буду-ли я им пользоваться в дальнейшем. На один раз делать... хм... не охота...
  17. Добрый день, возникла неприятная проблема с фьюзами. Первоначаль у меня была схема с контроллером AtMega8 с кварцевым резонатором на 16Mhz. Мне пришлось сменить Atmega8 на Atmega168. Но тут возникла проблема с прошивкой. Первоначально фьюзы CKSEL3..0 были выставлены в 0010. то есть частота от внутреннего источника. С помощью Uniprof я прошил эти фьюзы на 0101. Теперь контроллер не откликается и не работает. Умер... соответственно фьзы обратно прошить не могу. Программатор Громмова, чтобы прошить я вытаскиваю контроллер из моей сзхемы и вставляю в программатор, кварцевого резонатора в программаторе нет. Можно ли реанимировать устройство?
  18. Здравствуйте. В общем тема избитая но не получается хоть убей. Есть 1 датчик ds18b20 микроконтроллер ATmega8515. Программирую в CodevisionAVR. Между линией данных DQ и плюсом питания поставил резистор на 4.7кОМ. Пишу,копирую программы для того чтобы сделать хоть термометр, а упорно микроконтроллер не видит датчика. Думал уже что датчик не рабочий купил второй, все равно не работает мой термометр. Вот пример программ. #include <mega8515.h> //библиотека ввода\вывода #include <delay.h> //библиотека задержки #asm //сообщаем куда подключен датчик .equ __w1_port=0x1b; PORTA .equ __w1_bit=0 #endasm #asm //сообщаем куда подключён экран PORTC .equ __lcd_port=0x15 #endasm #include <lcd.h> //библиотека для LCD #include <1wire.h> //библиотека работы с 1Wire #include <ds18b20.h> //библиотека для работы с датчиком ds18b20 #include <stdio.h> char lcd_buffer[33]; //масив с данными для экрана void main(void) { unsigned char devices; //переменная в которой количество присоеденённых датчиков int temp; //переменная для хранения температуры lcd_init(16); //инициилизация LCD, и говорим что он на 16 символов devices=w1_init(); //ищим датчики while(devices>0) //бесконечный цикл, если датчик подключон { temp=ds18b20_temperature(0); //читаем температуру if (temp>1000){ //если датчик выдаёт больше 1000 temp=4096-temp; //отнимаем от данных 4096 temp=-temp; //и ставим знак "минус" } sprintf(lcd_buffer,"t=%i.%u\xdfC",temp,temp%1); //записуемв масив для экрана температуру и всё такое lcd_clear(); //чистим дисплей перед выводом lcd_puts(lcd_buffer); //выводим масив на LCD delay_ms(500); //ждём 500мс }; } Хотя судя по всему неправильно подключен датчик. Но почему непонятно. Датчик подключен выводом GND к минусу DQ к выводу микроконтроллера, VDD к плюсу, причем выводы DQ и VDD соединены через резистор на 4.7 кОМ. На проводе DQ микроконтроллер выдает напряжение 5 вольт тестером мерял. Может кто знает в чем проблема, я уже чуть ли не с бубном прыгал. Номинал резисторов тоже кстати менял, чет не помогает.
  19. Всем привет. Отдаю свои наработки программатора для AVR в свободное плавание сообществу. На вопросы отвечу. Программатор написан на Delphi без VCL. Используется своя библиотека классов. Для программатора требуется одна микросхема FT232RL, AVR автоматически стартует после прошивки, автонастройка скорости. Если МК не шьется слетел ID, можно пропустить ID и указать вручную чип (не реализовано,только вручную в коде) Это помогает когда слетает ID. Редактор HEX, прошивка фьюзов, флеш, eeprom Фото: Файлы проекта: USBCHIP(byOXFORD).zip
  20. AtmelInside

    Самодельный Spi

    Здравствуйте, уважаемые форумчане! Хочу реализовать свой "софтверный" SPI под Atmega8. Вообще, общая цель - общение с синтезатором LMX2306. Уже сломал голову от того,- как правильно отослать 21 битные регистры, используя 8-ми битные типы данных. Поэтому захотелось свой SPI с блекджеком, который может отправлять определенное количество бит переменной с выбором направления (MSB, LSB). Не пойму, как мне задать определенную частоту работы для "такого" SPI? Например, хардварный можно инициализировать на частотах osc/4, osc/16 ит.д. Как мне такое же сделать для софтверного SPI? Пишу в Atmel Studio 7
  21. dimonadet

    Atmega8A И Reset

    Здравствуйте! Надеюсь, что не сильно засорю форум своим глупым вопросом. Я только начал интересоваться микроконтроллерами (далее МК) и еще не знаю всех тонкостей. Так вот вопрос: можно ли удерживать контакт RESET на низком уровне (насколько я понял такая операция "сбрасывает" МК) в течение долгого времени, скажем несколько минут или даже часов? Повлияет ли это на работу МК в будущем? Еще раз извинюсь, но как я уже сказал, я только начал знакомиться с этой сферой и даже не понимаю как работает функция сброса.
  22. Здравствуйте. Выкладываю результаты собственной разработки: персональный компьютер ZX Spectrum 128, разработанный с применением микроконтроллеров AVR Atmel. Конструктивно ПК представляет из себя плату, предназначенную для установки внутри стандартной клавиатуры, с которой поддерживается интерфейс PC/2. Фотографии устройства по ссылке: http://dl.dropbox.co... 128 Photos.zip Схемотехнически компьютер включает в себя центральный процессор-эмулятор (ATMega128-16AU), видеопроцессор (ATMega128-16AU), контроллер клавиатуры (ATTiny2313A-SU), блок памяти (микросхема CY7C1049 с регистром 74AC373MTC), страничного мультиплексора 74AC257 и мультиплексора, входящего в состав формирователя видеосигнгала (также 74AC257). Схему устройства можно найти по ссылке: http://zx.pk.ru/atta...83&d=1333384254 Демонстрационное программное обеспечение: http://dl.dropbox.co...ectrum SOFT.zip Сборочный чертёж: http://dl.dropbox.co...8899/Сборка.zip Пример работы: - игрушка R-TYPEhttp://dl.dropbox.co.../Vibrations.zip - демонстрашка Спасибо.
  23. Написал программу бегущие огни. Время сколько горит светодиод решил сделать через таймер, для этого написал функцию wait. Рассчитал сколько тиков сделает МК за 1 млс это 4000000/1024/1000=3.9 То есть 4 тика за 1 миллисекунду. Чтоб сделать задержку на 50млс нужно 4*50=200. Но решил проверить выставил в цикле задержки 1 чтоб цикл выполниля один раз, запустил протеус и на асцилографе наблюдал что длительность импульса равна примерно 7 млс Пробовал всяко не как не получается сделать чтоб как по расчетам таймер за 1 млс сосчитал 4 тика Вот код #include <avr/io.h> #define F_CPU 4000000; int waita=1; //Переменная задержки wait void preset() { DDRB=0xFF; PORTB=0xFF; DDRD=0x00; PORTD=0xFF; /******Настройка Таймера***********************/ //TCCR1A=0x00; //TCCR1B=0x00;//В двоичной 101 делитель на 1024 //Инициализация Т0 для задержки TCCR0A=0x00; TCCR0B=0x05;//В двоичной 101 делитель на 1024 } void wait (unsigned long int ms) { while(ms--)//Значение миллисекунд { TCNT0=0; //Начальное значение счётного регистра while(TCNT0<4){}; //Количество тиков за 1 млс } } int main(void) { preset(); unsigned char rab; while(1) { if (PIND&(1<<0)) { rab=0b10000000; while (rab!=0) { PORTB=rab^0xFF; //Т.к. LED загораются от отрицательного уровня rab=rab>>1; wait(waita); } } else { rab=0b00000001; while (rab!=0) { PORTB=rab^0xFF; rab=rab<<1; wait(waita); } } } } Скрин осциллографа . Извиняюсь не МК сделает 4 тика а Таймер
  24. Всем привет! Вот решил строить свою студию и встал вопрос о петличном микрофоне. Дело в том, что нужно делать именно беспроводной микрофон, потому что использовать его нужно будет не только в студии... Дальность ну метров 5-10. В качестве капсюля использую монофонический электретный. Контроллер AVR (Bascom). Собственно говоря вопрос в том, как с помощью мк авр передать и принять звук? Качество должно быть как можно выше (Микрофон даёт полный (20-20000Гц) спектр).
  25. Здравствуйте! Как правильно реализовать динамическую индикацию? Я сделал на Atmega8 индикацию для 6 7-ми сегментников. Все работает, но, например, где-то в коде при определенном событии мне нужно сделать задержку в 2 секунды. В таком случае все ломается Нужно что-ли как-то в несколько потоков выполнять. Для вывода данных на сегменты у меня есть одна-единственная ф-ция. Её вызываю в вечном цикле.
×
×
  • Создать...