panther1

Microc (Pro)

36 сообщений в этой теме

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

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

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

Поделиться сообщением


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

Быстрый заказ печатных плат

Полный цикл производства PCB по низким ценам!

  • x
    мм
Заказать Получить купон на $5.00

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

Поделиться сообщением


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

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

Поделиться сообщением


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

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

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

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

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

Поделиться сообщением


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

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    528

Если Вы перременную объявили как long, то она до конца своей жизни останется long'ом.
 

Поделиться сообщением


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

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

R = Vng;

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

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

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
snn_krs    13

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

R = Vng;

Подставляет

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

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

R = ( long )Vng;

Поделиться сообщением


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

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

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

unsigned char R;

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

R=(unsigned char)Vng;

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

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

Изменено пользователем Влад Иванович
заменил short на char

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Alex    528

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

 

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

  • Лайк 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
ARV    278
12 часа назад, Alex сказал:

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

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

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

Поделиться сообщением


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

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сообщения

    • Про отдельное направление. Которое для чтения детям перед сном. По вашей ссылочке кстати нашёл для этой цели  очень хорошую книгу.

      http://www.radiolamp.ru/library/books.php?id=mrb0615
    • Вы, наверно, все имеете ввиду умную ЗУ с "логикой", которая и "устанавливает ток через аккумулятор при его подключении". Простой БП же не делает этого как ответил Dr.West. (Подозреваю, что у автора темы по сути китайский импульсный БП в виде ЗУ и непонятно почему на одном из выходов завышенное напряжение ). Разобрал я "китайскую" машинку для стрижки волос, убит NiCd аккум на 1000mAh 1,2В. Отпаял его, выяснил, что на него подаётся 3,5В. БП к нему на 3В 200ma (по наклейке), хотя в холостую он даёт 4,6-4,8В. А аккуму этому он даёт 330ma. Разобрал БП , там только понижающий трансформатор. и мост. В инструкции написано что-то около 5 часов на заряд машинки. Мне вот тоже стало интересно каг таг? Это же не нормально? Планирую доработать схему и поставить конденсатор, регулятор на 1,5В и как-то понизить ток до 100ma для нового аккума, но уже NiMh на тыщу. Пока разбираюсь в схемах и теории, но с тройкой по физике это сложновато =)
    • Конденсаторы? Так там обычно так и написано: "470uF". Резисторы? Советские что ли МЛТ? Там тоже так и написано: "150Ом" Любые другие идут согласно "стандартной" маркировке, где 3, где 4 цифры, последняя - множитель:   Иногда вписывается R "точка", то-есть 10.0Ом: Или 2.2мкГн: В цветовой маркировке индуктивностей или резисторов аналогично:  (270000Ом или 270кОм) Индуктивности, конечно, бывают такие, что сам не разберёшь как маркируют) Но обычно "470uH" пишут со знаком "uH", значит 470мкГн.      
    • Для этого ОУ даже С4 ни на что не влияет(( Буду крутить С2(есть подстроечник до 40пФ).. С4 выпаял и картина неизменна.. Блин, мужики, вот я дурак..Нахер смотреть меандр(прошу прощения), если запаян С1 на 0,47нФ! Но непонятно, неужели подстройка нуля на выходе регулируется так же, как и у ЛМ318?
    • Где то в теме было - на выходе ОУ смотреть форму сигнала через 300 ом резистор, попробуй