Views: 7186
На заметку разработчику…
Простая функция
// преобразование двоично-десятичного в двоичное 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 – в режиме генератора звуковых сигналовViews: 610 При проектировании простых устройств автоматики, часто необходимо иметь механизм звукового оповещения. Самый верхний уровень, это формирование голосовых сообщений, но об этом, как то по позже… В самом примитивном …
- Проект с использованием MCC часть 01Views: 2555 Для изучения MCC я выбрал простой контроллер PIC16F1509. Выбор его был обусловлен богатой новой периферией которую можно изучить. Для начала была собрана схема на макетной плате Внешний вид …
- Проект с использованием MCC часть 08Views: 1053 И так создадим проект в котором при помощи двух кнопок мы сможем управлять яркостью светодиодов. При использовании МСС у нас лафа полная, добрые дяди с Microchipa подготовили функции, …
- Мониторинг температурыViews: 1376 Настоящий проект создан как обучающий с применением библиотек ds18b20 и LCDHD44780 и компилятора Microchip MPLAB XC8 C Compiler V1.12. Если необходимо иметь информацию по состоянию температуры в помещении или в здании, с количеством до 6 точек (16), то …
- PIC18 – System ArbitrationViews: 563 Системный арбитр. Разрешает доступ к памяти между выборами уровнями системы (т.е. Main, Interrupt Service Routine) и выбором периферийных устройств (т.е. DMA и Scanner) на основе назначенных пользователем приоритетов. Каждый …
- BMP280 – температура и атмосферное давление – учебный проектViews: 2053 Учебный проект на PIC32 и светодиодной панели P5 (2121)-168-6432-80 (32*64). Проект позволяет ознакомиться с простой графикой и с чтением давления и температуры с датчика BMP280. Для тестирования необходимо …
- Просто о внешних переменныхViews: 788 Часто возникает задача когда необходимо предавать данные между модулями программы. Например, передать данные между файлами, или управлять работой модулей. Для этого создаем заголовочный файл и описываем наши переменные как …
- Счетчики посетителейViews: 1261 Вас сосчитали!? или счетчики посетителей. Для чего нужны счетчики посетителей? Какие они бывают? ТОРГОВЛЯ. Подсчитайте, сколько ваш магазин посещает человек за день. Кок много человек приходит утром, какое …
- Проект с использованием MCC часть 04Views: 1142 Теперь простого горения светиков нам не достаточно, заставим их мигать. Для начала используем первобытно простой способ, но достаточно простой. Используем функции delay, напрягаться откуда они берутся не будем, самое …
- Стробоскоп для автомобиляViews: 2163 Одним из популярных решений светового тюнинга автомобиля, мотоцикла или скутера стал эффект – “полицейский стробоскоп“. На база платы ch-c0050 реализовано несколько проектов. В этой статье приводятся две версии …