добавить функцию AVR Studio pgm_read_byte в MiKroc (Electronica)

У меня есть программа в AVR Studio V4 со следующим кодом:

#include <avr/pgmspace.h>

void nlcd_Putc(unsigned char c)
{
    unsigned char i;
    if (c>127) c=c-64;  

    for (i = 0; i < 5; i++ )
    {
        nlcd_SendByte(DATA_LCD_MODE,pgm_read_byte(&(nlcd_Font[c-32][i])));
    }

    nlcd_SendByte(DATA_LCD_MODE,0x00); 
}

Поэтому, когда я хочу запустить этот код в MiKroC для AVR, я получаю следующую ошибку:

128 324 Необъявленный идентификатор pgm_read_byte в выражении MyProject.c

Должен ли я добавить заголовок avr/pgmspace.h в MiKroc For AVR, или какой заголовок эквивалентен avr/pgmspace.h в Mikroc For AVR?

Большое спасибо.


person Soheil Paper    schedule 20.12.2015    source источник


Ответы (1)


добавив эти коды в заголовок:

typedef signed char                                             int8;
        typedef unsigned char                                           uint8;
        typedef signed int                                              int16;
        typedef unsigned int                                            uint16;
        typedef signed long int                                         int32;
        typedef unsigned long int                                       uint32; 

        //-----------------------    
        #define PGM_P                                   char flash *
        #define PROGMEM                                 flash
        #define const                                                                       flash
        #define PSTR(x)                                 x

        #define EEMEM                                   eeprom

        #define pgm_read_byte(x)                        (*((uint8  flash *)(x)))
        #define pgm_read_word(x)                        (*((uint16 flash *)(x)))
        #define pgm_read_float(x)                                               (*((uint32 flash *)(x)))
        #define pgm_read_byte_near(x)                                       (*((uint8  flash *)(x)))
person Soheil Paper    schedule 24.12.2015