Вопросы по теме 'avr-gcc'

Обработка 32-битных чисел с помощью ATTiny и Atmel Studio
Мне интересно, как ATTiny, в частности ATTiny24, хранит в памяти 32-битные целые числа без знака. Я пытаюсь взять 32-битное значение и записать его в 32-битное место в EEPROM. Я попытался использовать простую маску, но каждый раз, когда я пытаюсь, я...
1228 просмотров
schedule 19.10.2021

Arduino IDE - не удается связать скомпилированные подразделы в avr-gcc
Привет, сообщество StackOverflow! Недавно я заметил, что моя Arduino IDE просто не могла скомпилировать и запустить на любой плате, от TTN Uno (который является меньшим Arduino Leonardo), ESP8266 (как в модуле, так и на WeMos), до Arduino. Uno...
184 просмотров

Установка флага не работает в моем прерывании по таймеру (пока прерывание работает)
Раньше я писал свои коды в ICCAVR, и у меня не было проблем, но по какой-то причине я не должен переходить на AtmelStudio. в следующем коде светодиод мигает в прерывании, но когда я устанавливаю только флаг в прерывании и хочу мигать светодиодом при...
343 просмотров
schedule 23.09.2021

Двоичная совместимость между avr-gcc 3.4.0 и avr-gcc 4.3.x
Я унаследовал приложение, которое ссылается на библиотеку, которая МОЖЕТ БЫТЬ построена с помощью gcc3. Или, может быть, с помощью компилятора imagecraft. Эта информация теперь исчезла в небесном битовом поле, и у меня осталась библиотека libXXX.a,...
315 просмотров
schedule 23.02.2022

