AVR指的是两个8位或32位RISC微控制器系列
为什么这段代码是由 avr-gcc 生成的,它是如何工作的?
这是我正在从事的一个 C 项目中的反汇编 AVR 代码片段。我注意到生成了这个奇怪的代码,但我无法理解它是如何工作的。我认为这有点荒谬
我正在经历一种奇怪的现象。我正在尝试让 ATtiny24A 进入睡眠模式。我之前有一个工作代码,但通过对程序其他部分的修改和测试,似乎
使用 avr-gcc 在 C++ 中读取意外的全局变量结果(局部变量访问符合预期)
在 ATmega328 的 avr-gcc 4.6.2 中编译以下代码时,出现意外的全局变量读取结果: #包括 #包括 #定义 LED_PORT ...
在 proteus 上获取“Invalid opcode 0xFFFF at PC=0x5200”
这是我用汇编语言编写的 atmega32 代码。按下按钮 10 次后,它将在 pd5 上切换 led,但在 proteus 中我收到此错误: PC=0x5200 处的无效操作码 0xFFFF 我...
avr-gcc 中 Y 寄存器与调用/堆栈帧的偏移量来自哪里?
在 avr-gcc 网站(https://gcc.gnu.org/wiki/avr-gcc#Frame_Layout)上,它说帧指针(Y 寄存器)偏移了一个字节,因此 Y+1 指向框架的底部。但是当我编译时...
我学习用 C 和汇编语言对 ATmega328p 微控制器进行编程: 在C中,我定义DDRB = 0x24。 在汇编器中,我定义 DDRB = 0x04 有人可以解释一下地址中的这种差异吗(是吗
AVR的“ADC r18,r18”和“ROL r18”的区别
AVR 同时具有 ADC(带进位加法)和 ROL(进位左移)指令。 然而,在我看来,ROL 根本不需要,并且 ADC r, r 实现了相同的目的。 据我所知...
单片机:Atmega2560 IDE:Microchip Studio v7.0.2594 工具链:WinAVR(也尝试过 Native) 我正在尝试通过 UART 与我的 MCU 通信。我已经通过 UART 编写了两个非常基本的函数来传输
avr-gcc ATmega4809 `.rodata` 部分出现问题
(这是这个问题的后续) 以下程序不起作用(在ATmega4809中) #包括 无效 f(const char str[]) { if (str[0] == 'a') // <-- here is the problem...
无法在 ATMEGA328P Arduino Uno 上使用 AVR-c 正确打印到串行 UART
我正在尝试对 ATMEGA328P Arduino Uno“裸机”进行编程,以通过 USB 连接到我的计算机进行串行打印,但是我只看到打印替换字符 (�),两者都...
我正在尝试按设备构建“缺失”AVR 指令表。 由于缺乏任何可用的文档,我一直在比较 avra、gavrasm 和 avrlass 的源代码,但我不...
我有ATmega328P微控制器的编译十六进制文件,但没有源代码。我需要找到一种方法在 AVR 模拟器中调试它。 我已经做了什么: 安装了Microchip Studio,它有...
我正在尝试在我的 ATmega328p 上组装一个闪烁的 LED。我正在使用 8 位定时器来尝试实现这一点。现在计时器设置为超快移动,以便我可以在 Atmel 中测试它......
我正在尝试在 Arduino Uno (ATmega 328 MCU) 上学习 SPI。我正在 Arduino IDE 中工作,但我是用实际的 C 语言而不是 Arduino 库进行编程。我已经通过查看设置了 SPI 功能...
reinterpret_cast<volatile uint8_t*>(37)' 不是常量表达式
gcc 无法编译下面的代码,而 clang 可以编译。我无法控制宏 PORTB,因为它位于第 3 方库 (avr) 中。 这是一个 gcc 错误吗?我该如何在 gcc 中解决这个问题?作为一个
我正在为ATMEGA328P编写一个模拟器,在查看数据表后我找不到PC所在的具体地址,在其他寄存器中提到了大量信息...
我在对 ATmega32A-PU 进行编程时遇到了有关使用中断 INT0 的问题。每次它被触发(通过 PD2 上的上升沿),它都会导致 MCU(看似)重置,这意味着它开始于...
编译器在 Eclipse AVR 插件中截断 ATMEGA328PB 的中断向量
我通常会使用 Eclipse avr-gcc 插件和(zaks 的 avr-gcc 编译器 https://blog.zakkemble.net/avr-gcc-builds)来开发 AVR MCU 的固件。 MCU ATMEGA328PB 有额外的定时器 (3,4)、S...
我正在为ATtiny13编程,我必须做很多饱和的添加。 试图优化它们,似乎 avr-gcc 根本不知道如何优化任何东西。所有这些都试过了...
创建嵌入式C程序时,为什么我编译的C程序周围有额外的机器代码?
此 C 程序使连接到 AVR ATmega32u4 的 LED 闪烁。 ISR(TIMER1_OVF_vect) // 将中断子例程附加到 TIMER1 { // 切换 LED PIND = (1 << PIND5); // #define PIND (*(vola...