Запитання з тегом «c»

C - імперативна (процедурна) мова впровадження систем. Він був розроблений для компіляції за допомогою відносно простого компілятора, для забезпечення низького рівня доступу до пам'яті, надання мовних конструкцій, які ефективно відображають машинні інструкції, і вимагає мінімальної підтримки часу виконання. Тому C був корисним для багатьох застосунків, які раніше були закодовані мовою складання. від http://en.wikipedia.org/wiki/C_(programming_language)

8
Чому printf () поганий для налагодження вбудованих систем?
Я думаю, що це погано намагатися налагодити проект на основі мікроконтролера, використовуючи printf(). Я можу зрозуміти, що у вас немає заздалегідь заданого місця для виходу і що воно може споживати цінні шпильки. У той же час я бачив, як люди споживають штифт UART TX для виводу на термінал IDE за …
16 c  debugging 

3
Від С до Асамблеї
Припустимо, у нас є такий фрагмент коду С для avr-8bit: int v1=1; int v2=2; v2=v2+v1; Я очікував наступного розбирання ldi r18, 1; ldi r19, 2; add r19, r18; але після того, як я побіг: avr-gcc -mmcu=atmega2560 Test.c -o Test.elf і avr-objdump -S Test.elf > Test.lss У мене виникла наступна розбирання …
16 avr  c  assembly 

1
Синусогенерація за допомогою ШІМ
Ми не можемо генерувати синусоїду належним чином за допомогою мікроконтролера MC68HC908GP32 . Опис ШІМ починається на сторінці 349. Тактова частота становить 2,4 МГц, тоді як ми використовували ШІМ 7 кГц за допомогою докалера та встановивши модуль таймера на 350 таким чином: T1SC = 0x60; // Prescaler: Div entre 64 //Counter …
16 microcontroller  c  pwm 

2
STM32F2: Makefile, сценарій посилання та комбінація файлів запуску без комерційного IDE
Я працюю з STM32F2 (конкретно, STM32F217IGH6 на дошці розробок) близько двох місяців. На сьогодні моя найбільша проблема була пов'язана з "налаштуванням", яке включає makefile, скрипт linker та файл запуску. Зокрема, я не зміг належним чином налаштувати свою векторну таблицю переривань і викликав обробники переривань. ST надає приклади, пристосовані до комерційних …
16 c  stm32  gcc 

4
Як реалізувати критичні розділи на ARM Cortex A9
Я переношу деякий застарілий код з ядра ARM926 в CortexA9. Цей код є бареметальним і не включає ОС або стандартні бібліотеки, усі користувацькі. У мене виникає збій, який, як видається, пов'язаний з умовою перегонів, яку слід запобігти критичним розділенням коду. Я хочу отримати відгуки про мій підхід, щоб побачити, чи …
15 c  embedded  interrupts 

3
C Integer Promotion на 8-бітних MCU
Використовуючи avr-gcc як приклад, тип int визначається як 16-розрядний. Виконання операцій над 8-бітовими операндами в C призводить до того, що операнди перетворюються на 16-бітні типи int через ціле просування в C. Чи означає це, що всі 8-бітові арифметичні операції на AVR займуть набагато довше, якщо вони записані в C, ніж …
14 microcontroller  avr  c 

9
Який найкращий підхід при написанні функцій для вбудованого програмного забезпечення, щоб досягти кращої продуктивності? [зачинено]
Закрито . Це питання ґрунтується на думці . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб на нього можна було відповісти фактами та цитатами, відредагувавши цю публікацію . Закрито 2 роки тому . Я бачив, як деякі бібліотеки мікроконтролерів і їх функції виконують по одній справі. Наприклад, …

6
Уникання глобальних змінних при використанні переривань у вбудованих системах
Чи існує хороший спосіб здійснення зв’язку між ISR та рештою програми для вбудованої системи, яка дозволяє уникнути глобальних змінних? Здається, що загальною схемою є глобальна змінна, яка поділяється між ISR та рештою програми та використовується як прапор, але це використання глобальних змінних йде проти мене. Я включив простий приклад з …

3
Змінна декларація з @ в С
Я читаю якийсь код C і натрапив на цю декларацію в програмі: unsigned char serv_ctr @0x0002; Хтось може вказати мені на документацію чи пояснити, що таке "@ 0x0002" у компіляторі Mplab XC8 v1.35 C?
11 c  embedded  mplabx  xc8  variable 

4
Ендіанська проблема на STM32
Я використовую arm gcc (CooCox) для програмування відкриття STM32F4, і я вела боротьбу з ендіанською проблемою Я здійснюю вибірку з 24-бітовим АЦП через SPI. Оскільки три байти входять, у MSB спершу у мене виникла ідея завантажити їх у союз, щоб зробити їх (все одно сподівався!) Трохи легшими у використанні. typedef …
11 c  stm32  cortex-m  gcc 

2
Програмуйте AVR EEPROM безпосередньо з джерела С
Коли ви включаєте наступний код у джерело AVR C, ви, мабуть, можете безпосередньо програмувати запобіжники, не потребуючи додаткової команди або .hex-файлу: #include <avr/io.h> FUSES = { .low = LFUSE_DEFAULT , .high = HFUSE_DEFAULT , .extended = EFUSE_DEFAULT , }; Чи існує схожа хитрість на програмні значення в EEPROM? Я перевірив, …
11 avr  c  attiny  eeprom 

3
Стан сну мікроконтролера
Дано мікроконтролер, на якому працює наступний код: volatile bool has_flag = false; void interrupt(void) //called when an interrupt is received { clear_interrupt_flag(); //clear interrupt flag has_flag = true; //signal that we have an interrupt to process } int main() { while(1) { if(has_flag) //if we had an interrupt { has_flag …

6
Чому причина ядра RTOS ядра POS16 не працює?
Я намагаюся створити напівперешкодний (кооперативний) RTOS для мікроконтролерів PIC x16. У своєму попередньому запитанні я дізнався, що в цих ядрах отримати доступ до вказівника стеку апаратних засобів неможливо. Я переглянув цю сторінку в PIClist, і це те, що я намагаюся реалізувати за допомогою C. Мій компілятор Microchip XC8, і зараз …

1
PIC18F4550 C-компілятор, який є з відкритим кодом та крос-платформи?
Я давно користувач AVR. Мені дуже подобається, що AVR-GCC працює на двох основних ОС, якими я користуюся (Mac OS X та Linux), є відкритим кодом та підтримується Atmel. Я хотів би повернутися до програмування PIC (використовував їх у 90-х роках), оскільки там є досить непогані PIC, наприклад, чіпи класу PIC18F4550. …
11 pic  c  compiler 

1
Який показник зменшення швидкості роботи для I2C?
Я налаштовую I 2 C на PIC18, використовуючи вбудовані функції компілятора C18, як описано в розділі 2.4 документації : void OpenI2C2( unsigned char sync_mode, unsigned char slew ); Я не впевнений, що мені робити slew . Я можу вибрати один з двох варіантів, визначених у i2c.h: SLEW_OFF: Швидкість відключення відключена …
10 pic  c  i2c  software  c18 

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.