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

Views: 7335


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


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

// преобразование двоично-десятичного в двоичное
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 после этого пропарсит проект и неоправданные ошибки пропадут:

 


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

  • MPLAB® Code Configurator and EncoderMPLAB® Code Configurator and Encoder
    Views: 1647 Еще раз про энкодер… Для некоторых приложений очень удобно и экономически выгодно, для настройки и управления использовать энкодер. Такие энкодеры имеют строенную тактовую кнопку которую можно применить для выбора …
  • Проект с использованием MCC часть 12-1Проект с использованием MCC часть 12-1
    Views: 1105 В настоящее время без визуализации информации уже не интересно. Поэтому научимся выводить информацию на дисплей. Для это возьмет простенький OLED RET012864E/REX012864J я такой приобретал в фирме “Гамма-Украина”, описание можно …
  • Altium Designer – создание рисунков на печатной платеAltium Designer – создание рисунков на печатной плате
    Views: 3552   Для создание рисунков на печатной платы в Altium Designer можно использовать возможность использовать в Altium Designer сторонних скриптов. Мне возможность эта очень понравилась и я решил её расшарить …
  • MPLAB® Harmony – или как это просто! Часть 2.MPLAB® Harmony – или как это просто! Часть 2.
    Views: 2937 Часть вторая – Первая программа на PIC32. Музыкальная тема к статье, слушаем: Для начала изучения PIC32 надо иметь или демоплату или самому её изготовить имея микроконтроллер. Начнем из …
  • Гаджеты для домашней автоматики – Датчик движенияГаджеты для домашней автоматики – Датчик движения
    Views: 1506 Управление светодиодным освещением – Датчик движения. Данный гаджет предназначен для управления освещением рабочих столов (кухонных столов), освещение прихожих, освещение зеркал в прихожих, автоматическое включение света в коридорах. Датчик позволяет …
  • MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)MTouch® Модуль Емкостной Библиотеки для MPLAB®X Code Configurator (MCC)
    Views: 1413 Введение MTouch ® Модуль Емкостной Библиотеки для MPLAB ® X Code Configurator (MCC) позволяет быстро и легко генерировать решение кода на  Cи для емкостной сенсорной кнопки, датчика приближения и слайдера.
  • ESP32-первое знакомствоESP32-первое знакомство
    Views: 7220 Музыкальная тема к статье, слушаем: Настало время познакомиться c ESP32 и для меня, для этого я приобрел в ГАММЕ отладочную плату с модулем ESP-WROOM-32 (ESP32-DevKitC). Первая задача, как …
  • PIC18F25K42 – v. A001 – выявленные баги.PIC18F25K42 – v. A001 – выявленные баги.
    Views: 806 Модуль I2C Не работает при использовании в стандартной конфигурации MCC. Требует особой нестандартной конфигурации и управления для нормальной работы. Обойти Обход проблемы возможен библиотека см статью. Модуль ADC2 На …
  • Kitchen timer with contactless gesture controlKitchen timer with contactless gesture control
    Views: 793    Кухонний таймер з безконтактним керуванням жестами дозволяє встановити необхідний період часу для приготування страв, не торкаючись пристрою. Дуже зручно під час приготування їжі, коли руки забрудниться. Усі …
  • Проект с использованием MCC часть 13Проект с использованием MCC часть 13
    Views: 1233 Так как используя MCC мы можем его использовать со своими библиотеками, поэтому настало время и свое создать. Для начала откроем наш заголовочный файл в нем очень много букв: По …


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