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

Язык СИ для микроконтроллеров


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

@IMXO@Yurkin2015 , спасибо за разъяснения. Вообще, я хочу сделать беспроводной термометр на 2 измеряемые точки с аналоговыми датчиками (один - отечественный К1019ем1). Для передачи данных хотел сначала использовать библиотеку Манчестерского кода, а потом набрел на интересную статью http://www.romanblack.com/RF/cheapRFmodules.htm (на англ.) Там, в конце, есть код и для приемника, но насчет TMR0 мне было не понятно (настройка, чтение)

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

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

11 минуту назад, Aleksandr1111 сказал:

Там, в конце, есть код и для приемника

этот код не для 628го

 

23 минуты назад, Aleksandr1111 сказал:

беспроводной термометр на 2 измеряемые точки

это как?  два термометра со своими передатчиками или общий передатчик на один приемник?

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

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

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

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

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

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

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

этот код не для 628го

Это понятно :) ,пытаюсь адаптировать для 628. 

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

два термометра со своими передатчиками или общий передатчик на один приемник?

Наверно, общий передатчик (а датчики в двух теплицах), причем передатчик и приемник, возможно, самодельные.Там еще упоминается, что все это тестировалось на Pic18 с кварцами 20 МГц, а если у меня 8 МГц, то, боюсь, что при таких длительностях передаваемых нулей и единиц (порядка 80 мксек) приёмный МК не сможет корректно обработать поступающие импульсы.

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

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

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

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

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

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

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

те аналоговые датчики вы уже адаптировали?

Нет, но, мне кажется, это не так сложно, примеры кодов есть, в передатчике планирую использовать Pic12f675 с его ацп.

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

Литиевые аккумуляторы EVE Energy и решения для управления перезаряжаемыми источниками тока (материалы вебинара)

Опубликованы материалы вебинара Компэл, посвященного литиевым аккумуляторам EVE Energy и решениям для управления перезаряжаемыми источниками тока.

На вебинаре мы представили информацию не только по линейкам аккумуляторной продукции EVE, но и по решениям для управления ею, что поможет рассмотреть эти ХИТ в качестве дополнительной альтернативы для уже выпускающихся изделий. Также рассмотрели нюансы работы с производителем и сервисы, предоставляемые Компэл по данной продукции. Подробнее>>

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

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

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

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

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

@IMXO , а вообще, можно останавливать/запускать в нужный момент счетчик с помощью бита T0CS, как написал Yurkin2015 ? И еще: запись

while (PORTA.F0) continue;

значит ли, что только когда PORTA.F0 станет = 1, выполнение кода пойдет дальше по тексту, иначе программа будет ждать выполнения условия?

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

для 12 16 пиков нет, TMR0 считает постоянно

исключение новые серии PICxxF1xxx

и запускает/останавливает бит TMR0ON, бит T0CS  или внутренний генератор или внешний 

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

15 минут назад, Aleksandr1111 сказал:

с помощью бита T0CS

Поясняю. При установке бита в 1 таймер отключается от внутреннего генератора, поэтому и останавливается.

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

и при смене уровней на RA4 продолжает считать...

29 минут назад, Aleksandr1111 сказал:

значит ли, что только когда PORTA.F0 станет = 1, выполнение кода пойдет дальше по тексту,

с точностью до наоборот,

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

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

точностью до наоборот,

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

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

@IMXO , скажите, пожалуйста, у меня в проекте Протеуса 2 МК PIC16F628A, 1-ый передает данные по протоколу, согласно прикрепленному рис., 2-ой соединен через резистор 510 Ом и принимает их (статью с кодами для приемника и передатчика Вы видели несколькими постами выше), только у меня все длительности импульсов увеличены в 2 раза. Так вот передатчик-то работает и в Протеусе, и в железе, (по осциллографу), а на индикаторе приемника передаваемое число не меняется (в Протеусе).Вопрос: может ли этот протеус при  длительностях от 40 мксек и более адекватно имитировать работу такого устройства?

RFmodule_proto1.gif

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

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

Вопрос: может ли этот протеус при  длительностях от 40 мксек и более адекватно имитировать работу такого устройства?

да может

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

@IMXO , наконец, протокол заработал. Увеличил все длительности импульсов в 4 раза от исходных (поскольку у меня кварцы 8 МГц), на выходе приемного МК стоит 7-сегм. индикатор, и он сначала показывал декодированные числа в 2 раза большие, чем передавались, оказалось, в коде функции приемника есть небольшая ошибка, исправил, теперь все правильно работает (на макет. плате, МК соединены проводом).

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

  • 3 недели спустя...

В библиотеке ADC в mikroC почему-то указано,что эта библиотека работает с RC-тактовым генератором, но ведь её используют и с кварцами? Почему там так указано?

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

  • 2 месяца спустя...

Изучаю СИ по книге Ритчи и Кернигана. Задание из книги: "Проверьте, что выражение getchar() != EOF действительно равно 1 или 0."

Получилась следующая программа:

#include <stdio.h>

main()
{
  int c;
  
  	while(c=(getchar() !=EOF))
	{
		printf("%d\n", c);
	}
}

При нажатии клавиш выводит нажатые символы, вместо единиц. Подскажите, где я ошибся.

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

