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

Dependencies:   mbed

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

Committer:
oks486
Date:
Thu Apr 28 11:23:24 2016 +0000
Revision:
0:43cce7b453d0
first commit

Who changed what in which revision?

UserRevisionLine numberNew contents of line
oks486 0:43cce7b453d0 1 #include "I2CSlave2.h"
oks486 0:43cce7b453d0 2
oks486 0:43cce7b453d0 3 I2CSlave2::I2CSlave2(PinName sda, PinName scl) : I2CSlave(sda, scl) {
oks486 0:43cce7b453d0 4 }
oks486 0:43cce7b453d0 5
oks486 0:43cce7b453d0 6 void I2CSlave2::address(int address, int mask) {
oks486 0:43cce7b453d0 7 int addr = (address & 0xFF) | 1;
oks486 0:43cce7b453d0 8 i2c_slave_address(&_i2c, 0, addr, 0);
oks486 0:43cce7b453d0 9 LPC_I2C->MASK0 = mask;
oks486 0:43cce7b453d0 10 }
oks486 0:43cce7b453d0 11
oks486 0:43cce7b453d0 12 int I2CSlave2::read(char *data, int length) {
oks486 0:43cce7b453d0 13 return i2c_slave_read(&_i2c, data, length);
oks486 0:43cce7b453d0 14 }
oks486 0:43cce7b453d0 15
oks486 0:43cce7b453d0 16 int I2CSlave2::read() {
oks486 0:43cce7b453d0 17 return i2c_byte_read(&_i2c, 0);
oks486 0:43cce7b453d0 18 }
oks486 0:43cce7b453d0 19
oks486 0:43cce7b453d0 20 int I2CSlave2::write(const char *data, int length) {
oks486 0:43cce7b453d0 21 return i2c_slave_write(&_i2c, data, length);
oks486 0:43cce7b453d0 22 }
oks486 0:43cce7b453d0 23
oks486 0:43cce7b453d0 24 int I2CSlave2::write(int data) {
oks486 0:43cce7b453d0 25 return i2c_byte_write(&_i2c, data);
oks486 0:43cce7b453d0 26 }
oks486 0:43cce7b453d0 27
oks486 0:43cce7b453d0 28 // This function must be called immediately after receive().
oks486 0:43cce7b453d0 29 int I2CSlave2::addressFromMaster() {
oks486 0:43cce7b453d0 30 return LPC_I2C->DAT;
oks486 0:43cce7b453d0 31 }