Here's what i'm working on. it's a SMS-based LED MATRIX display. whenever i text something to the Arduino GSM module, it would display the text on the LED matrix. Both work well separately, but when i combine the codes, it doesn't respond both physically and on the Serial Monitor.
I noticed that they can't work simultaneously, but when i added PROGMEM, it did. however, the message i sent to the LED matrix was kinda messy. for example, I sent a letter "L" to the matrix, and it displayed a distorted L instead. any ideas why? this is where i added PROGMEM:
#include <avr/pgmspace.h>
const unsigned char character_data[][6] PROGMEM =
{
Â
  { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 },   //20-
  { 0x00, 0x00, 0x00, 0xF2, 0x00, 0x00 },   //21-!
  { 0x00, 0x00, 0xE0, 0x00, 0xE0, 0x00 },   //22-"
  { 0x28, 0xFE, 0x28, 0xFE, 0x28, 0x00 },   //23-#
  { 0x24, 0x54, 0x7E, 0x54, 0x48, 0x00 },   //24-$
  { 0xC4, 0xC4, 0x10, 0x26, 0x46, 0x00 },   //25-%
  { 0x6C, 0x92, 0xAA, 0x44, 0x1A, 0x00 },   //26-&
  { 0x00, 0x00, 0xA0, 0xC0, 0x00, 0x00 },   //27-'
  { 0x00, 0x00, 0x38, 0x44, 0x82, 0x00 },   //28-(
  { 0x00, 0x82, 0x44, 0x38, 0x00, 0x00 },   //29-)
  { 0x28, 0x10, 0x6C, 0x10, 0x28, 0x00 },   //2A-*
  { 0x10, 0x10, 0x6C, 0x10, 0x10, 0x00 },   //2B-+
  { 0x00, 0x00, 0x0A, 0x0C, 0x00, 0x00 },   //2C-,
  { 0x10, 0x10, 0x10, 0x10, 0x10, 0x00 },   //2D--
  { 0x00, 0x00, 0x06, 0x06, 0x00, 0x00 },   //2E-.
  { 0x04, 0x08, 0x10, 0x20, 0x40, 0x00 },   //2F-/
  { 0x7C, 0x82, 0x82, 0x82, 0x7C, 0x00 },   //30
  { 0x00, 0x42, 0xFE, 0x02, 0x00, 0x00 },   //31
  { 0x42, 0x86, 0x8A, 0x92, 0x62, 0x00 },   //32
  { 0x84, 0x82, 0xA2, 0xD2, 0x8C, 0x00 },   //33
  { 0x18, 0x28, 0x48, 0xFE, 0x08, 0x00 },   //34
  { 0xE4, 0xA2, 0xA2, 0xA2, 0x9C, 0x00 },   //35
  { 0x3C, 0x52, 0x92, 0x92, 0x0C, 0x00 },   //36
  { 0x80, 0x8E, 0x90, 0xA0, 0xC0, 0x00 },   //37
  { 0x6C, 0x92, 0x92, 0x92, 0x6C, 0x00 },   //38
  { 0x60, 0x92, 0x92, 0x94, 0x78, 0x00 },   //39
  { 0x00, 0x00, 0x6C, 0x6C, 0x00, 0x00 },   //3A-:
  { 0x00, 0x00, 0x6A, 0x6C, 0x00, 0x00 },   //3B-//
  { 0x00, 0x10, 0x28, 0x44, 0x82, 0x00 },   //3C-<
  { 0x28, 0x28, 0x28, 0x28, 0x28, 0x00 },   //3D-=
  { 0x00, 0x82, 0x44, 0x28, 0x10, 0x00 },   //3E->
  { 0x40, 0x80, 0x8A, 0x90, 0x60, 0x00 },   //3F-?
  { 0x7C, 0x82, 0xBA, 0xAA, 0xBA, 0x70 },   //40-@
  { 0x7E, 0x88, 0x88, 0x88, 0x7E, 0x00 },   //41-A
  { 0xFE, 0x92, 0x92, 0x92, 0x6C, 0x00 },   //42-B
  { 0x7C, 0x82, 0x82, 0x82, 0x44, 0x00 },   //43-C
  { 0xFE, 0x82, 0x82, 0x44, 0x38, 0x00 },   //44-D
  { 0xFE, 0x92, 0x92, 0x92, 0x82, 0x00 },   //45-E
  { 0xFE, 0x90, 0x90, 0x90, 0x80, 0x00 },   //46-F
  { 0x7C, 0x82, 0x92, 0x92, 0x5E, 0x00 },   //47-G
  { 0xFE, 0x10, 0x10, 0x10, 0xFE, 0x00 },   //48-H
  { 0x00, 0x82, 0xFE, 0x82, 0x00, 0x00 },   //49-I
  { 0x04, 0x02, 0x82, 0xFC, 0x80, 0x00 },   //4A-J
  { 0xFE, 0x10, 0x28, 0x44, 0x82, 0x00 },   //4B-K
  { 0xFE, 0x02, 0x02, 0x02, 0x02, 0x00 },   //4C-L
  { 0xFE, 0x40, 0x30, 0x40, 0xFE, 0x00 },   //4D-M
  { 0xFE, 0x20, 0x10, 0x08, 0xFE, 0x00 },   //4E-N
  { 0x7C, 0x82, 0x82, 0x82, 0x7C, 0x00 },   //4F-O
  { 0xFE, 0x90, 0x90, 0x90, 0x60, 0x00 },   //50-P
  { 0x7C, 0x82, 0x8A, 0x84, 0x7A, 0x00 },   //51-Q
  { 0xFE, 0x90, 0x98, 0x94, 0x62, 0x00 },   //52-R
  { 0x62, 0x92, 0x92, 0x92, 0x8C, 0x00 },   //53-S
  { 0x80, 0x80, 0xFE, 0x80, 0x80, 0x00 },   //54-T
  { 0xFC, 0x02, 0x02, 0x02, 0xFC, 0x00 },   //55-U
  { 0xF8, 0x04, 0x02, 0x04, 0xF8, 0x00 },   //56-V
  { 0xFC, 0x02, 0x1C, 0x02, 0xFC, 0x00 },   //57-W
  { 0xC6, 0x28, 0x10, 0x28, 0xC6, 0x00 },   //58-X
  { 0xE0, 0x10, 0x0E, 0x10, 0xE0, 0x00 },   //59-Y
  { 0x86, 0x8A, 0x92, 0xA2, 0xC2, 0x00 },   //5A-Z
  { 0x00, 0x00, 0xFE, 0x82, 0x82, 0x00 },   //5B-[
  { 0x40, 0x20, 0x10, 0x08, 0x04, 0x00 },   //5C-\
  { 0x00, 0x82, 0x82, 0xFE, 0x00, 0x00 },   //5D-]
  { 0x20, 0x40, 0xFE, 0x40, 0x20, 0x00 },   //5E-^
  { 0x01, 0x01, 0x01, 0x01, 0x01, 0x00 },   //5F-_
  { 0x80, 0x40, 0x20, 0x00, 0x00, 0x00 },   //60-`
  { 0x04, 0x2A, 0x2A, 0x2A, 0x1E, 0x00 },   //61-a
  { 0xFE, 0x12, 0x22, 0x22, 0x1C, 0x00 },   //62-b
  { 0x1C, 0x22, 0x22, 0x22, 0x04, 0x00 },   //63-c
  { 0x1C, 0x22, 0x22, 0x12, 0xFE, 0x00 },   //64-d
  { 0x1C, 0x2A, 0x2A, 0x2A, 0x18, 0x00 },   //65-e
  { 0x08, 0x3F, 0x48, 0x40, 0x20, 0x00 },   //66-f
  { 0x18, 0x25, 0x25, 0x25, 0x3E, 0x00 },   //67-g
  { 0xFE, 0x10, 0x20, 0x20, 0x1E, 0x00 },   //68-h
  { 0x00, 0x22, 0xBE, 0x02, 0x00, 0x00 },   //69-i
  { 0x02, 0x01, 0x21, 0xBE, 0x00, 0x00 },   //6A-j
  { 0x00, 0xFE, 0x08, 0x14, 0x22, 0x00 },   //6B-k
  { 0x00, 0x82, 0xFE, 0x02, 0x00, 0x00 },   //6C-l
  { 0x3E, 0x20, 0x18, 0x20, 0x1E, 0x00 },   //6D-m
  { 0x3E, 0x10, 0x20, 0x20, 0x1E, 0x00 },   //6E-n
  { 0x1C, 0x22, 0x22, 0x22, 0x1C, 0x00 },   //6F-o
  { 0x3F, 0x24, 0x24, 0x24, 0x18, 0x00 },   //70-p
  { 0x18, 0x24, 0x24, 0x14, 0x3F, 0x00 },   //71-q
  { 0x3E, 0x10, 0x20, 0x20, 0x10, 0x00 },   //72-r
  { 0x12, 0x2A, 0x2A, 0x2A, 0x04, 0x00 },   //73-s
  { 0x20, 0xFC, 0x22, 0x02, 0x04, 0x00 },   //74-t
  { 0x3C, 0x02, 0x02, 0x04, 0x3E, 0x00 },   //75-u
  { 0x38, 0x04, 0x02, 0x04, 0x38, 0x00 },   //76-v
  { 0x3C, 0x02, 0x0C, 0x02, 0x3C, 0x00 },   //77-w
  { 0x22, 0x14, 0x08, 0x14, 0x22, 0x00 },   //78-x
  { 0x38, 0x05, 0x05, 0x05, 0x3E, 0x00 },   //79-y
  { 0x22, 0x26, 0x2A, 0x32, 0x22, 0x00 },   //7A-z
  { 0x00, 0x10, 0x6C, 0x82, 0x00, 0x00 },   //7B-{
  { 0x00 },                  //7C-|-BLANK BAR
  { 0x00, 0x82, 0x6C, 0x10, 0x00, 0x00 },   //7D-}
  { 0x18, 0x24, 0x7E, 0x24, 0x08, 0x00 },
  { 0 }                    //7F-DO NOT USE
};
char *announcement(int message_no1)
{
 char *LED_message[]={" L "};
  Â
 return LED_message[message_no1];
}