Описание тега xc8
Компилятор MPLAB® XC8 C - это автономный оптимизирующий компилятор ANSI C. Он поддерживает все 8-битные микроконтроллеры PIC®: устройства серий PIC10, PIC12, PIC16 и PIC18, а также устройство PIC14000.
1
ответ
Оператор% на подписанном делителе требует больше памяти программы на C
Случай 1: static uint8_t i; i % 3; // 3 is a signed number случай 2: static uint8_t i; i % 3u; // 3 is a unsigned number С компилятором Microchip XC8 я обнаружил, что в случае 1 требуется больше инструкций (используемая память программы немного увел…
24 апр '18 в 01:39
1
ответ
Что является эквивалентом EEDATA из BASIC и EWrite на языке C?(Как использовать EEPROM с компилятором xc8?)
Мне очень трудно понять, как я могу использовать: EEDATA = 0xFF, 0x00, 0xFF, 0x00, 0x01, 0x03 ; и превратить это в C-код. Из того, что я могу понять, это способ выделения памяти в бейсике, но я действительно не знаю. Если бы кто-нибудь мог помочь, я…
29 окт '18 в 07:45
2
ответа
Программа выходит из бесконечного цикла (микроконтроллер PIC)?
Я написал программу для микроконтроллера PIC 16f690, заметив, что мои программы выходят из бесконечного цикла. На выводах 3,4,5 PORTC установлены светодиоды. #include <xc.h> #define _XTAL_FREQ 4000000 void main(void) { TRISC = 0x00; PORTC = 0b…
30 июл '14 в 23:44
1
ответ
МОЖЕТ, коммуникация не работает между различными PIC
Я работаю над проектом, и нам нужно установить связь CAN между 4 узлами, 2 с использованием PIC 18F4580 и 2 с использованием 18F25K80. Во всех этих схемах я использую кварцевый генератор 20 МГц. Проблема в том, что когда я проверяю связь между одина…
21 янв '18 в 17:04
2
ответа
Побитовая операция! X и x==0
Я просто хочу задать вопрос. Является !x такой же как x==0? Я использую их для проверки условия (прерывания), в данном случае x только один бит. Пример кода, где я его использую: if(PIR1bits.SSPIF & !SSPCON2bits.ACKSTAT) { // some operation }
12 май '15 в 13:57
1
ответ
USART падает на PIC18F2550, что я могу сделать?
Я работаю в связи PIC18F4550 и ПК с парой xBEE S2C. И я использую xc8 для компиляции кода. Я посылаю некоторые символы в PIC с ПК с помощью Xbee, затем отправляю '/r', и PIC должен вернуть мне отправленные мной символы. Работает за 9 итераций, потом…
12 фев '18 в 18:20
0
ответов
XC8 pic16f876a I2C Slave
Как реализовать код для использования пика в подчиненном режиме? Я пришел к вам, потому что я не нашел в Интернете удовлетворительного ответа на мой поиск. Я опытный принцип поезда на заказы PIC16FXXX. Цель состоит в том, чтобы разгрузить электронну…
20 апр '14 в 15:09
1
ответ
Проблема с использованием модуля EUSART на PIC18f87k22
Я пытаюсь настроить связь UART между брелком Arduino Pro и моим PIC18f87k22. При запуске моего кода я получаю следующую ошибку: это прототип функции: char EUSART1_Read(void) { RCSTA1bits.SREN = 1; while(!PIR1bits.RC1IF) { ; } if(1 == RCSTA1bits.OERR…
02 июл '18 в 14:44
3
ответа
Передача указателя в массив структур
Это для компилятора MPLABXC8, который я исследовал и нашел ряд связанных тем. Но не смог решить мою проблему. My Array typedef typedef volatile struct OneStageOpTag { unsigned DevID1: 4; unsigned SetCmd1 : 4; unsigned RdyResponse1 :4; unsigned DevID…
26 мар '16 в 06:09
0
ответов
Проблемы неявного приведения длинного знака со сдвигом битов к 8-битному значению без знака
У меня проблема с неверными значениями uint8 после передачи функции long со знаком. Вы можете увидеть пики, где произошло переполнение (?) В значениях необработанных данных на правой оси Я пишу это для PIC, используя MPLABX 5.0 и компилятор XC8. Упр…
15 янв '19 в 19:48
1
ответ
Невозможно запустить функцию прерывания в коде не работает
Возникли проблемы с этой частью кода: void interrupt ISR_Timer0_Int mplabs x ide 5.10 показать ошибку: newmain.c: 26: 6: ошибка: переменная имеет неполный тип 'void' newmain.c: 26: 15: ошибка: ожидается ';' после декларатора верхнего уровня Я исполь…
23 янв '19 в 02:46
1
ответ
MPLAB: XC8: невозможно назначить переменную структуры
Я пытаюсь скомпилировать следующий код в MPLab v5.10, используя XC8 для PIC18. Код выглядит следующим образом: struct vec2i { int x; int y; }; void main(void) { static struct vec2i array[10]; int i; for(i = 0; i < 10; ++i) { array[i] = {0, 0}; } …
05 фев '19 в 18:59
1
ответ
Символ "файл @ переменная" определен более одного раза
IDE: MPLAB X v2.15 CC: XC8 v1.32 Целевое устройство: PIC18f45k20 У меня есть заголовочный файл reg.h, который содержит переменную static const int aaasdf = 3; Этот заголовок имеет правильное включение охранников в начале: #ifndef PRJ_REG_H #define P…
06 фев '19 в 16:54
0
ответов
Невозможно выполнить функцию прерывания
Использование Mplab ide 5.10 и компилятора xc8 для pic18f4550 Я не могу получить код для входа в функцию прерывания, цель состоит в том, чтобы заставить J считать в фоновом режиме, пока что-то не вызовет его для вывода значения в lcd. В настоящее вр…
12 фев '19 в 10:30
0
ответов
Компилирование cmocka с помощью компилятора xc8 из microchip howto?
Добрый день, разработчики, Когда я извлекаю последнюю версию cmocka и пытаюсь скомпилировать cmocka с версией 1.41 компилятора xc8, код не скомпилирует ошибку синтаксиса. Не рекомендуется или решение изменить этот источник cmocka, потому что в будущ…
28 фев '19 в 15:21
2
ответа
Диакритические знаки в массивах или строках C char
Фон Я работаю над некоторым встроенным проектом, и я пытаюсь обрабатывать нестандартные символы и шрифт. У меня есть сырой растровый шрифт в массиве 600+ элементов. Каждые 5 элементов этого массива содержат один символ. У меня есть символ 32 (пробел…
12 май '14 в 08:30
1
ответ
Объявление класса с помощью компилятора microchip xc8
Я пытался объявить класс в библиотеке для проектов, использующих компилятор xc8 в свободном режиме и pic16f876a. Но похоже, что компилятор xc8 не принимает и не компилирует классы... Это правда? Если нет, может кто-нибудь опубликовать пример? Спасиб…
24 июл '15 в 16:52
0
ответов
Я не могу работать SPI с программным обеспечением EUART на PIC
Если я загружаю свой код в PIC18 с SPI и программным обеспечением EUART, я получаю NUL в док-станции и не получаю команду SPI в области. Похоже, что EUART и SPI не хотят работать вместе. Это для PIC18F45K80, связывающегося с QT1481. Я убежден, что п…
28 ноя '18 в 09:32
1
ответ
Микрочип XC8 предупреждает "преобразование в более короткий тип данных" и "неявное преобразование, подписанное в неподписанное"
Я использую MPLABX 3.20 с компилятором xc8 1.35 для PIC18F2420, и у меня есть два странных предупреждения, которые я не понимаю: Вот один из исходных кодов, которые генерируют предупреждение 9 void write(Pin _Pin, char value) 10 { 11 if( value == 1)…
20 апр '16 в 16:45
1
ответ
xc8: опишите подробно (((без знака)&(REGISTER_NAME))*8) + BIT_NUM
Я хочу определить макросы для установки направления и уровня вывода. Их аргументами должны быть имя порта и номер вывода. Я не хочу использовать регистр TRIS или имя регистра LAT, только имя порта (например, PORTA). Я делаю это с помощью указателя и…
12 июл '17 в 07:12