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

Вопросы от начинающих по МК


Рекомендуемые сообщения

Какая ошибка? Русскую букву поставил? Вы серьезно? Пишу PB и следом PINB... что по вашему за секунду все переменилось и решил на анлийский перевести? Или как вы себе это предсавляете?

Ссылка на комментарий
Поделиться на другие сайты

Реклама: ООО ТД Промэлектроника, ИНН: 6659197470, Тел: 8 (800) 1000-321

  • Ответов
  • Создана
  • Последний ответ

Топ авторов темы

Только что, Дмитрий Мамедиев сказал:

Какая ошибка?

Наверное, та ошибка, что компилятор вам выводит.

Только что, Дмитрий Мамедиев сказал:

что по вашему за секунду все переменилось и решил на анлийский перевести? Или как вы себе это предсавляете?

У меня, например, стоит PuntoSwitcher, и подобные проблемы для меня - норма. Привык уже. 

А по сути проблемы: я с самого своего первого шага в Си и по сей день пользуюсь avr-gcc (ранее известной, как WinAVR), и могу со всей ответственностью утверждать, что PB0 существует во всех заголовках микроконтроллеров, в которых имеется PORTB. Поэтому вашу проблему я не знаю, как объяснить, не видя всего кода целиком и не зная подробностей о МК - о чем уже много раз говорил.

Изменено пользователем ARV

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

20% скидка на весь каталог электронных компонентов в ТМ Электроникс!

Акция "Лето ближе - цены ниже", успей сделать выгодные покупки!

Плюс весь апрель действует скидка 10% по промокоду APREL24 + 15% кэшбэк и бесплатная доставка!

Перейти на страницу акции

Реклама: ООО ТМ ЭЛЕКТРОНИКС, ИНН: 7806548420, info@tmelectronics.ru, +7(812)4094849

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Обязательным условием долгой и стабильной работы Li-FePO4-аккумуляторов, в том числе и производства EVE Energy, является применение специализированных BMS-микросхем. Литий-железофосфатные АКБ отличаются такими характеристиками, как высокая многократность циклов заряда-разряда, безопасность, возможность быстрой зарядки, устойчивость к буферному режиму работы и приемлемая стоимость. Но для этих АКБ очень важен контроль процесса заряда и разряда для избегания воздействия внешнего зарядного напряжения после достижения 100% заряда. Инженеры КОМПЭЛ подготовили список таких решений от разных производителей. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Дмитрий, последний раз вам говорю: либо код, либо разговор окончен.

На чистом листе ваш код ЦЕЛИКОМ будет ошибочным, т.к. (если вам верить и лист на самом деле чистый, т.е. кроме того, что показано, там большне НИЧЕГО НЕТ) без подключения файлов заголовоков компилятор не узнает ни один идентификатор! А раз кое-что он опознает - лист у вас не совсем чистый. Значит, вы вводите меня в заблуждение - хорошо, если просто по наивности, но если умышленно...

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

10 минут назад, Дмитрий Мамедиев сказал:

... Пишу PB и следом PINB... что по вашему за секунду все переменилось и решил на анлийский перевести...

А кто об этом знает кроме Вас? Могли и скопипастить с ошибкой.:)

Ссылка на комментарий
Поделиться на другие сайты

17 минут назад, ARV сказал:

Это очевидное предположение,

Нет ,  специально сейчас посмотрел в 6 студии файлы iot13a.h ,  тини13 и iom8a.h мега 8а нет дефайна РВ0 .

Ссылка на комментарий
Поделиться на другие сайты

Ок, я тоже посмотрел, и на самом деле нет. А для тини13 без "а" ЕСТЬ. 

Видимо, моё заблуждение было из-за того, что я никогда не парился буковкой "а" - отличия ведь несущественны для компиляции... А поди ж ты - заголовки разные.

Наворотили атмеловцы...

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

13 часа назад, Дмитрий Мамедиев сказал:

DDRB|=(1<<PB0) | (1<<PINB1);
 

дурь какая-то! У вас зачем, воЩе, в одной строчке два бита одного порта разными дефайнами обозначены???

PB0 потом PINB1 ???

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

6 минут назад, ARV сказал:

Наворотили атмеловцы...

если пины определены  как PINBх,

зачем искать определение PBx ???

Херней занимаетесь и людям голову морочите!

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

@ruhi  я так написал что бы показать что PB не проходит а проходит PINB. а если выше посмотрите то увидите скриншот где все наглядно. 

