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

larivlad    0

Здравствуйте.

Пишу и отлаживаю свои программы на MPLAB. Проблем нет.

Решил попробовать писать на языке С и установить MicroC for pic и столкнулся со следующей проблемой:

открываю проект примера Timer0 Interrupt и запускаю отладку программы. Выбираю регистр Tmr0 для контроля

и пошагово прохожу по программе, а изменений в таймере почему-то не происходит,

также не происходит и вызова Interrupt. Помогите разобраться почему пример предложенный самим MicroC for pic не работает.

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


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

Начну с совета: забыть о MicroC и поставить, например, xc8

Прерывания разрешены? Таймер сконфигурирован и запущен?

  • Одобряю 1

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


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

MicroC for pic отличная программа не чата замудрёной MPLAB

  • Не одобряю 1

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


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

Вопрос

В 07.06.2017 в 16:58, larivlad сказал:

Помогите разобраться почему пример предложенный самим MicroC for pic не работает

, а не какую IDE можно ещё использовать и почему. Умники, ёпта...

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

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


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

Найдите миллионы труднодоступных

электронных компонентов

Alex    551
3 часа назад, UVV сказал:

MicroC for pic отличная программа не чата замудрёной MPLAB

Вы работник Микроэлектроники чтоли, такие лозунги выкрикиваем ? Или просто кроме микроси ничего в глаза не видели ?
MPLAB не замудрёная, MPLAB - инструмент от производителя. А микроси - сторонняя какашка. Что сама IDE, что их недокомпилятор.

Не надо тут ля-ля...

 

В 7 июня 2017 г. в 15:58, larivlad сказал:

также не происходит и вызова Interrupt.

Избитая тема. MicroC в отладке - г..но. В прерывания не входит, watch'и отстойные, ... 
Если решили перейти с АСМа на Си, то просто поставьте сишный компилятор и не наживайте гемор. Иначе так ничему не научитесь, кроме как задавать на форумах вопросы ардуинщиков, типа "Помогите найти библиотеку", "Почему вот этот код не работает ?", и т.д...
 

  • Одобряю 2
  • Не одобряю 1

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


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

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

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


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

У MicroC процесс создания нового проекта очень прост и понятен

В MPLAB'е тоже всё понятно и элементарно. Проект создаётся в несколько кликов мыши.

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

биты конфигурации определяются до входа в текстовый процессор

Вы наверное имели в виду "редактор", а не "процессор".
Не вижу тут плюсов, в плане "до". Есть разница когда их ставить, "до" или "во время" ? В MPLAB'е их можно тоже мышкой устанавливать, не прописывая в коде.

Цитата

так же до можно подключить либы и инклюды

Не вижу проблем написать пару строк со словами "include". По сравнению с основной программой - это микроб.

Цитата

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

Значит Вы просто ещё не писали серьёзные программы. Отладка - необходимая вещь, с которой сталкиваешься постоянно.

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


Ссылка на сообщение
Поделиться на других сайтах
Vovka    30
13 часа назад, UVV сказал:

MicroC for pic отличная программа не чата замудрёной MPLAB

Без обид, но это ответ студента, который кроме как мигалки на светодиоде ничего не писал!

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

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

Так поставьте MPLAB X - там есть конфигуратор. Лично мне MPLAB X не понравился и я по прежнему на MPLAB IDE, а конфигурирую в отдельном файле.
ГЛЮКОВ НЕТ??? Да я на всю жизнь запомнил, когда готовый проект на PIC18F46K22, память была заполнена где-то на 90%, добавляю простую задержку из пары nop-ов и после этого прошивка перестает работать! А заказчик нервничает! И как я потом срочным образом все это дело переносил на MCC18...
Если бы мне кто раньше такое сказал, то я бы в жизни MicroC  не поставил!

22 минуты назад, Alex сказал:

Значит Вы просто ещё не писали серьёзные программы. Отладка - необходимая вещь, с которой сталкиваешься постоянно.

