Интересные функции и решения

Views: 7309


На заметку разработчику…


Простая функция

// преобразование двоично-десятичного в двоичное
char decbin_bin (char data)
{
char a;
a=data>>4;
a=a*10;
data=data&0b00001111;
data+=a;
return data;
}

Микроконтроллер  PIC18F46K22 модуль eusart2 иногда возникала ситуация, когда не возможно стандартной процедурой сбросить бит переполнения

    if(RC2STAbits.OERR) // проверка переполения
    {
        // EUSART1 error - restart
        RC2STAbits.CREN = 0;    // выключить и включить модуль
        RC2STAbits.CREN = 1;    //
    }

Сброс работал стабильно на 100% когда выполнялась процедура

/* устраняет OERR: Ошибка переполнения если остановился приемник
   в 46к22 востановление возможно на 100% выключением модуля     */    
    RC2STAbits.SPEN = 0;
    RC2STAbits.SPEN = 1;
    ukaz = RC2REG;
    RC2STAbits.CREN = 0; // выключить и включить модуль
    RC2STAbits.CREN = 1;

XC16

Если IDE показывает ошибку типа Неопределенный идентификатор!

Подчеркивает макросы и регистры, но при этом компилятор, ошибок при компиляции не находит, то это значит сам IDE не может определить место где искать описание вашего контроллера.

Исправить это можно указать в настройках. где конкретно они расположены. У меня, на текущий момент, это версия компилятора 1.41

И путь к файлам описания выглядел так

 

C:\Program Files (x86)\Microchip\xc16\v1.41\support\PIC24F\h

Для этого откройте свойства проекта:

Зайдите в предпроцессор и сообщения:

Откройте Си каталоги вложения:

Нажмите кнопку браузер и добавьте путь к папке описания:

 

 

ok, ok – IDE после этого пропарсит проект и неоправданные ошибки пропадут:

 


Это может быть интересно

  • Проект с использованием MCC часть 13Проект с использованием MCC часть 13
    Views: 1207 Так как используя MCC мы можем его использовать со своими библиотеками, поэтому настало время и свое создать. Для начала откроем наш заголовочный файл в нем очень много букв: По …
  • LED модуль P10C4V12LED модуль P10C4V12
    Views: 3305 LED панели на обычных регистрах типа 74HC595. Они выпускаются как монохромные так двух и полно цветные, особенность, что они предназначены для текстовой информации и имеют один уровень яркости. Общую яркость …
  • Регулятор влажности ch-3800Регулятор влажности ch-3800
    Views: 1547   И еще один проект на плате ch-c3xxx –  универсальный регулятор влажности ch-3800. Регулятор позволяет работать как в режиме индикатора влажности, так и в режиме регулятора. Рабочий диапазон …
  • Часы + Календарь + Термометр + …Часы + Календарь + Термометр + …
    Views: 2803 Часы + Календарь + Термометр + Индикатор влажности + Секундомер + Дистанционное управление на ИК лучах (пульты на RC-5 протоколе) + Автоматическая регулировка яркости + Возможность вывода данных через USB, …
  • Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3Обновление ESP8266 c ESPFlashDownloadTool_v3.6.3
    Views: 3701 Технология обновления следующая: Загружаем программу со страницы espressif.com. Разархивируем. Где находятся файлы, для прошивки? Заходим в каталоги Подключаем по схеме в статье WiFi ESP8266 (замыкаем BT2, перемычка). Запускаем программу, …
  • Модуль CAN в микроконтроллерах PIC18Модуль CAN в микроконтроллерах PIC18
    Views: 5931 Введение   CAN последовательный интерфейс связи, который эффективно поддерживает распределенное управление в реальном масштабе времени с высокой помехозащищенностью. Протокол связи полностью определен Robert Bosch GmbH, в спецификации требований …
  • Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0
    Views: 135 Altium Designer my Libraries, Project templates, System settings by Catcatcat. V26.0   Here I want to share how I configure Altium Designer and how I use the DXPPreferences1.DXPPrf …
  • MPLAB® Code ConfiguratorMPLAB® Code Configurator
    Views: 1807 MPLAB ® Code конфигуратор (MCC) является свободно распространяемым плагином, это графическая среда программирования, которая генерирует бесшовный, легкий для понимания кода на Cи, чтобы вставить его в свой проект.
  • Customs codes for exportCustoms codes for export
    Views: 353   Митні коди (HS Code) для надсилання посилок за кордон. Для відправки товару за кордон на сьогодні необхідно зазначати митні коди. Часто визначення коду займає багато часу. Для …
  • ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302ch-4060 – регулятор температуры и влажности на датчике DHT11/DHT22/AM2302
    Views: 2485 На плате ch-4000 очень легко собрать устройство регулятора температуры и влажности. Датчик DHT11  самый недорогой вариант для создания такого устройства, правда точность его не велика, но для бытовых устройств …


Поделись этим!