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

Нужна помощь в программировании


Starina48

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

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

Спасибо огромное IMXO. Теперь все получилось.Правда одно неудобство: Каждый проект приходиться прогонять  отдельно. А вот заранее, в пустой проект это бы все занести. Вот очень плохо , что нет описания настроек на русском. Каждый раз приходиться спрашивать что то. Подскажите уж заодно, как изменить цвет комментария. Он у меня бледно серый. Едва заметен.

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

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

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

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

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

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

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

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

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

Alex, загрузил вашу программу в MPLAB X v.5.10 и XC 8 v2.05 и выяснил что в такой комбинации прога не работает. Ну то, что везде синтаксис свой, не пойму в чем ошибки. Я их скопировал и приложил к архиву. Может сможете разобраться в чем причина.

1Al.rar

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

В 25.02.2019 в 19:43, Starina48 сказал:

Alex, установил MPLABX v.5.10 и XC 8 v.2.05. все нормально работает,

16 часов назад, Starina48 сказал:

Alex, загрузил вашу программу в MPLAB X v.5.10 и XC 8 v2.05 и выяснил что в такой комбинации прога не работает.

Вы явно что-то сломали :)
 

16 часов назад, Starina48 сказал:

Может сможете разобраться в чем причина.

Может быть и смог бы, если бы у меня стояли такой-же версии компилятор и IDE.
В архиве, что я сюда давал, проект в MPLAB IDE 8. Это не "X", который расчитан на более опытных пользователей.
Установите 8-ку, в ней всё заработает "из коробки" (из архива).

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

