欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136
標(biāo)題:
C語言如何把函數(shù)指針參數(shù)傳到宏定義開辟的空間呢?
[打印本頁]
作者:
hei51com
時間:
2020-11-6 10:46
標(biāo)題:
C語言如何把函數(shù)指針參數(shù)傳到宏定義開辟的空間呢?
如下,想用#else 替換,但這樣編譯不通過,請教怎么修改才能編譯通過。
typedef struct{
uint8 Address;
uint8 Top_data;
uint8 Middle_data;
uint8 Botton_data;
}RAM_TAB;
RAM_TAB *ram_ptr;
#define RESEVE_ADDR (0x8fb2600)//使用RESEVE保留的內(nèi)存
typedef struct{
uint8 Address;
uint8 Top_data;
uint8 Middle_data;
uint8 Botton_data;
}ram_tab_t;
#define g_ram_tab_info ((ram_tab_t *)(RESEVE_ADDR))
int WriteRam(uint8 data_length, RAM_TAB *ram_address)
{
uint8 i,
#if 0
ram_ptr = ram_address;
#else
g_ram_tab_info = ram_address;
#endif
for(i = 0; i < data_length; i++)
{
#if 0
if(WriteReg(0x1d,&ram_ptr->Address,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x10,&ram_ptr->Top_data,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x11,&ram_ptr->Middle_data,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x22,&ram_ptr->Botton_data,ADDR,2) != FALSE)
return -1;
ram_ptr++;
#else
if(WriteReg(0x1d,&g_ram_tab_info->Address,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x10,&g_ram_tab_info->Top_data,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x11,&g_ram_tab_info->Middle_data,ADDR,2) != FALSE)
return -1;
if(WriteReg(0x22,&g_ram_tab_info->Botton_data,ADDR,2) != FALSE)
return -1;
g_ram_tab_info++;
#endif
}
return 0;
}
復(fù)制代碼
作者:
B001
時間:
2020-11-6 15:41
對于像STM32這種程序,你所定義的RESERVE_ADDR屬于FLASH的地址范圍,g_ram_tab_info代表的是一個FLASH地址,第28行g(shù)_ram_tab_info=ram_address是試圖將FLASH的指改變,這是不允許的。
歡迎光臨 (http://m.raoushi.com/bbs/)
Powered by Discuz! X3.1