Я в последнее время, где это возможно, поступаю так: в main.c, в функции main() делаю инклуд файла с кодом этой функции. В Visual C++ делаю программку и вставляю этот файл. Отлаживается все без глюков, плюс делаю визуальный интерфейс, который можно показать заказчику. Потом в MPLAB компилирую прошивку и заливаю - очень удобно! Т.е. вся основная работа по написанию логики прошивки идет в Visual C++. Хотя можно и без MPLAB компилировать через bat-файл...

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


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

Тут как говорится кто к чему привык. Отлаживаю в proteus-е. Максимум писал под pic18f4550. Я с начало хотел тоже начать с MPLAB на HI-tec-е но уж очень там было всё забубённо, потом вышел на микрос и всё пошло. 

Не надо здесь людям руки отбивать от мирос всё в ней нормально.

Последнее что писал для мк это передача USART по радиоканалу на модулях DRA889TX и DRA887RX, один приёмник и 50 передатчиков. Пришлось придумать небольшой протокол передачи данных и все тайминги на ошибки потери пакетов также приём и передачу всё обрабатывал в прерывании да ещё и дисплей знакосинтез. пришлось прикрутить к приёмнику для отображения какой когда сработал датчик. Да и всё это должно было быть подвешено через сторожевую собаку.

Но увы заказчик смылся и на связь не выходил.

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

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


Ссылка на сообщение
Поделиться на других сайтах
larivlad    0
22 часа назад, UVV сказал:

MicroC for pic отличная программа не чата замудрёной MPLAB

unsigned cnt;

void interrupt() {
  if (TMR0IF_bit) {
    cnt++;                 // increment counter
    TMR0IF_bit = 0;        // clear TMR0IF
    TMR0   = 96;
  }
}

void main() {
  OPTION_REG = 0x84;       // Assign prescaler to TMR0
  ANSEL  = 0;              // Configure AN pins as digital
  ANSELH = 0;
  C1ON_bit = 0;            // Disable comparators
  C2ON_bit = 0;
  TRISB = 0;               // PORTB is output
  PORTB = 0xFF;            // Initialize PORTB
  TMR0  = 96;              // Timer0 initial value
  INTCON = 0xA0;           // Enable TMRO interrupt
  cnt = 0;                 // Initialize cnt

  do {
    if (cnt >= 400) {
      PORTB = ~PORTB;      // Toggle PORTB LEDs
      cnt = 0;             // Reset cnt
    }
  } while(1);
}

Вот такой код примера из папки для 16f887. Все регистры загружаются при отладке верно, а в таймере значение 96

и не увеличиваются при отладке.

Может я какой кривой microc поставил? 

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


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

Версия какая микроси ?

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


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

На одном компьютере 5.61, на другом 6,61 и работают все одинаково.

Нужно было написать простую програмку для измерения 

длительности входного импульса используя таймер 1. Хотел попробовать на С.

Написал откомпеллировал.

А таймер при отладке молчит. Вот потом я и решил попробовать  пример от microc. 

 

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


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

@larivlad привет.

Вот тебе пример для PIC16F677A таймер считает секунды минуты часы но под 

593d55727aec9_.GIF.1facb7098625aa9e634d84f6b0f67245.GIF

в общем по переполнению TMR1 происходит прерывание в котором инкрементируется переменная tmr_sec а в основном цикле программы выполняется счёт минут и часов и вывод этого всего на дисплей.

Всё это дело можно спокойно отлаживать вот в такой программе

593d56e615d2c_3.GIF.865ec0a14f6c3e30da9987ea6e29a313.GIF 

это её рабочая область с лева окно Watch Window отображаются регистры МК а с права сама схема.

593d58d15aa31_4.thumb.GIF.4c4d340ed58f8af505499cf7f11dc160.GIF

тут в архиве весь проект 1.rar

 

 

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


Ссылка на сообщение
Поделиться на других сайтах
dosikus    12
В 09.06.2017 в 11:37, UVV сказал:

Не надо здесь людям руки отбивать от мирос всё в ней нормально.

