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

MicroC (Pro)


panther1

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

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

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

Комп был выключен, включил, все норм. запустилось (обычно он у меня на "сне"). А то и пересоздавать раз пришлось при глюках.

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

У меня подобное было. Выше редактора находится строка с открытыми проектами. Закрой все, кроме стартовой страницы и вашего проекта. После build будет все в порядке. 

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

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

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

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

  • 1 месяц спустя...

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

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

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

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

В версии 5.6.1 все работает:

ADCON1=0x8E;                           // RA0 - ADC, reft

ADCON0=0x41;                         // Fosc/8 AN0
  v=ADC_Read(0);
  ADCON0=0;

частоту кварца нужно учитывать для регистра ADCON0.

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

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

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

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

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

Всем здравствуйте! Подскажите, пожалуйста:

имеется unsigned char Rxd[0] (элемент массива) и signed long T; 
Далее пишем:
T = Rxd[0];
Происходит ли здесь изменение типа переменной Т на unsigned char?

Или Rxd так и остается unsigned char, а T остается signed long? Хотя в хелпе по микроСи сказано, что "Результат выражения имеет тот же тип, что и оба операнда", т.е. T вроде как должно преобразовываться к unsigned char...

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

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

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

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

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

Хорошо. Тогда спрошу сразу на будущее: если имеем переменную long Vng, и unsigned short R, а далее присваивание:

R = Vng;

Здесь Vng будет преобразовываться к типу переменной R ? Поскольку (нашел на сайте easyelectronics.ru):

"В операциях присваивания тип значения, которое присваивается, преобразуется к типу переменной, получающей это значение." И далее Vng  так и останется unsigned short ? Но это, похоже, про Си для персональных компьютеров.

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

Тип переменных не изменяется. Компилятор вместо

R = Vng;

Подставляет

R = Функция преобразования типа ( Vng );

Это неявное преобразование. Можно сделать явное

R = ( long )Vng;

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

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

(переменные возьму с предыдущих вопросов)

unsigned char R;

unsigned long Vng;  - глобальные переменные.

R=(unsigned char)Vng;

это явное привидение типов и в R поместится младший байт от  Vng.

Вопрос: отработав эту подпрограмму, каким будет Vng? long или char?

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

Останется long'ом. Тип переменной - неизменная величина.
Переменная приводится к другому типу только в момент обработки выражений.

 

PS: Подпрограмма - это блок кода, имеющий точку вызова (входа) и возврата (выхода), выполняющий определённые действия. То, что Вами выше написано - не подпрограмма, а обычная операция присваивания.
 

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

12 часа назад, Alex сказал:

Переменная приводится к другому типу только в момент обработки выражений

Значение извлекается из переменной, приводится к указанному типу и затем как-то обрабатывается в выражении. Сама исходная переменная никак не модифицируется. так правильнее. 

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

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

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

  • 1 год спустя...

Всем привет!
Пишу программу в "MikroC PRO v.6.6.1" для термостата на PIC16F628A. Использую внутренний генератор без CLKOUT. Кнопки настройки термостата подключены на RA5 и RA6. Кнопками на ножки подаю ноль, подтяжка на +5В есть. В Протеусе проверяю работу, в итоге: на RA6 кнопка работает как надо, а на RA5 работает как сброс, хотя в "Edit Project" опция "RA5/MCLR/VPP Pin Function" установлена в Disabled. Бьюсь почти целый день, не пойму, что я сделал не так - RA5 не хочет работать как цифровой вход. В железе не проверял, хочу сначала отладить в Протеусе.
С ПИКами общаюсь недавно, а RA5 использую в качестве входа впервые, поэтому не хватает опыта найти косяк. Рассчитываю на вашу помощь. Настройки конфигурации во вложенном файле.
 

Конфигурация.png

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

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

проверил работает.  ищите косяки в проге.

Спасибо за оперативный ответ. Действительно, на простенькой тестовой программе и схеме всё заработало. Пойду копать термостат...

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

16 часов назад, Влад Иванович сказал:

\\\\\\\\\\\\\\\\\

Спасибо, уже проверил на тестовой программе и убедился в этом.

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

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

Всем привет! с микро Си работаю давно, но с операцией типа x = y ^ z не сталкивался, в не зависимости какие будут переменные (long, float и т.д.) результат вычислений получается не верно. Есть библ. функция Pow, но он работает только с переменными double, для такой функции не хватает памяти. Может кто нибудь знает, поделитесь инфо пожалуйста.

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

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

но с операцией типа x = y ^ z не сталкивался, в не зависимости какие будут переменные (long, float и т.д.) результат вычислений получается не верно

Операция ^ - это побитовый XOR, т.е. "исключающее или" :) и можно утверждать, что результат 100% правильный, т.е. такой, как и должен быть при этой операции.

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

Есть библ. функция Pow, но он работает только с переменными double, для такой функции не хватает памяти

А свой вариант написать руками - не судьба? Для целочисленного показателя степени это очень просто :) 

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

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

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

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

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

Измеритель ВЧ уровня на логарифмическом усилителе AD8307. У меня есть частотомер и измеритель индуктивности на PIC16F876 с индикатором 2х16, вот туда хочу добавить еще и этот http://vrtp.ru/index.php?act=categories&CODE=article&article=3423. чтоб не городить еще одну коробочку. Индикацию в децибелах сделал уже, показывает нормально, нужно вычислить милливольты. Вечером еще попробую разобрать участок кода где автор статьи вычисляет милливольты.

AD8307ANZ.pdf

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

  • 1 год спустя...

Доброго времени суток.

Прошу подсказать как в си в функцию, аргумент которой указатель передать число без сторонней переменной. То есть:

Есть функция вывода данных/команд на ЖКИ:

void LSD_zapis(unsigned char F_LSD_data_comand,unsigned char *F_LSD_data, unsigned char F_LCD_kol_polubayt);

где: 

F_LSD_data_comand- выбор передачи команды или данных;

*F_LSD_data - указатель на массив данных;

F_LCD_kol_polubayt - длина массива в полубайтах.

при выводе массива данных проблем не возникает так как данные расположены в массиве, а вот при выдаче команды часто приходится выдавать просто один байт, сейчас это делаю так:

    temp_data=0x73;
    LSD_zapis(1,temp_data,2);

Но хочется без temp_data , указывать число 0х73 как аргумент, то есть так:

    LSD_zapis(1,0x73,2);

Как возможно это сделать?

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

За ранее спасибо.

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

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

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

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

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

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

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

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

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

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

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

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