16 KB ATmega 168 32 KBATmega 328 2
闪存 16 KB (ATmega 168)或 32 KB(ATmega 328) , 其中 2 KB被bootloader使 用 SRAM 1 KB (ATmega 168)或 2 KB (ATmega 328) EEPROM 512个字节(ATmega 168)或 1 KB (ATmega 328) 闪存,用于存储程序。 bootloader可以看作是一个引导程序。 SRAM(Static RAM),是一种具有静止存取功能的内存,不需要刷新电路即能 保存它内部存储的数据。 EEPROM (Electrically Erasable Programmable Read-Only Memory),电 可擦可编程只读存储器。一种掉电后数据不丢失的存储芯片。
三、几个例子 1、几个简单的程序 /*LED闪烁*/ int led. Pin = 13; void setup() { pin. Mode(led. Pin, OUTPUT); } void loop() { digital. Write(led. Pin, HIGH); delay(1000); digital. Write(led. Pin, LOW); delay(1000); }
/*模拟输入*/ int sensor. Pin = 0; int led. Pin = 13; int sensor. Value = 0; void setup() { pin. Mode(led. Pin, OUTPUT); } void loop() { sensor. Value = analog. Read(sensor. Pin); digital. Write(led. Pin, HIGH); delay(sensor. Value); digital. Write(led. Pin, LOW); delay(sensor. Value); }
2、变化电压与LEDs const int analog. Pin=0; const int led. Count=9; const int pwm. Pin=11; int led. Pins[]={2, 3, 4, 5, 6, 7, 8, 9, 10}; void setup() { Serial. begin(9600); for(int this. Led = 0; this. Led < led. Count; this. Led++) pin. Mode(led. Pins[this. Led], OUTPUT); }
void loop() { int sensor. Reading=analog. Read(analog. Pin); int led. Level=map(sensor. Reading, 0, 1023, 0, led. Count); for(int this. Led=0; this. Led<led. Count; this. Led++) { if(this. Led<led. Level) digital. Write(led. Pins[this. Led], HIGH); digital. Write(led. Pins[this. Led], LOW); } //pwm变化范围是 0~255 analog. Write(pwm. Pin, sensor. Reading/4); --------------- else Serial. print("t"); Serial. print(sensor. Reading); Serial. print("tt"); Serial. print(led. Level); Serial. print("n"); }
- Slides: 12