久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费
標題:
求助:avr編程 WinAVR程序移植到iar for avr 出現錯誤
[打印本頁]
作者:
by64214
時間:
2021-3-21 11:46
標題:
求助:avr編程 WinAVR程序移植到iar for avr 出現錯誤
求助:avr編程 WinAVR程序移植到iar for avr
出現錯誤
WinAVR
pgmspace.h
頭文件
函數
[url=]表情[/url]
#definepgm_read_byte(address_short) pgm_read_byte_near(address_short)
iar for avr
pgmspace.h
頭文件
函數 沒有
pgm_read_byte
函數
/* PGM_P points into program address space */ PGM_P指向程序地址空間
#ifdef __HAS_ELPM__
#define PGM_P const char __farflash *
#define PGM_VOID_P const void __farflash *
#else
#define PGM_P const char __flash *
#define PGM_VOID_P const void __flash *
#endif /* __HAS_ELPM__ */
#define __PRINTFPR_P _Pragma("__printf_args") \
_Pragma("library_default_requirements _formatted_write_P = unknown")
#define __SCANFPR_P _Pragma("__scanf_args") \
_Pragma("library_default_requirements _formatted_read_P = unknown")
/* Language extensions are necessary to cope with multiple address spaces */
必須使用語言擴展才能應對多個地址空間
#pragma language=save
#pragma language=extended
__PRINTFPR_P int printf_P(PGM_P __format,...);
__SCANFPR_P int scanf_P(PGM_P __format,...);
__PRINTFPR_P int sprintf_P(char *__s,PGM_P __format,...);
__SCANFPR_P int sscanf_P(const char *__s, PGM_P __format,...);
int puts_P(PGM_P __s);
PGM_P strerror_P(int errnum);
size_t strlen_P(PGM_P s);
__x_z int memcmp_P(const void *, PGM_VOID_P, size_t);
__x_z void *memcpy_P(void *, PGM_VOID_P, size_t);
__x_z char *strcat_P(char *, PGM_P);
__x_z int strcmp_P(const char *, PGM_P);
__x_z char *strcpy_P(char *, PGM_P);
__x_z char *strncat_P(char *, PGM_P, size_t);
__x_z int strncmp_P(const char *, PGM_P, size_t);
__x_z char *strncpy_P(char *, PGM_P, size_t);
__x_z int memcmp_G(const void *, const void __generic *, size_t);
__x_z void *memcpy_G(void *, const void __generic *, size_t);
__x_z char *strcat_G(char *, const char __generic *);
__x_z int strcmp_G(const char *, const char __generic *);
__x_z char *strcpy_G(char *, const char __generic *);
__z size_t strlen_G(const char __generic *);
__x_z char *strncat_G(char *, const char __generic *, size_t);
__x_z int strncmp_G(const char *, const char __generic *, size_t);
__x_z char *strncpy_G(char *, const char __generic *, size_t);
int puts_G(const char __generic *);
復制代碼
現在
WinAVR程序
移植到iar for avr
pgm_read_byte 出現錯誤 請求指導 下面程序程序 應該怎么改?
void Common_Show(INT8U P,INT8U L,INT8U W,char *r)
{
INT8U i;
//顯示在左半屏或左右半屏
if(L < 64)
{
CS1_1(); CS2_0();
LCD_Write_Command(LCD_PAGE+P);
LCD_Write_Command(LCD_COL+L);
//全部顯示在左半屏
if(L + W < 64)
{
for(i=0; i<W; i++) LCD_Write_Data(<b>pgm_read_byte</b>(r+i));
}
//如果越界則跨越左右半屏顯示
else
{
//左半屏顯示
for(i=0; i<64-L; i++) LCD_Write_Data(<b>pgm_read_byte</b>(r+i));
//右半屏顯示
CS1_0(); CS2_1();
LCD_Write_Command(LCD_PAGE+P);
LCD_Write_Command(LCD_COL);
for(i=64-L; i<W; i++) LCD_Write_Data(<b>pgm_read_byte</b>(r+i));
}
}
//全部顯示在右半屏
else
{
CS1_0(); CS2_1();
LCD_Write_Command(LCD_PAGE+P);
LCD_Write_Command(LCD_COL+L-64);
for(i=0; i<W; i++) LCD_Write_Data(<b>pgm_read_byte</b>(r+i));
}
}
復制代碼
作者:
KongQuan
時間:
2021-3-21 13:23
試試自己定義替換
#definepgm_read_byte(address_short) *(const char __flash * ( address_short))
作者:
by64214
時間:
2021-3-21 14:59
謝謝指導!
#define pgm_read_byte(address_short) *(const char __flash * ( address_short))
編譯 出現 Error[Pe018]: expected a ")" Error[Pe029]: expected an expression
歡迎光臨 (http://www.zg4o1577.cn/bbs/)
Powered by Discuz! X3.1
主站蜘蛛池模板:
日韩视频一区二区
|
日韩视频a
|
人人人艹
|
91香蕉
|
伊人久久伊人
|
一区二区精品在线
|
免费播放一级片
|
久久久久久成人
|
天天操天天干天天曰
|
美女黄色在线观看
|
久久久久久久电影
|
成人精品一区二区三区
|
91超碰在线观看
|
国产精品自拍啪啪
|
av在线一区二区三区
|
中文天堂在线观看
|
国产激情网
|
国产色视频网站
|
国产一区二区三区免费
|
亚洲欧美视频
|
毛片在线看看
|
天天操网
|
欧美乱大交xxxxx另类电影
|
日本亚洲欧美
|
成人精品国产
|
亚洲精品乱码久久久久久9色
|
激情毛片
|
日日干夜夜操天天操
|
污视频免费在线观看
|
天堂在线免费视频
|
国产一二三区在线
|
成人免费视频观看
|
亚洲人成人一区二区在线观看
|
国产精品高潮呻吟久久aⅴ码
|
精品一区二区三
|
日韩成人av在线播放
|
国产精品婷婷
|
男人的天堂在线视频
|
精品久久久久久亚洲精品
|
精品久久国产
|
亚洲精品一区中文字幕乱码
|