Добавить функцию AVR Studio pgm_read_byte в MiKroc (Электроника)
У меня есть программа в 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 для AVR, или каков эквивалентный заголовок для avr/pgmspace.h
в Mikroc для AVR?
Большое спасибо.
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)))