Alex, проблема оказалась в строке 

  void __interrupt () my_isr_routine (void) {

и в словах конфигурации. Потребовалось изменить вид записи. Только тогда все в MPLAB X   заработало.

У меня к вам большая просьба, язык СИ я только начал изучать, поэтому очень прошу вас дописать в прилагаемом файле комментарии. Без них разбирать программу для меня очень сложно.

main c.docx

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

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

Alex куда то пропал. Я прошу тех, кто работает с этим языком , помочь проверить мои комментарии и вставить комментарии  туда где стоят знаки ????

main.c

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

52 минуты назад, Starina48 сказал:

помочь проверить мои комментарии и вставить комментарии  туда где стоят знаки ????

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

TMR1IE   ==  TaMeR 1 Interrupt Enabled (

CMCON  == Comparator Module CONtrol

INTCON == INTerrupt CONtrol

GIE == Global Interrupt Enabled , итд.

открывайте юзер мануал на микроконтроллер и читайте за что отвечает и как называются регистры и их биты, если трудности с англицким , здесь есть на понятном  http://www.microchip.ru/lit/articles/

 

 

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

Речь не об этом. Что например обозначает: 

"Функция не возвращает ни какого значения ???"

"Обьявление статического обьекта ??????"

Вычитаем из таймера 500 с присвоением ?????

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

59 минут назад, Starina48 сказал:

Что например обозначает: 

это означает что учебник по Си все таки надо изредка читать http://forum.cxem.net/index.php?/topic/67748-вопросы-от-начинающих-по-мк/&do=findComment&comment=3126706

1 час назад, Starina48 сказал:

Вычитаем из таймера 500 с присвоением ?

таймер_1 имеет 16 разрядов,  прерывание возникает при переполнении, т.е.  при переходе с 65535 в 0 .  что бы таймер отсчитал 500 тактов в таймер нужно загрузить значение 65036 ,   (число 65536 для 16 разрядной переменной равно числу 0  ,  те  65536-500=65036 и 0-500 тоже = 65036 ) записывая  TMR1=65036  и/или  TMR1= -500  - для компилятора одно и тоже. Но пока код с момента прерывания доходит до переустановки, таймер все равно продолжает считать и к моменту установки уже имеет значение отличное от нуля, чтобы убрать эту ошибку вычитание проводят не от ноля , а от значения таймера , при этом ошибка будет удалена

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

Спасибо IMXO.Вся сложность изучения в том, что кроме Шпака, и Зайца учебников по СИ нет. Огромное количество форумов ,поиск нужной информации только затрудняют. Вот я и хотел, чтобы кто нибудь рассказал о работе этой программы. На один вопрос я ответ получил. Спасибо. И спасибо за справочник.Буду разбираться.

 

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

11 час назад, Starina48 сказал:

Alex куда то пропал.

Да никуда я вроде не пропадал :unknw:
Что касается просьбы - извините, но у меня нет ни времени, ни желания, заниматься обучением.
Интернет - великая сила, научит кого угодно и чему угодно, при желании конечно же.

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

Alex, так такой ответ можно было дать в начале марта. Вообще то странно, раздел форума называется "Помощь начинающим", а здесь помощь заключается в направлении поиска информации в интернете. Я ведь просил не обучать чему то меня , а дописать Коментарии к вашей программе. Если программа написана вами, до дописать коментарии - дело 10 мин. Ну раз нет не желания ни времени , прошу мой раздел форума закрыть.

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

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

Я ведь просил не обучать чему то меня,а дописать Коментарии к вашей программе.

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

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

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

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

В 07.04.2019 в 09:40, Starina48 сказал:

Если программа написана вами, до дописать коментарии - дело 10 мин.

Дело не в комментариях. Их написать, действительно, 10 минут. Но, после этого, я неизбежно обречён на кучу дополнительных вопросов, которые превратятся в нечто похожее на обучение. Это уже пройденный этап...
И не стоит обижаться на подобные отказы, тем более на форумах. Тут никто никому ничем не обязан. Соответственно, написав сюда просьбу, не нужно ждать 100%-ного реагирования на неё.

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

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

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

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

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

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

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

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

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

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

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

  • Сообщения

    • Спасибо! Сегодня буду смотреть почему проседает... Хотя аккум нормальный, 11.1v, максимальный долговременный ток до 20А... Вообщем разбираюсь.
    • Ловите, как раз на широкую полосу для Палника рисовали, автора не знаю. Все, что нужно.   
    • @Андрей0З9  Это что за учитель и где, такой по трудовому обучению, задает задачи по физике 10 класса.?!  Бред полный.
    • Румынский дядька - перфекционист-фенечник. Бисера и бусин - дофига, вот и ставит куда не попадя, в данном случае бусинками выставил единую высоту ряда конденсаторов. Подобное встречалось, когда на ножки впаиваемых элементов одевались короткие кембрики одинаковой высоты, чем задавалась единая высота монтажа. Ну видимо румынскому дядьке лень было нарезать кучу одинаковой мелочёвки, зато было вналичии много бисера..., и креативно и желаемого достиг. С уважением, Сергей. 
    • О, это очень полезные регистры! в 88 только GPIOR0 сохранил свои полезные свойства. использую их как флаги событий прерываний. для GPIOR0 адрес порта ввода-вывода 0х1Е, а значит к нему применяются команды cbi, sbi, sbic, sbis   ну и   in, out. Когда происходит прерывание, процессор переходит на адрес обработки прерывания, вот там-то мы и располагаем код: sbi   GPIOR0, 0     ;установить в 1 бит 0 в регистре GPIOR0 reti                        ;вернуться из прерывания   Без использования регистра GPIOR0, а с использованием обычного регистра код выглядел бы иначе: push   R0                          ;освобождаем регистр R0 для SREG и сохраняем его in        R0, SREG               ;сохраняем SREG в R0, все флаги операций текущей программы sbr     R23, 1<<0             ;выставляем флаг признака прерывания, например бит 0 в регистре R23 out    SREG, R0               ;восстанавливаем SREG, все флаги операций текущей программы pop   R0                          ;восстанавливаем значение R0 reti                                  ;вернуться из прерывания   Нетрудно заметить......!   А, да команда: sbr     R23, 1<<0 в идеале изменяет флаги в SREG, потому и такая длинная цепочка команд. Далее, из всего сказанного выше... в АТмега8 до адреса ввода / вывода 0x1F, находятся некоторое количество регистров, которые крайне редко (...никогда...) используются, например: TWBR, TWSR, TWAR, SPCR, ....... их можно (... нужно...) использовать как GPIOR регистр. До связи.
    • Сабсоник 3 порядка потом усилитель на Оу. Далее все на столе отстроить и все 
    • Вот и я думаю сделать на сдвоенном операционнике входной усилитель и сабсоник. 
×
×
  • Создать...