GROMIT

Вопросы От Начинающих По Мк

7672 posts in this topic

Добрый день. Подскажите пожалуйста!!! Я начинающий радиолюбитель сейчас занимаюсь изучением МК. вопрос такой- есть в наличии китайский программатор AVR ISP STK-500 купленный приятелем на чип дипе https://www.chipdip.ru/product/atmel-avrisp-stk500-usb-isp-programmer?from=suggest_product является ли он копией AVR ISP MK2? и как же мне прошить на нём Attiny13? Нужно ли дополнительное параллельное  питание 5в или нет? программатор конечно китайский. системой определяется как COM порт, в программе AVR STUDIO тоже определяется, но МК не считывает. 

Share this post


Link to post
Share on other sites

Опорное решение: компоненты для защиты RS-485

Компания Bourns анонсировала новую (4-ю) версию демонстрационной платы для тестирования защиты низковольтных слаботочных цепей от токовых перегрузок и импульсных перенапряжений, в частности, для защиты интерфейса RS-485. Мы собрали для вас всю самую интересную информацию по данной теме на одной странице.

Подробнее...

COKPOWEHEU    273
В 04.11.2018 в 21:31, Дмитрий Мамедиев сказал:

В общем библиотека есть но компилятор его не видит.

Если путь прописан правильно, то компилятор его увидит. Значит либо неправильно (скажем, внутренние относительные адреса развернуть не может), либо ругается на что-то еще.

16 часов назад, Андрей Брыжак сказал:

Вот что пишет.

Как минимум, у вас не указан файл прошивки.

Ошибка как у вас возникает если что-то подключено неправильно. Возможно, где-то нет контакта, не подается питание или что-то подобное. Изредка может заглючить сам программатор, но тут надо его просто переткнуть.

Share this post


Link to post
Share on other sites

Видео вебинара «Уникальный подход MORNSUN к разработке DC/DC-преобразователей. Что на выходе?»

На сайте КОМПЭЛ доступны материалы вебинара, посвященные последнему поколению DC/DC преобразователей с фиксированным входом R3 от MORNSUN. Вы можете посмотреть видеозапись, ознакомиться с презентацией и ответами на вопросы.

Подробнее...

Вариантов тьма - от неправильного подключения, до неправильного "обращения" с дисплеем (тип, инициализация и тд...).

Share this post


Link to post
Share on other sites
солар    198

Обычная ошибка - вход контрастности на дисплее подключен не туда или на нём не то напряжение.

Share this post


Link to post
Share on other sites
si4karuk    16

Привет, помните старого начинающего? ))

Есть проблема. Реально не могу решить, потому что не знаю как задать вопрос, как сформулировать и вообще с какой стороны подойти к решению. Но оно точно банальное по самое нехочу.

Нужно на порт, вывести несколько бит. А точнее число от 0 до 15. Казалось бы вопрос реаем как два байта переслать, да не тут то было, по крайней мере, мне так показалось.

Порт у нас семибитный. Старший бит настроен на вход, два младшие работают на динамическую индикацию. А вот на остольные четыре, надо вывести то самое число.

При чем выводить надо независимо от всего что делает контроллер, и очень быстро.

        PORTD &= ~ (1 << PD2)|(1 << PD3)|(1 << PD4)|(1 << PD5);
		if (kilkist == 1){PORTD |=  (1 << PD5);}
		if (kilkist == 2){PORTD |=  (1 << PD4);}
		if (kilkist == 3){PORTD |=  (1 << PD4)|(1 << PD5);}
		if (kilkist == 4){PORTD |=  (1 << PD3);}
		if (kilkist == 5){PORTD |=  (1 << PD3)|(1 << PD5);}
		if (kilkist == 6){PORTD |=  (1 << PD3)|(1 << PD4);}
		if (kilkist == 7){PORTD |=  (1 << PD3)|(1 << PD4)|(1 << PD5);}			
		if (kilkist == 8){PORTD |=  (1 << PD2);}
		if (kilkist == 9){PORTD |=  (1 << PD2)|(1 << PD5);}
		if (kilkist == 10){PORTD |=  (1 << PD2)|(1 << PD4);}			
		if (kilkist == 11){PORTD |=  (1 << PD2)|(1 << PD4)|(1 << PD5);}	
		if (kilkist == 12){PORTD |=  (1 << PD2)|(1 << PD3);}
		if (kilkist == 13){PORTD |=  (1 << PD2)|(1 << PD3)|(1 << PD5);}

