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

BT201 схема подключения и управление из под ATMEGA8


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

Со временем возможно так, не видел в каком формате оно приходит.

9 минут назад, tifaso сказал:

как я понял

Ну примерно. Мы переводили шестнадцатиразрядное число из строки, потому умножали на 16. Теперь нужно сделать обратное, но число то нам нужно отобразить (преобразовать в строку) десятиразрядное. А раз действие обратное, значит вначале делим на 10, получаем результат и остаток от числа. Остаток - это тот самый искомый разряд, а результат содержит остальные разряды числа.

Например есть у нас десятичное число 754, чтобы перевести в строку первым делом делим его на 10:

754 / 10 = 75 и 4 в остатке. К 4  прибавляем 48 и получаем код символа 4 в таблице аски (52).

Теперь делим 75 на 10:

Получаем 7 и 5 в остатке. 5+48 = 53 (5 в аски)

И последнее делим 7. В остатке 7, прибавляем 48 получаем 55.

Есть ещё один алгоритм, вместо деления, использовать вычитание. Для этого из 754 вычитаем 100 пока оно больше 100 и подсчитываем количество вычитание (насчитаем 7) и останется 54, теперь вычитаем 10 и считаем. Насчитаем 5 и остаток 4.

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

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

На счёт времени пока только могу сказать следующее

Вот скрин где всё это приходит по UART

Clip01.jpg.e9bda7aa326941d1cacff83f71e6d65b.jpg

MT это общее время, а MK это текущее время.

Возьмём к примеру строку MT+00000C2E  в этой строке число 3118 которое содержит в себе время. Конкретно время данного файла 51:58. Тут я так понимаю время в секундах вроде бы.

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

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

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

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

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

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

Hongfa для различных применений в Компэл. Большой выбор в наличии!

Компания HONGFA - это не только крупнейший в мире производитель электромеханических реле, но также производитель конденсаторов, вакуумных прерывателей, трансформаторов и низковольтного коммутационного оборудования. На складе КОМПЭЛ регулярно поддерживаются около 100 самых популярных позиций электромеханических реле. Реле Hongfa могут заместить многие изделия производства недоступных брендов. Подробнее>>

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

Секреты депассивации литиевых батареек FANSO EVE Energy

Самыми лучшими параметрами по энергоемкости, сроку хранения, температурному диапазону и номинальному напряжению обладают батарейки литий-тионилхлоридной электрохимической системы. Но при длительном хранении происходит процесс пассивации. Разберем в чем плюсы и минусы, как можно ее избежать или уменьшить последствия и как проводить депассивацию батареек на примере продукции и рекомендаций компании FANSO EVE Energy. Подробнее>>

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

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

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

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

20 часов назад, donec сказал:
21 час назад, bulat943 сказал:
//затер,здесь itoa,tifaso пусть сам подумает

Странно, в XC8 нет такой функции, и в описании СИ пишут

У меня работает как надо 

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

AVR Studio 4

Я его недавно скачал,изучаю (после Bascom AVR си дается с трудом,но потихоньку прорываюсь-в сети примеров тьма-тьмущая с тележкой :) )

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

Для ассемблера не знаю,я его не изучал

Тот код отлаживал в протеусе,в железе не стал-уж больно жирно для такого проекта использовать атмега16,во вложении протеус и нех,а так же "имитатор" BT201

Proteus_BT201.zip

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

@bulat943  Печально  ... :huh:

@bulat943  возможно рабочий  . но у меня  в протеусе не запустилось ...

а  хотел глянуть , жаль  ... 

Изменено пользователем Нэцкэ

У меня есть мысль , и я её думаю ...  

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

6 часов назад, г0сть сказал:

К протезу можно и реальную железку подцепить

Можно подробнее,у меня на столе лежит BT201,как его подключить к протеусу? 

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

2 часа назад, bulat943 сказал:

как его подключить к протеусу?

bt201.jpg.558499874354fb42e1438795458758fe.jpg

Вот так. Своему железному соm-адаптеру назначаете порт из диапазона соm1-соm4. Соответственно и в протезе выбираете нужный соm-порт

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

15 часов назад, korsaj сказал:

754 / 10 = 75 и 4 в остатке. К 4  прибавляем 48 и получаем код символа 4 в таблице аски (52).

Теперь делим 75 на 10:

Получаем 7 и 5 в остатке. 5+48 = 53 (5 в аски)

И последнее делим 7. В остатке 7, прибавляем 48 получаем 55.

Логику как действовать я понял, но чего то так и не могу сообразить как это в коде записать? Просто никогда не сталкивался в микроконтроллере с такими числами которые имеют остатки.

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

char aux_buf[11]; 	// вспомогательный буфер
char str_print[11];	 // буфер строки для вывода на экран