Видимо авторы книги использовали другую версию библиотеки "stdio.h". Или другой стандарт языка СИ. Следующая программа из книги так-же не правильно работает. Просто выводит на экран символы, вводимые с клавиатуры. Попробую другой компилятор.

Подсчет символов.PNG

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

20 часов назад, IMXO сказал:

в Си нет переменных типа булеан,  выражение считается истинным, если оно не равно ноль.

Типа нет, но результат логического выражения всегда будет 0 или 1. Программа учащегося написана верно, ваш вариант избыточен.

Почему не работает - не знаю, я протестировал вот здесь https://ideone.com/AeGca9 - работает, все нормально

43 минуты назад, Kopetan_Nemo сказал:

Просто выводит на экран символы, вводимые с клавиатуры.

Возможно, проблема в том, что stdin у @Kopetan_Nemo по каким-то причинам не связан с консолью, и поэтому вводимые с консоли символы никуда не попадают. Попробуйте запустить программу в командной строке test.exe < data.txt, где data.txt - текстовый файл, в котором надо подсчитать символы.

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

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

Просто test.exe запускается, с приставкой <data.txt, пишет "Не удается найти указанный файл". Оба файла в одной папке. Также пробовал прописывать путь для текстового файла - не находит. В архиве СИ файл и EXE-шник.

test.zip

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Всем доброго! Такой вот специфический вопрос возник - как бороться с нагревом соленоида, который будет работать 24/7 ?  В чем суть: есть такие штуки, может видели - "левитирующие цветочные горшки". Если кто ещё не видел - гуглить по ключевым словам "repulsive magnetic levitation" на youtube. С программной и электронной стороны - отлично знаю, как устроено, могут собрать - не вопрос. И хочу собрать :). Но проблема вот в чём: есть у меня большие сомнения, что соленоид, запитанный 24 часа в сутки, 7 дней в неделю - сие есть хорошо. По крайней мере, придётся очень серьёзно озаботиться (как мне кажется) борьбой с нагревом такого соленоида. Есть у меня ряд идей конечно, как это сделать - но хотелось бы послушать сначала умных людей. Любым идеям буду рад!
    • Та чистая плата, я отмывал флюс когда лампы припаивал. Да хорошо, попробую мощнее бп, а не сгорит плата, там защита есть?? А то 3 А подам и мало ли пыхнет((
    • Любые керамические конденсаторы соответствующей группы. КМ-ки бывают очень разные, группы ТКЕ - П33, МП0, М47....Н90. Также и любые другие - импортные, например NP0, X7R, Y5V и другие. Назначение, пределы емкости и потери на разных частотах разные. А минимальная индуктивность - у СМД, доли нГ.
    • Я почему то думаю, что в вар.5 вам не басов не хватает, а раскачки АС (т.е. мощности). А в нём и питание пониже, и трансы у вас слабоватые. В вашем случае надо найти хороший 4 Ом низкочастотник. Потому что питание поднять нельзя - ТIPы не выдержат. Или же заменить их на те же TIPы но100-ваттные, и добавить конденсаторов в БП. (мало там у вас). Места там в корпусе вполне хватает, надо было сразу вар.6 и делать. вар.5 - он же для того, чтобы втиснуть его например в микроцентр. Теперь по вар.6.  OPA2604 звучит действительно очень сблансированно и прозрачней чем OPA134 и OPA2134. Эти помягче и "размазанней". "Гламурно" как то.  Но на выходе что у вас стоит? Не видно. Если "сладка парочка" 2SC5200 и 2SA1943, то замените их и будет вам прозрачность. С КР574УД1 6мВ на выходе - это вообще ни о чём. Но почему греются радиаторы? Какой ток покоя? Если 40-60мА, то усилитель еле тёплый на средней мощности. Может возбуд? Тогда был бы ток покоя большой. Или радиаторы маленькие? Надо не менее 5 кв.см на Ватт. Попробуйте другой входной конденсатор. Например керамику или неполярный электролит. Ещё бывает как сейчас модно два одинаковых динамика ставят на НЧ и СЧ, так вот: НЧ динамик никогда не даст прозрачной и детальной середины. Если даёт прекрасную середину, то басов не будет хватать. Чудес тут не бывает. По этой причине я разобрал Cortland F6113. Два динамика по 12 Ом. Сейчас ставлю другие. Ну, я думаю сами разберётесь что к чему.      
    • запаял 2-4 ногу звук появился но с хрипом, теперь 1ю и 7ю ногу незнаю куда подвести подскажите пожалуйста
    • К БП очень чувствительна схема. Попробуйте помощнее. А если две цифры светятся,- весьма вероятно замыкание электродов. Или плата грязная?.
    • Собрал часы на ин -14, плату заказывал с Алика. Все цифры отдают синеватым оттенком, и иногда может на лампе сразу две цифры светить - одна ярче, другая тусклее. Плата питается от микро USB 5В 2А согласно данным продавца. Собственно вопрос - возможно другой ток нужно взять для БП и тогда не будет синевы или вообще что такое происходит, плата китайская корявая(((??? Синева кажется начинается от того, что ток на лампу меньше подаётся вроде как)))  
  • Похожий контент

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