Попробовал так, хорошее покрывало получилось, да не работает. Дрыгается все и не стираются не значащие биты. Что не так?

Пробовал способом Switch, вообще висит все.

Помогите старику-неучу. 

Edited by si4karuk

Share this post


Link to post
Share on other sites
si4karuk    16
void out_bit_port(unsigned char chislo)
{
	unsigned char tempPORT;
	tempPORT=PORTD &0b1000011;
	tempPORT|= (chislo &0x0F)<<2;
	PORTD = tempPORT;
}

Спасибо за помощь.

Этот код похоже работает.

На tempPORT=PORTD&b11000011; компилятор ругался, я поправил tempPORT=PORTD &0b1000011;

и убрал лишний бит. (Attiny2313 PORTD - семь ног)

Но работая, он трогает бит номер два, из за чего? 

Виктор, с вашим не разобрался, не запускается вообще. Спасибо

Edited by si4karuk

Share this post


Link to post
Share on other sites
IMXO    1498
2 минуты назад, si4karuk сказал:

Но работая, он трогает бит номер два, из за чего? 

исходя из описанной вами логики работы или нет?

Share this post


Link to post
Share on other sites
IMXO    1498

так это если бы дергался 1 или 0 бит , а у товарища претензии  к 2биту  , ему что-то не нравицо :)

Share this post


Link to post
Share on other sites
si4karuk    16

Вы же знаете, у меня все не так как у людей :lol:

Но запретив перывания , все задергалось как надо. Это же бывает такое :D

void out_bit_port(unsigned char chislo)
{
	asm volatile ("cli");
	unsigned char tempPORT;
	tempPORT=PORTD &0b11000011;
	tempPORT|= (chislo &0x0F)<<2;
	PORTD = tempPORT;
	asm volatile ("sei");
}

Спасибо, куда деньги слать?

 

Edited by si4karuk

Share this post


Link to post
Share on other sites
snn_krs    58

Ну в любом случае если динамическая индикация в прерывании реализована, то лучше прерывание запрещать.

1 minute ago, si4karuk said:

Спасибо, куда деньги слать?

На деревню.

Share this post


Link to post
Share on other sites
IMXO    1498

именно по этому и надо запрет , для атомарного доступ к порту.

и функцию тогда надо переписать

void out_bit_port(unsigned char chislo)
{
	unsigned char tempPORT;  
    chislo &=0x0F;
    chislo <<=2;
	asm volatile ("cli");
	tempPORT=PORTD&0b11000011;
    tempPORT|=chislo;
	PORTD = tempPORT;
	asm volatile ("sei");
}

 

Share this post


Link to post
Share on other sites
si4karuk    16

Ага, это называется - Атомарный доступ к порту.

Атомарные оперции. Побежал учить.

В таком виде функция не работает. И есть предупреждение на сложение.

Edited by si4karuk

Share this post


Link to post
Share on other sites
Viktor26    309

@si4karuk в моем фрагменте вообще все просто, вам нужно записать данные в 2,3,4,5 биты регистра порта. В цикле for проверяем 1или0 нужно записать. Переменной data, я это обозначил для читаемости. Вместо неё нужно подставить код, который указывает на проверяемый бит, который вы записываете в порт. И так 4 прохода с 2 по 5. Все просто. 

Share this post


Link to post
Share on other sites
IMXO    1498

Витя, ты представляешь в какую асмовскую портянку развернется твой код? :)

Share this post


Link to post
Share on other sites
si4karuk    16

Компилятор студия покойного Атмела.

Круче моего ковра, никто не придумает. Ну той с которой я сюда приперся.

18 минут назад, IMXO сказал:

поправил.

Не хотите офигенно прокомментировать свой код? Ну чтобы даже мне дошло. Спасибо

Share this post


Link to post
Share on other sites

Your content will need to be approved by a moderator

