type mini keyboard and display LCD

Dependencies:   mbed

Committer:
joenagata
Date:
Sat Feb 26 07:24:32 2011 +0000
Revision:
0:e5197e77ab57
rev.1

Who changed what in which revision?

UserRevisionLine numberNew contents of line
joenagata 0:e5197e77ab57 1
joenagata 0:e5197e77ab57 2
joenagata 0:e5197e77ab57 3 #include "mbed.h"
joenagata 0:e5197e77ab57 4 #include "Utils.h"
joenagata 0:e5197e77ab57 5
joenagata 0:e5197e77ab57 6 void printfBytes(const char* s, const u8* data, int len)
joenagata 0:e5197e77ab57 7 {
joenagata 0:e5197e77ab57 8 printf("%s %d:",s,len);
joenagata 0:e5197e77ab57 9 if (len > 256)
joenagata 0:e5197e77ab57 10 len = 256;
joenagata 0:e5197e77ab57 11 while (len-- > 0)
joenagata 0:e5197e77ab57 12 printf(" %02X",*data++);
joenagata 0:e5197e77ab57 13 printf("\n");
joenagata 0:e5197e77ab57 14 }
joenagata 0:e5197e77ab57 15
joenagata 0:e5197e77ab57 16 void printHexLine(const u8* d, int addr, int len)
joenagata 0:e5197e77ab57 17 {
joenagata 0:e5197e77ab57 18 printf("%04X ",addr);
joenagata 0:e5197e77ab57 19 int i;
joenagata 0:e5197e77ab57 20 for (i = 0; i < len; i++)
joenagata 0:e5197e77ab57 21 printf("%02X ",d[i]);
joenagata 0:e5197e77ab57 22 for (;i < 16; i++)
joenagata 0:e5197e77ab57 23 printf(" ");
joenagata 0:e5197e77ab57 24 char s[16+1];
joenagata 0:e5197e77ab57 25 memset(s,0,sizeof(s));
joenagata 0:e5197e77ab57 26 for (i = 0; i < len; i++)
joenagata 0:e5197e77ab57 27 {
joenagata 0:e5197e77ab57 28 int c = d[i];
joenagata 0:e5197e77ab57 29 if (c < 0x20 || c > 0x7E)
joenagata 0:e5197e77ab57 30 c = '.';
joenagata 0:e5197e77ab57 31 s[i] = c;
joenagata 0:e5197e77ab57 32 }
joenagata 0:e5197e77ab57 33 printf("%s\n",s);
joenagata 0:e5197e77ab57 34 }
joenagata 0:e5197e77ab57 35
joenagata 0:e5197e77ab57 36 void printHex(const u8* d, int len)
joenagata 0:e5197e77ab57 37 {
joenagata 0:e5197e77ab57 38 int addr = 0;
joenagata 0:e5197e77ab57 39 while (len)
joenagata 0:e5197e77ab57 40 {
joenagata 0:e5197e77ab57 41 int count = len;
joenagata 0:e5197e77ab57 42 if (count > 16)
joenagata 0:e5197e77ab57 43 count = 16;
joenagata 0:e5197e77ab57 44 printHexLine(d+addr,addr,count);
joenagata 0:e5197e77ab57 45 addr += 16;
joenagata 0:e5197e77ab57 46 len -= count;
joenagata 0:e5197e77ab57 47 }
joenagata 0:e5197e77ab57 48 }