问题标签 [atmega16]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
43 浏览

distance - 为什么测量到一定距离后我的 LED 不亮?Atmega328p 和超声波 HC-SR04 传感器

我正在使用 Atmega16 来控制带有超声波传感器的 LED。基本上,如果距离小于 100 厘米,则 LED 会亮起,否则会熄灭。

问题是我必须为我的项目使用 Atmega328p。因为 328p 没有PORTA,所以我将代码更改为:

我正在使用 Proteus 进行模拟,并且在模拟日志中获得了正确的距离,但连接到 B 端口引脚 1 的 LED 保持关闭。可能是什么问题?引脚配置看起来不错,我遵循与以前相同的逻辑。

0 投票
0 回答
26 浏览

header-files - IAR Workbench 的头文件

我正在为 ATmega16u4 或 IAR 嵌入式工作台编写程序。我很难找到所需的头文件,以便我的中断寄存器可以工作。我试过 avr/interrupt.h 但它不起作用。

0 投票
0 回答
36 浏览

c - c语言中的计算器与termite3.4终端通信

我是编程新手,我正在尝试用 C 编写一个计算器。不同之处在于我有一个 ATmega 16,它必须与 Termite 终端通信。我该如何存档?这是我对解决方案的想法

ComSerial.h 是我自己的库,以下是文件: .h 文件:

.c 文件:

非常感谢您的帮助感谢英语不好。

0 投票
1 回答
94 浏览

c - AVR-GCC 用 Main 覆盖中断向量表

我有一个为 ATmega168 编写的简单 C 程序:

我的 CMakeLists:

当我编译它时(直接从命令行使用 avr-gcc 和在 CLion 中通过我的 CMakeLists 文件),编译器(链接器?)似乎正在用我的 main 函数覆盖中断向量表。当我在 .elf 文件上使用 objdump 生成代码的反汇编时,我得到:

根据 ATmega168 的数据表,在没有中断的情况下这是完全可以的:

“如果程序从不启用中断源,则不使用中断向量,并且可以将常规程序代码放置在这些位置。”

但由于我有中断,我希望反汇编看起来像:

我的代码或编译中是否缺少某些内容导致编译器错误地认为我没有使用中断,或者我完全误解了我的反汇编输出?

编辑:使用 CMAKE_VERBOSE_MAKEFILE 进行构建,我得到以下构建和链接:

这正是 CMakeLists.txt 中定义的内容(即,没有额外的投入)。