Описание тега c51
C51 - компилятор языка C для семейства микроконтроллеров 8051.
0
ответов
Keil C51 Невозможно использовать пустое место в CODE MEMORY
Во время моей работы я столкнулся с проблемой нехватки свободного места в Code Banks. Поэтому я переставлял файлы из одного банка кодов в другой и заметил, что CODE MEMORY имеет разрыв в 332 байта из-за раздела LINK MAP OF MODULE файла *.m51. Это им…
23 авг '18 в 09:06
1
ответ
Как ссылаться на указатель на pdata или idata без использования универсального указателя?
Использование Keil C51 на цели 8051. У меня есть набор функций, которые принимают указатель на структуру. Структура будет жить только в pdata или idata. Из-за ограничений по размеру и магии отображения памяти я не могу сжать все структуры в одном пр…
14 июн '16 в 06:04
2
ответа
KEIL для C51 и есть некоторые проблемы с ошибкой, такие как синтаксическая ошибка рядом с неподписанным
Я работаю с Keil для 80C51, и я использую C51 для кодирования. Тем не менее, у меня есть некоторые проблемы при компиляции. Мой код выглядит следующим образом: #include <reg51.h> #define uchar unsigned char #define LED P2 sbit SH=P0^0; sbit DA…
03 дек '15 в 16:27
1
ответ
SDCC/C51: переопределить символы SDCC
Я хочу скомпилировать программу под SDCC, которую я использовал для компиляции под C51.. // Somewhere in a header file for C51: sfr TCON = 0xA8; // C51 syntax // somewhere in a .c-file #pragma asm mov TCON, #0 #pragma endasm Это будет переведено на …
26 июл '13 в 10:58
1
ответ
Абсолютная функция адреса keil 8051
Как найти и вызвать функции с абсолютным адресом в C51 Keil? Фоновое ПЗУ имеет несколько служебных функций. Я хочу вызвать эти функции, чтобы оптимизировать кодовое пространство flash.
29 янв '15 в 15:51
2
ответа
Keil uVision (компилятор C51), что означает унарный оператор "!"?
Я программирую с Keil uVision 4. У меня есть такой код: sbit X = P3 ^ 3; // X is third bit of P3 register ... while (1) { X = !X; // X equals not X ?! if (X == 0) printf("0"); else printf("1"); } Я могу контролировать `P3^3 Общий входной контакт, по…
18 июн '13 в 18:23
0
ответов
C51 - ошибка, связанная с указателем
РЕДАКТИРОВАТЬ: Кажется, что проблема исчезла, когда я установил флажок "Держать переменные в порядке" в меню оптимизации C51. Я до сих пор не знаю, что вызвало проблему, и если это навсегда. У кого-нибудь есть идея, что происходит? Я пытаюсь построи…
31 мар '17 в 14:27
2
ответа
Массив [] против указателя * - почему первый код потерпит неудачу в C?
Я использую компилятор Keil C51 для программирования микроконтроллера 8051. По какой-то причине мой код не запустился - мне удалось отследить ошибку, но мне все еще трудно ее понять. Почему первый код неправильный по сравнению с другим? Стоит отмети…
19 май '16 в 17:11
0
ответов
Разница между объявлением порта как ввода / вывода и записью значения в него
Вопрос пожалуйста в следующем фрагменте кода, почему считается, что мы присваиваем значение порту P1 MOV A, # 55H; A = 55 hex MOV P1, A; отправить его в порт 1 в то время как здесь считается, что мы определяем его как входной порт? MOV A, # 0FFH; A …
06 янв '19 в 15:26
1
ответ
Странное маскирующее поведение keil c51
Я пытаюсь прочитать два контакта с контроллера C8051F040. Чтение порта работает напрямую, но сохранение того же значения порта в переменной не работает, даже если отладчик показывает правильное значение. // This works if((P1 & 0xF0) == 0xa0) { Y…
23 мар '15 в 17:17
2
ответа
Обработка ключевых слов Keil C51 в индексаторе Eclipse
Согласно Keil C51, действует следующее: static void kernel(void) small interrupt 1 using 2 { /* do stuff */ } Однако, согласно индексатору Eclipse, это не так. Мы можем сделать следующие определения, чтобы помочь делу: #define small /*small*/ #defin…
26 май '17 в 15:19
1
ответ
Переместить значение по адресу назначения (семейство C51)
Я создал таблицу, где у меня есть различные данные. Мне нужно вынуть данные из этой таблицы, изменить их, а затем записать обратно в ту же позицию, однако по какой-то причине данные не записываются в позицию Вот мой код CSEG AT 3h precos: DB 100, 20…
02 июн '15 в 00:11
0
ответов
Неправильный вывод sprintf C51 8051 MCU встроенная система
У меня есть следующий фрагмент кода C для микроконтроллера AT89S52: unsigned char x = 0x10; unsigned char str[21]; sprintf(str, "%u", (x >> 4) ); Прототип функции sprintf в stdio.h: extern int sprintf (char *, const char *, ...); Может кто-ниб…
21 сен '18 в 21:19
0
ответов
Адаптация бит для GCC
Я пишу тестовый набор для некоторых модулей C, один из которых содержит ключевое слово "sbit". Код был изначально написан для компилятора Keil C51, где sbit используется для определения бита внутри sfr, более подробную информацию здесь. Тем не менее…
11 июн '14 в 18:09
0
ответов
Выполнить элиту el exe не удалось
Я использую элитную эль эль чистую версию. Мы покупаем этот ключ у senselock europa, но в нашем пробном наборе ключа нет e4nmgr.exe. Где я могу его найти. Я загружаю SDK с этого форума, но он не работает, потому что это русский. И я пишу коды в учеб…
06 ноя '18 в 12:00
2
ответа
Цель аргумента const кроме того, чтобы избежать ошибки
Я программирую микроконтроллер 8051, используя компилятор keil C51 C, который поддерживает только C90. Я хочу отправить байт данных через UART, функция выглядит так: void Uart_send(char data){ //... } Используйте 1: char a = 123; Uart_send(a); //wor…
04 окт '18 в 11:15
1
ответ
Keil C51 8051 Port 0 I/O
Проверьте эти два случая в Keil C51 и наблюдайте опцию периферийного устройства P0 в отладчике для обоих случаев. Результат отличается в двух случаях. Почему P0=0xFF; инструкция не дает тот же результат? Случай 1) main() {P0=0x00; P0=0xFF; while(1);…
08 сен '18 в 13:59
1
ответ
8051 предложение и счетчик слов
Я нашел этот код ниже в интернете, который должен считать предложения на 8051 MCU. Может кто-нибудь, пожалуйста, объясните мне, что именно происходит там, где есть вопросительные знаки. Любая помощь будет принята с благодарностью. #include<string…
03 май '15 в 09:11
2
ответа
Я хочу напечатать многомерный массив символов на ЖК-дисплее в C51 (Keil)
(Массив инициализируется кучей символов) Я также получаю сообщение об ошибке "Сегмент данных слишком большой", когда я увеличиваю массив. Как скопировать массив из "КОДА" в "XDATA"? или это не проблема? РЕДАКТИРОВАТЬ: Также, когда я вызываю функцию …
05 фев '14 в 21:11
1
ответ
Keil C51: возможная ошибка функций с одинаковым именем, но разными параметрами?
Это не совсем вопрос, так как он уже решен. Но я хотел бы поделиться этим здесь, так как кто-то может столкнуться с той же проблемой. И я хотел бы получить более глубокое объяснение по этому поводу. Я использую Keil µvision3 для программирования на …
13 янв '16 в 09:01