IJFW - IchigoJamのBASICプログラムをメモリカード(MMCまたは互換カード)に保存したり読み出したりできるプログラム。メモリカードにファームウェアのファイルを置くだけで、電源ON時に自動的に書き換える機能も搭載(一応こちらがメイン)。LPC1114FN28専用。

Dependencies:   mbed

参考URL http://www.cyberchabudai.org/index.php/entry?tag=IJFW

I2CSlave2/I2CSlave2.cpp

Committer:
oks486
Date:
2016-04-28
Revision:
0:43cce7b453d0

File content as of revision 0:43cce7b453d0:

#include "I2CSlave2.h"

I2CSlave2::I2CSlave2(PinName sda, PinName scl) : I2CSlave(sda, scl) {
}

void I2CSlave2::address(int address, int mask) {
    int addr = (address & 0xFF) | 1;
    i2c_slave_address(&_i2c, 0, addr, 0);
    LPC_I2C->MASK0 = mask;
}

int I2CSlave2::read(char *data, int length) {
    return i2c_slave_read(&_i2c, data, length);
}

int I2CSlave2::read() {
    return i2c_byte_read(&_i2c, 0);
}

int I2CSlave2::write(const char *data, int length) {
    return i2c_slave_write(&_i2c, data, length);
}

int I2CSlave2::write(int data) {
    return i2c_byte_write(&_i2c, data);
}

// This function must be called immediately after receive().
int I2CSlave2::addressFromMaster() {
    return LPC_I2C->DAT;
}