Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
NStorm писал(а):
olegue, всё-таки внимательно посмотрите, включая схему подключения. Чем у меня отличается от того, что у вас. У меня-то работает.
NStorm,Охотно верю, к Вам у меня кроме благодарности за содействие в изучении, нету никаких претензий. Сам понимаю ,что анекдот. Я уже поставил даже другую версию Протеуса 8.7 и в ней тоже лампочками не моргается. Надо сделать перерывчик и успокоится. А заодно прошить реальную тиньку.
Добавлено after 1 hour 12 minutes 25 seconds: NStorm, Может будет это иметь отношение, а как у Вас получается так что диод моргает. У меня диод не моргает, а моргает обычно синий квадрат возле диода (синий/красный)?
Добавлено after 1 minute 40 seconds: я уже до отладчика добрался. Расставил точки оставнова, трассирую строки. Но в функцию ISR(PCINTO_vect) никак не заходит. Ни при запуске , ни при нажатии кнопок.
Добавлено after 1 hour 2 minutes 34 seconds: NStorm, можете сбросить мне ваш проект?
В стандартной библиотеке компонентов в протеусе есть модели LED-RED, LED-GREEN и LED-BLUE - они анимированные, если их ставить, будут так подсвечиваться. Отладка AVR в протеусе может работать криво кстати. Какая версия тулчейна у вас (компилятора), какой и откуда ставили? В настройках тиньки в протеусе (свойства объекта) меняли что-то?
Любая разработка начинается с чтения документации и изучения доступных средств разработки. Данный материал целиком посвящен средствам разработки, включая детальные инструкции по запуску вашего первого приложения на BlueNRG-LP. Описана работа с отладкой STEVAL-IDB011V1, набором инструментов и пакетом ПО позволяющим разработчику быстро войти в курс дела.
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
заработало! КАк дело было. Скачал Ваш проект. Он оказался версией выше, скачал портабельную 8.7, запустил. Ваш проект сразу заработал
Тогдая я в этой 8.7 запустил свой проект, но скопировал код из вашего. Ничего не заработало. Не в коде дело. Подумал что дело в схеме. Создал новый проект в 8.7 и попробовал нарисовать схему. Но протеус вылетает каждые 2 минуты
Пошел опять в 8.5, создал новый проект, создал новую схему, а заодно удалил WinAVR-20100110 и установил его заново.
И сразу все заработало. Спасибо. Можно двигаться дальше.
Добавлено after 3 minutes 7 seconds:
что это за стрелка такая?
Добавлено after 1 minute 30 seconds: Короче дело было не в бобине, .... сидел в кабине
Что привлекает в SiC по сравнению с кремнием, и какие особенности делают компоненты SiC часто используемыми, несмотря на более высокую стоимость в сравнении с кремниевыми высоковольтными устройствами? – Объясняет специалист ведущего разработчика силовых приборов из карбида кремния, компании Infineon.
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
ну думаю немножко продвинуть Повесил на INT0 увеличеине переменной s на 100, чтбы потом в цикле регулировать частоту моргания. Ну все по классике. И вот что она мне выдала
на _delay_ms(s) выдает ошибки. Чем ему не нравиться?
Нельзя этой функции передавать переменные. Новый компилятор вообще ругнется и не соберет так:
Код:
util/delay.h:187:2: error: __builtin_avr_delay_cycles expects a compile time integer constant
А старый видимо дублирует кучу функций, вот так много места и выходит. Там вообще используются вычисления с плавающей запятой, поэтому в новых версиях только во время компиляции статический расчет включен. Делайте как-то так:
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
Придумал себе задачку. Управление с помощью радиомодулей одной кнопкой с помощью Аттини13 Радимодули (fs1000 и xy-mk-5v) О них известно, что сигнал они не инвертируют.
Хочу спросить как схематично это делается. Естественно хочу попробовать сначала сам порешать.
Нужно послать сигналы , как я понял , нужен ШИМ А потом нужно принять этот ШИм и сравнить с предопределенным.
Создать шим по кнопке мне по силам. А вот дальше уже сложнее.
Чтобы просто включить/выключить кнопку достаточно просто передать секретный код. Код это просто любое произвольное число... В двоичном виде типа так: 011010111010101010001111010101010 - включить кнопку. 101010000101111001010000111101010 - выключить кнопку. Чем больше число, тем выше надёжность всех системы))
А приёмник (МК) просто принимает сигнал, переводит в числа и сравнивает с ранее записанным в память числом. Если число (код) совпадает, то приёмник выполняет соответствующую команду - включить/выключить. Всё)) Для простых (и самодельных) радио модулей лучше использовать пакетную передачу и частотную манипуляцию.
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
ну максимум что я могу на аттини 13 - это включить светодиод кнопкой используя прерывания.
или моргнуть светодиодом, или выключить его.
что бы отправить число на порт вероятно есть какая-то функция Что касается протокола, то здесь я не понял. Протокол поддерживается на уровне микроконтроллера - это тоже какая-то программная функция?
olegue, ну вот, например: https://cxem.net/mc/mc315.php Только мне кажется вы слишком высоко берете. Для начала с основами бы дальше разбираться. Таймеры освойте, ШИМ на них аппаратный и т.д. Вы попробуйте на _аппаратном_ ШИМ плавно зажигать и гасить светодиод для начала хотя бы )
Что касается протокола, то здесь я не понял. Протокол поддерживается на уровне микроконтроллера - это тоже какая-то программная функция?
Нету никаких функций. Это не ардуина ведь. Или пишем своё или берем чужое в сети. Модули тупые - что отправим в порт последовательно, то и смодулируют в радио, как я почитал про них (не работал с такими модулями). А вот принять сложнее будет. Надо будет выделить сигнал из мусора.
для одной кнопки не нужны никакие функции... протоколы... и т.д. достаточно просто передать один код на включение и этот же код передать на выключение. Всего нужен один секретный код. ))
число не нужно отправлять на порт. Мы просто включаем/выключаем порт через разные промежутки времени.
Функцию можно использовать только одну - delay. Этого достаточно для передачи любого кода))
Программа для тиньки )) ---------- #include <tiny13.h> #include <delay.h> void main(void) {
Банально функции написать для отправки бита и пакета, чтобы не писать простыни. А еще нужна какая-то последовательность, для отделения данных от мусора. Можно ИК-протокол какой-нибудь за основу взять.
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
roman.com, не могу дать профессиональную оценку как NStorm, но то, что это мой уровень - это 100% попадание. Что-то наподобие я и предполагал. Теперь вот думаю как будет выглядеть код на стороне приемника.
>NStorm,
Цитата:
Можно ИК-протокол какой-нибудь за основу взять.
В общих чертах, что такое протокол?
Добавлено after 15 minutes 15 seconds: на приемнике,
получаю сигнал, измеряю длительность, если длительность соответствует, запоминаю в переменную получаю слещущий измеряю длительность....
а потом сравниваю с тем, кодом который должен быть.
Карма: 13
Рейтинг сообщений: 80
Зарегистрирован: Сб май 21, 2016 11:04:52 Сообщений: 2231 Откуда: Беларусь
Рейтинг сообщения:0
NStorm писал(а):
пример описания пожалуй самого распространенного протокола для ИК пультов.
понятно, это описание и стандартизация пауз и длительностей импульсов. По крайней мере мне так показалось. Если следовать какому либо протоколу, что можно где-то задейсвовать стандартное оборудование под свои нужды
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 21
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения