mbed_slave_full

Dependencies:   mbed

Committer:
sillevl
Date:
Tue Oct 21 09:45:38 2014 +0000
Revision:
6:ec3b01ce9687
Parent:
5:b73ea174e997
added slave.stop()

Who changed what in which revision?

UserRevisionLine numberNew contents of line
dwini 4:f537311ddc53 1 #include "mbed.h"
dwini 4:f537311ddc53 2 #include "memory.h"
dwini 4:f537311ddc53 3
dwini 4:f537311ddc53 4 Memory::Memory()
dwini 4:f537311ddc53 5 {
dwini 4:f537311ddc53 6 reset();
dwini 4:f537311ddc53 7 }
dwini 4:f537311ddc53 8
dwini 4:f537311ddc53 9 /*
dwini 4:f537311ddc53 10 * Reset all memory locations to 0.
dwini 4:f537311ddc53 11 */
dwini 4:f537311ddc53 12 void Memory::reset()
dwini 4:f537311ddc53 13 {
dwini 4:f537311ddc53 14 for (int i = 0; i < Memory::MEMORY_SIZE; i++) {
dwini 5:b73ea174e997 15 this->memory[i] = 0;
dwini 4:f537311ddc53 16 }
dwini 4:f537311ddc53 17 }
dwini 4:f537311ddc53 18
dwini 4:f537311ddc53 19 /*
dwini 4:f537311ddc53 20 * Store value in memory
dwini 4:f537311ddc53 21 */
dwini 4:f537311ddc53 22 void Memory::set(int address, int value)
dwini 4:f537311ddc53 23 {
dwini 4:f537311ddc53 24 if (address < Memory::MEMORY_SIZE) {
dwini 4:f537311ddc53 25 this->memory[address] = value;
dwini 4:f537311ddc53 26 }
dwini 4:f537311ddc53 27 }
dwini 4:f537311ddc53 28
dwini 4:f537311ddc53 29 /*
dwini 4:f537311ddc53 30 * Retrieve value from memory
dwini 4:f537311ddc53 31 */
dwini 4:f537311ddc53 32 int Memory::get(int address)
dwini 4:f537311ddc53 33 {
dwini 4:f537311ddc53 34 if (address < Memory::MEMORY_SIZE) {
dwini 4:f537311ddc53 35 return this->memory[address];
dwini 4:f537311ddc53 36 } else {
dwini 4:f537311ddc53 37 return 0;
dwini 4:f537311ddc53 38 }
dwini 4:f537311ddc53 39 }
dwini 4:f537311ddc53 40
dwini 4:f537311ddc53 41 /*
dwini 4:f537311ddc53 42 * Print current memory content to console
dwini 4:f537311ddc53 43 */
dwini 4:f537311ddc53 44 void Memory::print()
dwini 4:f537311ddc53 45 {
dwini 4:f537311ddc53 46 int i = 0, c = 0;
dwini 4:f537311ddc53 47 while (i < Memory::MEMORY_SIZE) {
dwini 4:f537311ddc53 48 c = (c + 1) % 4;
dwini 4:f537311ddc53 49 printf("\t[%#04x]: %6d", i, this->memory[i]);
dwini 4:f537311ddc53 50 if (!c) {
dwini 4:f537311ddc53 51 printf("\r\n");
dwini 4:f537311ddc53 52 }
dwini 4:f537311ddc53 53 i++;
dwini 4:f537311ddc53 54 }
dwini 4:f537311ddc53 55 }