找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開始

搜索
查看: 1714|回復(fù): 1
打印 上一主題 下一主題
收起左側(cè)

C語(yǔ)言如何把函數(shù)指針參數(shù)傳到宏定義開辟的空間呢?

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:731155 發(fā)表于 2020-11-6 10:46 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
如下,想用#else 替換,但這樣編譯不通過,請(qǐng)教怎么修改才能編譯通過。
  1. typedef struct{
  2. uint8 Address;
  3. uint8 Top_data;
  4. uint8 Middle_data;
  5. uint8 Botton_data;
  6. }RAM_TAB;

  7. RAM_TAB *ram_ptr;

  8. #define RESEVE_ADDR (0x8fb2600)//使用RESEVE保留的內(nèi)存

  9. typedef struct{
  10. uint8 Address;
  11. uint8 Top_data;
  12. uint8 Middle_data;
  13. uint8 Botton_data;
  14. }ram_tab_t;

  15. #define g_ram_tab_info ((ram_tab_t *)(RESEVE_ADDR))

  16. int WriteRam(uint8 data_length, RAM_TAB *ram_address)
  17. {
  18. uint8 i,

  19. #if 0
  20. ram_ptr = ram_address;
  21. #else
  22. g_ram_tab_info = ram_address;
  23. #endif

  24. for(i = 0; i < data_length; i++)
  25. {
  26. #if 0
  27. if(WriteReg(0x1d,&ram_ptr->Address,ADDR,2) != FALSE)
  28. return -1;
  29. if(WriteReg(0x10,&ram_ptr->Top_data,ADDR,2) != FALSE)
  30. return -1;
  31. if(WriteReg(0x11,&ram_ptr->Middle_data,ADDR,2) != FALSE)
  32. return -1;
  33. if(WriteReg(0x22,&ram_ptr->Botton_data,ADDR,2) != FALSE)
  34. return -1;
  35. ram_ptr++;
  36. #else
  37. if(WriteReg(0x1d,&g_ram_tab_info->Address,ADDR,2) != FALSE)
  38. return -1;
  39. if(WriteReg(0x10,&g_ram_tab_info->Top_data,ADDR,2) != FALSE)
  40. return -1;
  41. if(WriteReg(0x11,&g_ram_tab_info->Middle_data,ADDR,2) != FALSE)
  42. return -1;
  43. if(WriteReg(0x22,&g_ram_tab_info->Botton_data,ADDR,2) != FALSE)
  44. return -1;
  45. g_ram_tab_info++;
  46. #endif
  47. }

  48. return 0;
  49. }
復(fù)制代碼



分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:592183 發(fā)表于 2020-11-6 15:41 | 只看該作者
對(duì)于像STM32這種程序,你所定義的RESERVE_ADDR屬于FLASH的地址范圍,g_ram_tab_info代表的是一個(gè)FLASH地址,第28行g(shù)_ram_tab_info=ram_address是試圖將FLASH的指改變,這是不允許的。


評(píng)分

參與人數(shù) 1黑幣 +20 收起 理由
admin + 20 回帖助人的獎(jiǎng)勵(lì)!

查看全部評(píng)分

回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表