Ссылка на комментарий
Поделиться на другие сайты

3 минуты назад, Дмитрий Мамедиев сказал:

Дурь? Не курите ее.

Это вам был предыдущий комент, я промахнулся!

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

Только что, ruhi сказал:

Херней занимаетесь и людям голову морочите!

Извини, барин, не со зла, а по скудоумию...

Тем не менее, считаю, что именно наворотили: именовать биты разных регистров по-разному - зачем? Основное их отличие - только позиционное, а не смысловое. Для пяти десятков МК PB0 определять, а потом взять, и отказаться - с какого перепугу?!

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

Только что, ARV сказал:

именовать биты разных регистров по-разному - зачем?

А зачем их вообще именовать вы не задумывались?

чем отличается PINC1 от PINд1 или от PINе1 ...

Это же просто единица. Это как в армии трава должна быть зеленой, для пинов нужны дефайны!

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

Только что, ruhi сказал:

Это же просто единица.

Вот именно!

С моей точки зрения PB1 означает PORT BIT 1 и отлично может быть применено к любому порту! 

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

8 минут назад, Дмитрий Мамедиев сказал:

@ruhi  я так написал что бы показать что PB не проходит а проходит PINB.

Откройте inc-файл для Вашего МК (тот, что в проекте), прочитайте его и... "разговаривайте" с компилятором на одном языке. Тогда все будет "проходить".

Ссылка на комментарий
Поделиться на другие сайты

@Геннадий извините но я начинающий и не мог знать что для разных мк могут быть дефы не прописаны. я написал вообще 1 << 1 , а вопрос был задан из любопытства. 

Ссылка на комментарий
Поделиться на другие сайты

49 минут назад, Дмитрий Мамедиев сказал:

что для разных мк могут быть дефы не прописаны.

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

Но для начала, действительно, полезно поковыряться, чтобы знать что откуда берется.

Можно сделать все! Но чем больше можно, тем больше нельзя!

Ссылка на комментарий
Поделиться на другие сайты

8 часов назад, DmitryS сказал:

А вот PB0 - не опознала и не выделила цветом - о чем это говорит? Может быть, у вас там русская буква В, может русская буква Р - вот и получается неизвестный идентификатор.

Я пишу в студии 6.2, пишу так же, цветом не подсвечивается и по правой кнопке мыши не показывает где это определено, но тем не менее работает. Контроллер mega328p. 

2019-04-09_16-59-16.png

Ссылка на комментарий
Поделиться на другие сайты

14 часа назад, ARV сказал:

С моей точки зрения PB1 означает PORT BIT 1 и отлично может быть применено к любому порту! 

Может быть, конечно. Но есть один ньюанс... это здорово путает программиста. И разное написание хоть и сводится к одной и той же константе, помогает не совершать нелепых ошибок. Когда обращение идёт к регистру PORTB а номер бита указан PINB1(или ещё эпичней PIND1) в мозгу щёлкает несоответствие функционального назначения, что-то здесь не так - скорей всего регистр не изменён при копи-пасте или опечатка. В принципе, статический анализатор может быть настроен на поиск таких несоответствий. Но детектирование ошибок будет невозможно если вместо номера бита прописывать именно номер бита... все эти дефайны они не для компилятора - они для ЧЕЛОВЕКА.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

7 часов назад, Alexeyslav сказал:

Когда обращение идёт к регистру PORTB а номер бита указан PINB1(или ещё эпичней PIND1) в мозгу щёлкает

Вот потому я и говорю о "безликом" PB1 с "интуитивной" расшифровкой Pin Bit 1 :)

Поскольку есть регистр PINB, то PINB1 тем более заставляет мозг щелкать, т.к. подспудно кажется, что это конкретный бит этого порта... а фактически это номер бита. В общем, атмеловцы намудрили с идентификаторами, теперь можно спорить, можно не спорить... можно тупо циферки писать.

 

Если забанить всех, кто набрался смелости думать независимо, здорово будет на форуме - как на кладбище: тишина, птички поют...

Ссылка на комментарий
Поделиться на другие сайты

В 10.04.2019 в 09:04, ARV сказал:

говорю о "безликом" PB1 с "интуитивной" расшифровкой Pin Bit 1

Интуитивная расшифровка PB1 это Port B bit 1, означающая регистр ответственный за выходные триггеры-защелки порта. PinB1 отвечает за ВХОДНЫЕ триггеры порта.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

×
×
  • Создать...