// функция преобразования числа uint32_t в строку символов в "десятичном виде"
void IntToStr(char *str, uint32_t value)	// буфера str и aux_buf не менее 11 байт
{	// вход:	char *str - указатель на начало строки, т.е. на начало ранее выделенного буфера под строку
	//			uint32_t value - это само значение которое нужно преобразовать в строку
	// выход:	в буфере на который указывает указатель str лежит строка символов
	//
	uint8_t i;
	//
	if (value)
	{	// если значение value не равно нулю
		for (i = 0; value; i++)
		{	// пока value не равно 0 цикл идет
			aux_buf[i] = (value % 10) + 0x30;	// в буфер положить остаток от деления преобразованный в символ
			value /= 10;						// так как остаток уже использовался то берем число без этого остатка
		}
		do
		{	// так как в aux_buf строка получилась навыворот то перевернуть ее
			*(str++) = aux_buf[--i];			// в буфер по указателю str положить байт с буфера aux_buf по смещению --i, указатель переместить на следующий байт
		} while (i);							// делать пока i не равно 0
	}
	else
		*(str++) = 0x30;	// если значение value равно 0, то в буфер записать символ "0"
	*str = 0;				// сделать строку нуль-терминальной
}

// вызов функции
uint32_t param = 754;		// или uint32_t param = 0x2F2;
IntToStr(str_print, param); // в буфере str_print лежит строка "754" которую вывести на экран
LCD_String_xy(0, 5, str_print);	// вывод строки в строку 0 начиная с места 5

Если и так непонятно, тогда ....

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

В 04.05.2024 в 19:42, bulat943 сказал:

Подключил свой модуль к компу через USB-UART

А мой в разных терминалах пишет как-то так:

2.JPG.464ea63ebcbdf2a2da11eb97b488eed7.JPGк1.JPG.118c38dc82efd1ff599dea9346aa2096.JPG

Если данные будут плясать из-за качества самого модуля,скорости передачи,питания,помех,погоды на Марсе и проч.,то сложностей прибавится.

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

Гость
Эта тема закрыта для публикации ответов.
  • Последние посетители   0 пользователей онлайн

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

  • Сообщения

    • Это только один из компонентов параллельного стабилизатора. Смотрим на полную схему. Далее стоит стабилитрон. "Составной" стабилитрон. Самый что ни на есть шунт. И пресловутый конденсатор на 22 000 мкФ. Правда, некое несоответствие присутствует. Сумма напряжений на стабилитронах по даташиту 180 В, а на схеме 190. И ток номинальный...  Как-то так... А кто тут говорит об анодном питании? Тем более выходного каскада? Там и несколько вольт допустимо, тем более, с пентодом на выходе. Мы же о помехах, наводящихся на входные цепи? Ведь бывает?
    • Допустим, я не буду ставить этот фильтр. Но мне нужно понизить частоту на саб усилителе, т.к. срез не достаточный. Как я понял, за это отвечают жёлтые конденсаторы? Мне можно параллельно им добавить емкость? С фильтра снять и подпаять?  
    • Хрена. Вредные мы. @VzdornAV , а загнуть в другую сторону - слабо́ ? Чтоб не спадало, а нарастало? А то уныло как-то выглядит...
    • Попытался обмозговать схему с усилителем. Я правильно понял что регулирование сопротивления будет от значения R4 до значения R4 + макс. сопротивление перехода транзистора в закрытом состоянии, то есть от R4 до бесконечности и стабильность поддерживается за счет обратной связи на ногу 2 ОУ ? R1 это обычный делитель устанавливающий напряжение на выводе 3 ? Зависимость напряжения на входе и результирующего сопротивления лучше устанавливать экспериментально? 
    • Нужно использовать глянцевую фотобумагу.
    • На схеме электрической принципиальной - вот так, например: У вас этот прямоугольник - обозначение на схеме функциональной. Можете и в своём прямоугольнике (с горизонтальными гранями) на функциональной схеме диод так же нарисовать. И резистор. И любое другое графическое обозначение. А также можете написать в поле чертежа любые поясняющие надписи. В ЕСКД это оговорено и разрешено. На схемах электрических функциональных не обозначают внутреннюю структуру устройств. Для фильтров есть обозначения по виду АЧХ - для ФНЧ, ФВЧ, полосового и заградительного. Для фильтров с другим видом АЧХ, например гребенчатых, используют общее обозначение фильтра и поясняющую надпись. А по какой схеме он собран, - это в других чертежах. Кроме того, каждый "квадратик" должен иметь позиционное обозначение и название. На функциональной схеме - функциональное название, по названию выполняемой этим функциональным узлом функции в данном устройстве. Названий "диод", "резистор" на функциональной схеме не может быть. Будет "выпрямитель", "параметрический стабилизатор" и т.п. Ваш стабилитрон с балластным резистором может быть обозначен квадратиком с функциональным назначением "параметрический стабилизатор".
    • Чтоб тонер не растекался - нужно меньше усилие прикладывать.
×
×
  • Создать...