Guest
You are commenting as a guest. If you have an account, please sign in.
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoticons maximum are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By small girl
      Привет, ребят! Кто возьмется написать на С протокол взаимодействия для сети микроконтроллеров. База: STM32 с bluetooth модулем HC-06,- slave. ПК - master?

      За вознаграждение
    • By LegionKC
      Добрый день.
      Экспериментирую с платой TP4056 и MK ATmega8, конкретнее - пытаюсь собрать простенькое зарядное устройство с выводом параметров при зарядке/разрядке на АЦП МК. Для измерения тока нашел ACS712. Думаю, что получится выводить ток при зарядке (т.е. когда идет питание на TP4056 и нагрузка отключена) и при разрядке (питание выключено, нагрузка подключена). Нагрузка - резистор. Возникла проблема с измерением напряжения на АКБ. Вернее, проблема с отсутствием идей как это сделать. Может какую-нибудь схему делителя напряжения нужно сделать? Прошу помочь советом. Схему из пэинта прилагаю.
      Спасибо.
       

    • By Геннадий Быков
      Уважаемые электронщики и им сочувствующие!
      Хочу на даче собрать макет морского маяка в человеческий рост. Но для этого необходима схема управляющая светодиодами. Основное, схема должна иметь независимое питание(Солнечная панель) и быть слаботочной (5-9 вольт). Как вижу я. Маяк ориентировочно высотой 1,50-1,80 м. В маяке, с низу до верха 6 окошек (по одному 5мм светодиоду). И на верху сам маяк из 8-ми 0,5 ваттных светодиодов установленных по кругу. С наступлением темноты, включаются диоды на "1 этаже" и раз в 5-10 минут происходит действие. Диоды поэтажно (снизу вверх) начинают загораться (как будто кто-то поднимается вверх по ступеням) и после загорания самого верхнего окна, через пару секунд, включается маяк. Поочередно по кругу (эффект метеора), со скоростью 2-3 сек на круг, делает оборотов 10 и выключается. Потом в обратной последовательности гасятся окошки (светодиоды) сверху в низ и остаются два нижних, периодически и независимо включающиеся и выключающиеся (эффект присутствия). И вновь через 5-10 минут вышеописанное действие. Буду очень признателен любым советам, ссылкам, помощью. Немного умею паять, немного знаю Ардуино. Готов в разумных пределах спонсировать, разработку и сборку.
    • By Vladislav7
      Добрый день.
       
      Необходимо разработать схему для изготовления печатной платы с установленным микроконтроллером (подобрать подходящий), также подобрать все электронные компоненты и написать программу.
      Цель следующая:
      Необходимо с помощью одного контроллера управлять двумя цепями состоящими из 15 светодиодов (мощность одного = 0,1 Вт) каждая, диоды одноцветные.
      При включении одной кнопки начинает мигать одна цепь. При включении второй - вторая. Возможность одновременного включения кнопок.
      Необходим датчик индикации на кнопке, который будет мигать в такт светодиодной цепи. Принцип кнопки как у аварийной сигнализации.
       
      Спасибо.
    • Guest fujika
      By Guest fujika
      Помогите найти деталь. На месте отсутствующих, должна быть или развязка или "согласователь", примерное описание две штуки по 8 ног каждая связывают между собой аудиочип, выход на наушники и разъемы SPK_1 или (2).
      Что удалось нагуглить: в даташите на realtek alc892 есть что-то похожее но с 10 ногами и подписано как con10a.
      Зачем. Хочу подключить колонки напрямую к материнской плате и насколько я понимаю, они должны отключаться при подключении наушников, но для этого нужно впаять то что не впаяли китайцы.

  • Сообщения

    • Древние все явления объясняли с их точки образованности. Возможно инопланетян, которые их многому научили, назвали богами а их знания божественными=сакральными т.к сами о многом не имели никакого понятия. Иначе как объяснить сложные технические сооружения (пирамиды), мегалитические обсерватирии типа Стоунхенжа и различные предметы культа/быта из стекла и сплавов, требующих знаний, технологий и оборудования? Мегалиты разрезаны словно гигантскими пилами, которых и сейчас нет. Чем сделаны чёткие отверстия квадратного сечения в твёрдой породе до сих пор объяснить не могут. Как и сложенные стены мегалитов, с высокой точностью расставленные мегалиты согласно созвездиям. Многие народы 11августа считают особым днём. Например армяне отмечали Навасард-новый год. Хотя это самый большой из "звездопадов" - Персеиды, пик которого приходится с 11 на 12 августа, метеоры будут лететь к Земле по 150 вместо 100 штук в час. Этот метеорный поток, начавшийся с 17 июля, продлится вплоть до 24 августа. Его частицы это сгорающие в земной атмосфере фрагменты огромной 26 км в диаметре - кометы Свифта-Туттля, через шлейф которых наша планета походит раз в год в августе. Источником, из которого визуально направляется к нам поток Персеид, является созвездие Персея, в связи с чем и было придумано название. Метеоры Персеид известны, как наиболее яркие и быстрые, которые оставляют после себя довольно длинный след на небе. Северное полушарие, в котором расположена наша страна, является лучшим местом для наблюдения этого звездного дождя. Начинать наблюдение за ним можно уже с 22 часов 11 августа, правда в это время процессу может помешать свет Луны. Поэтому астрономы советуют начать процесс после полуночи и любоваться зрелищем вплоть до рассвета. И лучше за городом. Этот звездопад я наблюдал много раз когда жил в области. Метеоры падали каждые 10секунд. Там небо чистое и Млечный путь реально белая полоса из скопления звёзд, проходящая через всё небо. Такого в городе не увидишь. Там же видел непонятные светящиеся объекты. Вообще астрономией увлекался в школе и ночами смотрел в ночное небо/на луну в самодельный х100 телескоп. Так вот, древние народы могли объяснить и записать подобные явления согласно своему этносу как угодно. Греки могли видеть в этом гнев Зевса, как впрочем и в обычной грозе. С появлением оптики и телескопа люди стали следить за звёздами и появилась астрономия. Но до этого они видели лишь созвездия, которые привязали к астрологии и эзотерике. Народы одного полушария никогда не видели звёздной карты неба другого полушария, отсюда разница и представление о звёздах. Это сейчас нам это известно, а кто показал всю карту неба например египтянам остаётся загадкой.
    •   Чтобы удобнее было снимать боковинки для обслуживания плат со схемой БП, торы лучше положить на днище. Прижать через резинки одним общим толстым текстолитом, а к нему сверху выпрямитель поставить или еще чего-нибудь на будущее. Если по высоте не пройдет, тогда этажеркой. Но боковинки лучше не задействовать, чтобы можно было крутить и подлезать к конструкции со всех сторон. Да и точка соприкосновения у лежачего тора гораздо больше. Меньше будет нагрузка на витки обмотки.
    • Куплю медный обмоточный провод в лаковой изоляции диаметром 0,71мм и 1,32мм. Первого нужно ~60м (ну или 250-300гр по весу), второго нужно 100м (ну или 1,25-1,5кг по весу). Желательно в Санкт-Петербурге или около Новороссийска, но если далеко, то и почтой или транспортной можно доставить
    • На картинке много эховцев. Они не получают гранты, их финансирует газпром. И где это они поливают говном нашу страну? Дай ссылку на это обливание  или будешь стоять рядом в одном ряду с πиздаболом ARV.  )) Я только что тебе сказал, что мне похyи правильный ответ - ты обоснуй, почему он правильный!    Да ни на кого не надо равняться! Ты без равнения жить не способен? Срать только строем можешь сходить? Сколько тебе лет, дебила?   -у тебя своих мозгов не хватает, чтобы на них не смотреть или не ровняться?   За такое предложение тебя озёрные дружки и другие жулики с ворами самого первого в воронок посадят. зы В 37 даже копейку было страшно украсть у государства, а путинские воруют миллиардами!!! Ты опять запостил голый ролик. Мозгов не хватило кратко своё резюме написать?    
    • -Мужик, это опять ты? Хорошь сюда звонить! -Извините, не туда попал - Как с тобой жена живёт?.. ты всё время не туда попадаешь.
    • Стен, за 5лет скакания они всё вытрясли за шо скакали на майдане... скачут чисто по энерции (слава всевышнему не все)... Донбасс не скачет -получите из миномёта... ПАСЕ не скачет-продались кремлю за газ и СН... тут не скачут- путинские зомби/агенты кремля.  Лично мне пофиг. Хай скачут у себя сколько влезет, устраивают гейпарады и идут в европу.  Главное чтоб других не заставляли скакать под свою дудку. 
    • У него перед глазами схема-и говорит не помню какой транзистор в термо? Забавный ролик,согласен с @finn32