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

Просмотров: 7080


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


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

// преобразование двоично-десятичного в двоичное
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 PIC24 – модуль OUTPUT COMPARE – режиме ШИМMCC PIC24 – модуль OUTPUT COMPARE – режиме ШИМ
    Просмотров: 1072 Во многих системах управления, для формирования управляющих сигналов требуется модуль ШИМ, он позволяет не только формировать импульсы заданной длительности, но и с применением обычного RC фильтра строить простые …
  • Development board based on MCU PIC18F47Q84Development board based on MCU PIC18F47Q84
    Просмотров: 135 PIC18F47Q84 Microcontroller Family with CAN Flexible Data Status: In Production. Метки: Altium Designer, jlcpcb, pic18, PIC18F47Q84
  • Четырех канальный терморегулятор ch-4000Четырех канальный терморегулятор ch-4000
    Просмотров: 3084  Четыре независимых канала регулирования температуры, одновременно можно подключить 16 датчиков температуры DS18B20 с удалением до трехсот метров. Можно для регулировки выбрать любой датчик, подключенный к устройству. Каждый канал может работать …
  • LED модуль P10C4V12LED модуль P10C4V12
    Просмотров: 3037 LED панели на обычных регистрах типа 74HC595. Они выпускаются как монохромные так двух и полно цветные, особенность, что они предназначены для текстовой информации и имеют один уровень яркости. Общую яркость …
  • AD9833 – Programmable Waveform Generator – part twoAD9833 – Programmable Waveform Generator – part two
    Просмотров: 1605 Прошло время и появилась тема, что-бы закончить проект AD9833 – Programmable Waveform Generator. Приехали печатные платы. В этот раз я печатные платы заказывал в https://jlcpcb.com/ делал это в …
  • Проект с использованием MCC часть 16Проект с использованием MCC часть 16
    Просмотров: 1012 Продолжим изучение EUSART. На этом этапе отработает передачи данных с ПК и получения эха. Для этого в основной цикл программы добавим код if(EUSART_DataReady) // проверим флаг готовности данных …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Просмотров: 384    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
  • WiFi ESP8266 – AT команды связанные с функцией Wi-FiWiFi ESP8266 – AT команды связанные с функцией Wi-Fi
    Просмотров: 5161 AT команды связанные с функцией Wi-Fi Функции Wi-Fi подключения, запускаться из командной строки Команда Описание  1 AT+CWMODE Проверка, настройка режима работы Wi-Fi (sta/AP/sta+AP), (не рекомендуется для новых проектов). 2 …
  • MAX7219/21 и 8х8 LED дисплеиMAX7219/21 и 8х8 LED дисплеи
    Просмотров: 892 MAX7219, MAX7221 предназначены для вывода информации на 8 разрядов семисегментного индикатора, но на нем легко организовать вывод на светодиодные индикаторы 8х8. продолжение следует…. Это может быть интересно Метки: MAX7219, …
  • Проект с использованием MCC часть 10Проект с использованием MCC часть 10
    Просмотров: 749 Алгоритм управления освещением от нажатия кнопки. Обработка удержания кнопки: Мы должны проверить кнопка в настоящий момент нажата и флаг удержания установлен, если да Проверить таймер удержания “отработал” – …


В записи нет меток.

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