Приведите исходники встроенных либ. И каким  чудом вы будете трассировать их чудный код.

  Если вам это ничего не говорит, и вы уверовали в непогрешимость продуктов МикроЕ , то свой шаг в ардунью вы уже сделали. Вляпались по самое немогу ...

  • Одобряю 1

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


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

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

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

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

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

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

Войти

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

Войти сейчас


  • Похожие публикации

    • Гость Keil
      Автор: Гость Keil
      Добрый день, ситуация такая - попались мне под руку куча рассыпухи в числе которых достаточное количетво тинек и прочей лабуды - пытась хеловродить, попробовал взять готовый пример работы тиньки и лсдишника здесь также имею ардуинку как  Айсипи и чудесно мигаю светодиодом на мк прошитом ею же  так вот при попытке залить код который по ссылке чуда не произошло.
      курение мануалов лсдишника дало понять лиш одно что старший и младший биты одинаковы с лсдишником со статьи - лсдишник рабочий (игрался контрастом одной строки через V0  и потенциометр ) - как в прочем и мк, было задумано ковырнуть все это в протеусе и атмельстудии, но результатом не увенчалось. Пожалуйста тыкните носом что да где не так.
      fail.zip
    • Автор: 2expres
      Окажу услуги по написанию программ для Raspberry PI и прочих одноплатных ПК. Напишу прошивку для микроконтроллеров Microchip 10F, 12F, 16F, 18F. Создание, проектирование схем, разводка печатных плат, подготовка к серийному выпуску Gerber-файлы. 
      Цены на услуги на сайте написание программ для Raspberry PI
    • Автор: В гостях у Михалыча
      Приветики. На днях купил колонку сгоревшую под ремонт. При нажатии на кнопку включения сразу же нагревается микросхема (B6THM1016 1516arz) В интернете вообще нет ничего о ней. Как я понял, это контроллер сенсорных кнопок и питания (даже если включить зарядку, то микруха не греется, пока не нажмешь на кнопку), ибо есть еще две микросхемы, одна из них усилитель, а вторая-блютуз. Может ее получится как-то заменить или выкинуть вообще? 


    • Автор: Rusteka
      Продам микросхемы. Все микросхемы новые, в наличие.
      1. PIC18LF4550-I/P Microchip 65шт
      2. ATtiny85-20PU [DIP-8] Atmel 200шт
      3. PIC18LF452-I/L Microchip 50шт
      4. A29L040L-70F Amic 50шт
       
       

       



       
    • Автор: mno60
       
      MCP1541-I/OT
      Источник опорного напряжения 4.096В
      Температурный коэффициент напряжения 50ppm/°C макс.
      Начальная точность установки выходного напряжения 1% макс.
      Входное напряжение - не более 7В.
      Корпус - ТО92
      Производитель Microchip
      http://ww1.microchip.com/downloads/en/DeviceDoc/21653C.pdf
      В наличии 32шт.
      Цена 25руб/шт.
      -------------------------------------------------
      DC/DC изолированный преобразователь AM1D-0509SH30Z
      Uвх 5В, Uвых 9В, 1W, корпус SIP7
      Производитель Aimtec
      http://www.aimtec.com/am1d-0509sh30z-1w-4-5-5-5vdcv-input-voltage-9v-output-voltage-0v-isolation-sip7-dc-dc-isolated-power-supply
      Остатки 17 шт. по 80руб.
      -------------------------------------------------
      DC/DC изолированный преобразователь AM1S-0512SH30Z
      Uвх 5В, Uвых 12В, 1W, корпус SIP4
      Производитель Aimtec
      http://www.aimtec.com/am1s-0512sh30z-1w-4-5-5-5vdcv-input-voltage-12v-output-voltage-0v-isolation-sip4-dc-dc-isolated-power-supply
      Остатки 25 шт. по 80руб.

       

  • Сообщения

    • Falconist ты че меня преследуешь на этом форуме? Здесь что, некому больше тему поддержать!? Почему только ты отвечаешь на мои вопросы? Пусть нормальные люди отвечают по теме. Я спрашивал сколько ждать посылку, а не как отследить её. А ты мне что ответил?
    • А теперь все разрисуй по молекулам и про бонус с нулями не забудь.
    • Добрый вечер.
      Протестировал я индикацию, она работает довольно хорошо, а об этом чуть подробнее.
      1. Максимальное потребление тока было 140 мА, только индикация. Релейные блоки с фотодатчиком не были подключены.
      2. Минимальное потребление тока 80 мА, только индикация. Смена загорания сегментов влияет на потребление тока.
      3. При смене сегментов есть небольшое, если только присматриваться, мерцание, не активных сегментов. В статическом состоянии мерцания нет. @MaratAM об этом предупреждал как раз. Думаю если поставить светофильтр, то мерцание не будет видно.
      4. Дисплей горит очень ярко. У меня красные сегменты, думаю для снижение тока можно было впаять и больше номинал резисторов на сегменты. Но я оставлю таким, как есть, мне с далека будет лучше видно.
      5. Радиатор на кренки обязателен. Большое спасибо пользователю @Genry133 за упоминание об этом. Теперь я сам в этом убедился. Резистор R1 нужно снизить до 5-10 Ом.
      6. При подаче питания на схему на секунду загорается Сегмент Е в Первом разряде, потом он изчезает и высвечивается текущее ослабление.
      7. Минимально показывающее ослабление на дисплее -94 дБ, а минимальное 00 дБ.
      8. Так-же был обнаружен маленький косяк, при обрыве Переменника, плата не много начинает жить своей жизнью, а именно: если обрыв произошел на -94 дБ, то на индикации начинается движение цифр в низ, приблизительно в секунду уменьшение происходит на единицу. У меня хватило терпения дождаться опуска с -94 до -70 дБ.
      Если произошел обрыв переменника на 00 дБ, то цифры ползут в верх, я дождался от 00 до -15 дБ. 
      Делайте очень хороший контакт с перменником.
      9. Так-же при пайке индикации, есть не большой риск замкнуть линии питания в области перемычки J1, так как там линии питания очень близки друг к другу, паяйте аккуратно в этом месте. После пайки воспользуйтесь прозвонкой, для подстраховки. Это касается если Вы паяете платы промышленного изготовления, а если домашний вариант изготовления, то тогда очень аккуратно паяйте, так как дорожки имеют зазоры 0,3 мм.
      10. Регулировка очень плавная.
      @koan51 Большое Спасибо автору устройства за предоставленные материалы и поддержку проекта. Удачных запусков.
       
    • Так и есть, вот он, ноль в конце строки
    • Каким Геной Вы там переменку хотите меять.. уф. Вас не поймёшь, давайте фото, только не в 5 мегапикселей. И схему всей системы с источником и нагрузкой. Полевики греются на ХХ? Насколько?
       
    • Да хоть еепром. Я к чему спросил о частоте выключений. При ресурсе 100 000 еепром памяти хватит на 27 лет гарантированно. Но вам надо 270 лет, так?  Но и 27 лет это устройство вряд ли прослужит, откажет раньше. 
    • Подскажите, существуют ли готовые модули, реализующие XOR-логику для умеренной нагрузки на ~220V? Если детальнее, то надо включать-выключать обычную LED-электролампочку на ~220V от двух выключателей по XOR-логике. Но условие таково, что никакие трёхпроводные подводы к выключателям невозможны, сами выключатели находятся далеко и изменению не подлежат, а делать всё надо в конечной точке у лампочки, куда имеются подвод фазы, нуля и двух проводов от двух выключателей, которые коммутируют контакт с нулём (ну а также бонусом еще два провода "нулей", уходящих к выключателям). Понятно, что сделать OR или AND легко (параллльное или последовательное соединение выключателей). Но как сделать XOR? Можно ли это сделать из простых AC-элементов "на коленке" (и без DC-логики)? Можно ли за небольшие деньги купить готовый AC-XOR-модуль? Если да, то как он вообще называется?