參考:
https://github.com/arduino/Arduino/issues/848
把 twi.c 的 468 行:
twi_stop();
comment 掉就行了:
//twi_stop();
星期三, 5月 06, 2015
星期四, 3月 19, 2015
Arduino 的環境下, 把 Array 寫入到 flash ; 而不是 SRAM
在 MCU 的 SRAM 有限情形下, 要把一些表格放置到 flash 的區域下,而非佔用 SRAM
const byte myArray[] =
{
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x03,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
};
使用 PROGMEM 關鍵字, 同時
#include
const byte myArray[] PROGMEM=
{
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x03,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
};
在讀取時, 使用
pgm_read_byte_near(), ex:
int k; // counter variable
char myChar;
myChar = pgm_read_byte_near(myArray + k);
const byte myArray[] =
{
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x03,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
};
使用 PROGMEM 關鍵字, 同時
#include
const byte myArray[] PROGMEM=
{
0x01,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x02,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
0x03,0x02,0x03,0x04,0x05,0x06,0x07,0x08,
};
在讀取時, 使用
pgm_read_byte_near(), ex:
int k; // counter variable
char myChar;
myChar = pgm_read_byte_near(myArray + k);
訂閱:
文章 (Atom)