__attribute__((io)), __attribute__((address)) в gcc для AVR, похоже, не имеют никакого эффекта
Я пытаюсь использовать атрибуты переменных, специально предоставляемые версией AVR gcc ( https://gcc.gnu.org/onlinedocs/gcc/AVR-Variable-Attributes.html#AVR-Variable-Attributes ). В руководстве сказано, что эти специальные атрибуты должны позволить...
1007 просмотров
schedule 02.03.2022

Avr-gcc: прерывания таймера / счетчика конфликтуют с UART?
Пожалуйста, рассмотрите следующий пример (пробовал на Arduino IDE 0022, Ubuntu 11.04, Arduino AtMEGA 2560), где я пытаюсь запустить прерывание таймера / счетчика и одновременно использовать класс Arduino Serial : volatile uint8_t sreg; // Timer...
3997 просмотров
schedule 17.03.2022

AVR C как остановить прерывание
Я программирую микроконтроллер AVR. У него есть POT, который считывает аналоговый контакт. Кажется, что прерывание вызывается постоянно, и его нужно вызывать во время метода LCD_display, так как он возится с моим ЖК-дисплеем. Есть ли способ...
7703 просмотров
schedule 17.03.2022

Неожиданный результат чтения глобальной переменной в C++ с использованием avr-gcc for (доступ к локальной переменной соответствует ожидаемому)
Я получаю неожиданные результаты чтения глобальной переменной при компиляции следующего кода в avr-gcc 4.6.2 для ATmega328: #include <avr/io.h> #include <util/delay.h> #define LED_PORT PORTD #define LED_BIT 7...
822 просмотров

Попытка получить доступ к первому члену (сам по себе изменчивый указатель) указателя структуры не возвращает сохраненный указатель элемента, но возвращает адрес структуры
Я пытаюсь реализовать некоторую замену указателя для некоторого интерфейса связи, передав указатель на структуру указателей на некоторую реализацию. Он предназначен для работы на Atmega328p и компилируется с помощью avr-gcc.exe (AVR 0x100...
132 просмотров
schedule 28.03.2022

Может ли программа gcc определить, когда включена оптимизация времени компоновки (-flto)?
У меня есть код, в котором ДОЛЖНА быть включена оптимизация времени ссылки, чтобы работать правильно. Мне нужна постоянная оценка выражения: extern const char[] PROGMEM constantTable = {1,2,3,4,5}; : char x = constantTable[4];...
228 просмотров
schedule 25.04.2022

Преобразование двух шестнадцатеричных символов ASCII (два байта ASCII) в один байт
Я хочу преобразовать два байта ASCII в один шестнадцатеричный байт. например. 0x30 0x43 => 0x0C , 0x34 0x46 => 0x4F ... Байты ASCII представляют собой число между 0 и 9 или букву между A и F (только в верхнем регистре), поэтому...
36823 просмотров
schedule 04.05.2022

Решение AVR для чистого псевдонима контактов — перечисление битов ввода-вывода
Я работаю в C на устройстве Arduino, где контакты помечены по-разному. Я использую PLAIN C, а не «язык» Arduino. Каждый вывод определяется своим портом (например, PORTB ) и выводом (битом) в порту (например, PB0 ). Я хотел бы кратко назвать...
1000 просмотров
schedule 12.05.2022

avr-ld: архитектура avr:51 входного файла `main.o' несовместима с выводом avr
Я пытался использовать этот код/руководство на ATmega1284p . Проблема, с которой я сталкиваюсь, заключается в том, что компоновщик не работает, и после выполнения я получаю следующее сообщение об ошибке (код хорошо строится для ATmega88 ):...
608 просмотров
schedule 10.05.2022

ЦП с адресуемыми файлами GPR, адресом регистровых переменных и псевдонимом между памятью и регистрами
Фон Некоторые процессоры, такие как Atmel AVR , иметь регистровый файл общего назначения, который также является частью основной памяти — см. рис. 7-2 в разделе 7.4 и абзац после фигура. О чем думала WG14? Учитывая это, почему комитет C...
178 просмотров
schedule 05.06.2022

Как найти адрес переменной при использовании AVR?
Я пытаюсь написать программу, которая обнаруживает столкновение растровых изображений на уровне пикселей на микроконтроллере Teensy, компилируемом с помощью AVR-GCC. Я пытаюсь понять, как вычислить положение одного байта растрового изображения на...
398 просмотров
schedule 29.06.2022

Прерывание сравнения таймера AVR ATmega32U4 не срабатывает
Я попытался создать прерывание таймера CTC на моей плате ATmega32U4 leonardo. Когда я постоянно проверяю значение OCF1A , я без проблем определяю, когда выход достигает желаемого значения, однако, как только я помещаю код в прерывание, прерывание...
1620 просмотров
schedule 03.07.2022

Отправить десятичное число с помощью USART в ATMEGA32
У меня проблема с отправкой последовательных данных через USART, это отправка ASCII, а не десятичного числа. это мой код: while(!(UCSRA&(1<<UDRE))){} UDR=12; и это заголовок: UBRRH=(uint8_t) (UBRR_CALC>>8);...
758 просмотров
schedule 12.07.2022

Почему статическая переменная моей функции никогда не отличается, несмотря на то, что она увеличивается?
Я пишу функцию обратного вызова на C. Она предназначена для инициализации датчика I2C и вызывается по завершении каждого (раздельного) шага конфигурации; после 9-го звонка аппарат практически готов к работе. Основная идея функции такова: void...
520 просмотров
schedule 23.07.2022

Почему определение длины буфера буфера приводит к тому, что член функции этого класса теряет значение переменной-члена указателя функции?
Я работаю с GNU AVR GCC версии 5.4.0 и Atmelstudio 7.0.2397, и у меня есть следующая проблема. описание проблемы На следующем изображении вы можете видеть, что до строки 13 программа сохранила адрес функции usart_send в переменной transmitter...
68 просмотров
schedule 05.08.2022

сгенерированная сборка avr-gcc при настройке реестра
Я смотрю на asm, сгенерированный из следующего кода C. uint8_t anode = lednum / 4; PORTB = (1 << anode); Используя оптимизацию O2, я получаю следующее: 00000040 <setout>: 40: 86 95 lsr r24 42: 86 95...
354 просмотров
schedule 08.09.2022