久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1233|回復: 2
打印 上一主題 下一主題
收起左側

C語言函數聲明報錯error C141: syntax error near '*', expected ')'

[復制鏈接]
跳轉到指定樓層
樓主
ID:1111671 發表于 2024-2-29 19:08 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
#ifndef __W25Q32_H_
#define __W25Q32_H_


#include "main.h"

#define PAGESIZE      256//一頁最多輸入256字節

//SPI IO控制
#define SPI_SCL_1(_HANDLE_)                ( GPIO_WritePin((_HANDLE_)->uSCL_Port, (_HANDLE_)->uSCL_Pin, 1))
#define SPI_SCL_0(_HANDLE_)                ( GPIO_WritePin((_HANDLE_)->uSCL_Port, (_HANDLE_)->uSCL_Pin, 0))

#define SPI_MOSI_1(_HANDLE_)        ( GPIO_WritePin((_HANDLE_)->uMOSI_Port, (_HANDLE_)->uMOSI_Pin, 1))
#define SPI_MOSI_0(_HANDLE_)        ( GPIO_WritePin((_HANDLE_)->uMOSI_Port, (_HANDLE_)->uMOSI_Pin, 0))

#define SPI_MISO_1(_HANDLE_)        ( GPIO_WritePin((_HANDLE_)->uMISO_Port, (_HANDLE_)->uMISO_Pin, 1))
#define SPI_MISO_0(_HANDLE_)        ( GPIO_WritePin((_HANDLE_)->uMISO_Port, (_HANDLE_)->uMISO_Pin, 0))

#define SPI_CS_1(_HANDLE_)                ( GPIO_WritePin((_HANDLE_)->uCS_Port, (_HANDLE_)->uCS_Pin, 1))
#define SPI_CS_0(_HANDLE_)                ( GPIO_WritePin((_HANDLE_)->uCS_Port, (_HANDLE_)->uCS_Pin, 0))

#define SPI_MISO_R(_HANDLE_)        ( GPIO_ReadPin((_HANDLE_)->uMISO_Port, (_HANDLE_)->uMISO_Pin))


extern void  vW25Q32_Init(SPI_ObjectTypedef * hSPIx,
                                                                         uint8_t             uSCL_Port,
                                                                         uint8_t             uSCL_Pin ,

                   uint8_t             uMOSI_Port,
                   uint8_t             uMOSI_Pin ,

                   uint8_t             uMISO_Port,
                   uint8_t             uMISO_Pin ,

                                                                         uint8_t             uCS_Port,
                   uint8_t             uCS_Pin);

//獲取Flash ID
extern uint32_t W25Q32_Read_ID(SPI_ObjectTypedef * hSPIx);
//寫使能(啟動)
extern void W25Q32_Write_Enable(SPI_ObjectTypedef * hSPIx);
//等待保護(等待擦除或寫入操作,直到操作完成結束)
extern void W25Q32_Wait_End(SPI_ObjectTypedef * hSPIx);
//讀操作,*buf為內容,addr為地址,pagesize為要讀出的字節數
extern void W25Q32_Read_Page(SPI_ObjectTypedef * hSPIx, uint8_t *buf,uint32_t addr,uint8_t pagesize);
//芯片擦除,非易失存儲器,寫數據前應該擦除操作
extern void W25Q32_Delete(SPI_ObjectTypedef * hSPIx);
//頁寫操作,*buf為內容,addr為地址,pagesize為寫入字節數必須小于256個
extern void W25Q32_Write_Page(SPI_ObjectTypedef * hSPIx,uint8_t *buf, uint32_t addr,uint8_t pagesize);

#endif







Core\W25Q32.h(25): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(39): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(41): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(43): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(45): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(47): error C141: syntax error near '*', expected ')'
Core\W25Q32.h(49): error C141: syntax error near '*', expected ')'

想問一下,為什么每個聲明語句都有報錯
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:161164 發表于 2024-2-29 20:59 | 只看該作者
要加分行符
  1. extern void  vW25Q32_Init(SPI_ObjectTypedef * hSPIx, \
  2.                                                         uint8_t uSCL_Port, \
  3.                                                         uint8_t uSCL_Pin, \
  4.                                                         uint8_t uMOSI_Port, \
  5.                                                         uint8_t uMOSI_Pin, \
  6.                                                         uint8_t uMISO_Port, \
  7.                                                         uint8_t uMISO_Pin, \
  8.                                                         uint8_t uCS_Port, \
  9.                                                         uint8_t uCS_Pin);
復制代碼
回復

使用道具 舉報

板凳
ID:883242 發表于 2024-3-1 16:54 | 只看該作者
這種#define不太好,inline更好一些。比如:
#define SPI_SCL_1(_HANDLE_)                ( GPIO_WritePin((_HANDLE_)->uSCL_Port, (_HANDLE_)->uSCL_Pin, 1))
我會寫成:
inline void SPI_SCL_1(_HANDLE_) { GPIO_WritePin((_HANDLE_)->uSCL_Port, (_HANDLE_)->uSCL_Pin, 1))}

不過雖然編譯器都支持inline,但是這并不是c語言標準關鍵字,要查編譯器手冊才可以。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 在线一区视频 | 亚洲高清av| 亚洲超碰在线观看 | 不卡一区 | 国产一级视频免费播放 | 亚洲精品国产电影 | 国产网站在线免费观看 | 日韩精品一区在线观看 | 一区二区国产精品 | 久久精品国产久精国产 | 精品一区二区电影 | 国产电影一区 | 国产在线观看av | 二区亚洲 | 中文字幕亚洲视频 | 久久精品久久久 | 久久蜜桃av| 国产成人精品综合 | 国产情侣在线看 | 人干人人 | 日韩电影中文字幕在线观看 | 久久国产一区二区三区 | 羞羞视频一区二区 | 久久久国产亚洲精品 | 爱操影视| 日日夜夜天天 | 国产日韩欧美在线播放 | 午夜视频在线免费观看 | 无码一区二区三区视频 | 亚洲va国产日韩欧美精品色婷婷 | 国产精品一区二区久久久久 | 波多野结衣一二三区 | 亚洲一区二区在线视频 | 欧美a在线看 | 中文字幕乱码一区二区三区 | 精品久久久久久久 | 亚洲国产精品第一区二区 | 国产精品免费一区二区 | 一区二区三区四区在线播放 | 亚洲人成人一区二区在线观看 | 国产视频一二三区 |