avr-gcc 相关问题

avr-gcc是Atmel AVR RISC处理器的一套可执行软件开发工具

C 编译器或预处理器如何以不同方式处理带参数的宏?

我正在为 Atmel 微控制器编写代码并使用 ATMEL Studio。 您可以从此处检查工具链和工作室版本。 *\Atmel\Studio .0 oolchain vr8 vr8-gnu-toolchain\lib\gcc vr ...

回答 1 投票 0

为什么具有虚拟成员的类的“新放置”仅在缓冲区位于本地堆栈上时才起作用?

我有一些 C++ 代码,它使用 Placement New 运算符在现有缓冲区中创建具有虚拟成员的类的实例。当缓冲区位于...的本地堆栈上时,它会按预期工作

回答 1 投票 0

PROGMEM 中的字符数组

在程序中,我有很多不同长度字符串的数组,每个数组都被声明为指向这些字符串的指针数组,例如: static const char * num_tab[] = {"第一个", "

回答 1 投票 0

AVR128DB28通过SPI与SD卡通信失败

我正在尝试通过SPI实现AVR128DB28微控制器和SD卡之间的通信。我在Microchip Studio中对其进行编程,编程是通过UPDI上的MPLAB SNAP完成的。该...

回答 1 投票 0

avr-gcc:如何将 __attribute__((address)) 与 EEMEM 一起使用?

这些属性不兼容吗?地址属性似乎被忽略,没有发出警告(-Wall)。 (作为参考,EEMEM 在 eeprom.h 中定义为: #define EEMEM __attribute__((section(&q...

回答 2 投票 0

寄存器访问抑制其他可能的优化(avr-gcc)

以下代码包含一个简单的示例,例如avr128da32 MCU。 人们可以通过旧的宏(如 VPORTA_DIR)或通过结构映射(如 VPORTA.DIR)来访问 SFR。 #包括 #

回答 2 投票 0

avr-gcc 的 libgcc 子例程文档

我使用 godbolt 中的 avr-gcc 编译器反汇编了一些 C++ 代码,经常发现对 libgcc 子例程的调用,例如 __udivmodhi4 或 __mulhi3。 我在哪里可以找到有关...的优秀且富有洞察力的文档

回答 1 投票 0

avr-gcc 的 libgcc 子例程文档

我用 godbolt 中的 avr-gcc 编译器反汇编了一些 C++ 代码,经常发现对 libgcc 子例程的调用,如 __udivmodhi4 或 __mulhi3。 我在哪里可以找到有关...的良好且富有洞察力的文档

回答 1 投票 0

如何使用 avr-gcc 将变量绑定到未使用的 AVR I/O 寄存器?

我想使用avr-gcc将全局变量绑定到未使用的I/O寄存器(例如PORTB),以减少代码大小。我在 AVR 的应用笔记 AVR035(第 14 页)中学到了这个技巧。 在应用程序中...

回答 1 投票 0

openmp pthread 对 avr-gcc 的支持

我一直在与一个青少年合作,使用 openmp 和 gcc 进行编译的多线程项目,但是我正在加入一个使用 avr-gcc 的项目,它似乎不想编译或识别 omp.h...

回答 2 投票 0

ATmega328P USART 发送字符重复打印

我在 ATmega328P 微控制器上遇到 USART 通信问题,希望得到一些调试方面的帮助。 我面临的问题如下: 我已经实施了美国...

回答 1 投票 0

为什么main()函数只有在中断ISR(ADC_vect)执行时才被反复执行?

我正在制作一个基于数字时钟的项目,在面包板上使用 atmega328p。我将 4 个按钮连接到 ADC3 通道,并使用 INT0 作为触发器来启动 ADC 转换。我还启用了

回答 2 投票 0

为atmega128编译程序集时找不到“avr/io.h”

我是汇编器和atmega128的新手。 我遇到的问题是我无法编译我的程序集文件。完成此步骤后,我想将程序上传到 STK-300。 这是代码 .include“avr/io.h”...

回答 1 投票 0

启用ATTINY1626 UART RX中断不触发ISR,如何解决?

我的 ATTINY1626 遇到接收中断问题。在池化模式下,我可以接收 UART 数据。但启用 UART RX 中断不会发生这种情况。我不知道我在哪里错过了一些配置...

回答 2 投票 0

avr-gcc编译器进行位移位时是否有bug?

在 avr-gcc 5.4.0 下处理 atmega328 芯片上的位移位时,我注意到一个错误(?)。让我们看一些片段: 此代码按预期工作: uint32_t val = 0xaabbccdd; Serial.println( val, HEX...

回答 2 投票 0

菜单概念的匿名数组初始化

我正在尝试创建一个菜单概念,稍后我可以在 8 位 MCU 和 2x16 LCD 显示屏上使用它。这意味着我无法使用向量或其他奇特的库,而且我想避免动态...

回答 1 投票 0

2 线:发送启动条件后,TWINT 不会在 TWCR 中设置

我使用ATmega328P TWI接口如下。 问题是它会进入无限循环来选通 LED,并且永远不会关闭 LED。如果我将条件更改为 TRUE 那么它就会变成...

回答 1 投票 0

C 由四个 8 位整数组成无符号 32 位整数

在 8 位平台上,我用 4 个 8 位整数组成一个无符号 32 位整数,如下所示: uint8_t buf[4]; uint32_t 大 = 0; 大 |= ((uint32_t)buf[0]) << 24; large |= ((uint32_t)buf...

回答 1 投票 0

ATmega328P EEPROM 无法写入

我正在写入ATmega328P EEPROM,如下所示: eeprom_write_byte(地址, (U8_T) 0); void eeprom_write_byte(void* 地址,U8_T 数据) { 命令行(); /* 等待之前的写入完成 */

回答 1 投票 0

将常量转换为指针会增加 .data 大小 1000 字节

我对这个完全不知所措,我什至不知道我的问题要包含什么。 当我将常量转换为指针时,我的 (.data + .bss + .noinit) 部分增长了 1K,超过了 ATmega328P 的

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.