【问题标题】:Debugging AVR in Atmel Studio在 Atmel Studio 中调试 AVR
【发布时间】:2017-10-03 14:55:45
【问题描述】:

我正在学习在 AtmelStudio 中调试 AVR。所以我写了一个简单的程序来测试。但它编译正确但没有按预期执行。 我写了以下代码 ATmega32

#include <avr/io.h>   
int main(void)
{
DDRA = 0xFF;
PORTA = (10/100)*255;
return 0;
}

然后从调试菜单中选择 Start Debugging and Break。在 IO 窗口中,我选择了 I/O 端口 (PORTA)。我按 F11 键逐步执行。只有 DDRD 写入了所需的值,但 porta 没有分配任何值,它完成了调试。 为什么 PORTA 没有写任何东西。

【问题讨论】:

    标签: avr


    【解决方案1】:

    由于 C 中整数除法的工作方式,10/100 的计算结果为 0,因此您实际上将 0 分配给 PORTA。如果您看到 PORTA 的值为 0,那么您的程序将按预期运行。没有看到截图或短视频,很难相信你所说的“porta没有被赋予任何价值”。

    你可以考虑改写这个:

    PORTA = 255 * 10 / 100;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-10-29
      • 2023-04-10
      • 1970-01-01
      相关资源
      最近更新 更多