【发布时间】:2015-08-24 07:19:03
【问题描述】:
我最近开始使用 AVR 对我的 Arduino (ATmega328p) 进行编程,并获得了有关使用 avr lib 而不是 arduino IDE 的足够知识。我从一个闪烁 LED 示例开始。
然后我尝试了相同的方法,但这次我没有包含 io.h 或任何其他库,而是使用了指向端口的指针,例如 DDRB 或 PORTB 等。
根据 atmega328p 数据表,DDRB 位于 0x04,PORTB 位于 0x05。
但是,为我的闪烁 LED 设置高电平不起作用。 相反,我必须在两个地址都添加一个 0x20 的偏移量,因为它运行良好。 即,DDRB=0x24 和 PORTB=0x25 这个偏移量(0x20)来自哪里?
【问题讨论】: