error:#18:expexted a “)”

        前天写了几段代码,出现了error: #18:expexted a ")",当时我挺懵的,一直反复的检查了出错的地方,一直找不出来。 

         后面去百度查了一下,都是说在定义头文件时,宏定义#define语句最后不要加分号!去掉分号即可消除error

         但是经过排查,我的所有代码都没有这样的写法,说明错的不是这种情况。后来,我继续检查,发现了问题。

void SpiWritePage(unsigned char* buff,unsigned int addr,unsigned short len)
{
    unsigned i=0;
    SpiWriteEnalb();
    SpiWaitBusy();                      //等待空闲
    SPI_FLASH_CS=0;
    SPI_ReadWriteByte(Page_Program);
    
    SPI_ReadWriteByte(addr>>16);  //发送24位地址的最高8位
    SPI_ReadWriteByte(addr>>8);   //发送24位地址的中间8位
    SPI_ReadWriteByte(addr);      //发送24位地址的最低8位
    for(i=0;i<len;i++)
    {
        SPI_ReadWriteByte(*buff++);
    }
    SPI_FLASH_CS=1;                     //拉高片选 
    SpiWaitBusy();                      //等待空闲
    printf("写入成功!\r\n");
}
void SpiReadData(unsigned char* buff,unsigned int addr,unsigned short len)
{
    unsigned short i=0;
    SpiWaitBusy();
    SPI_FLASH_CS=0;//拉低片选 
    SPI_ReadWriteByte(Reader_Data);
    SPI_ReadWriteByte(addr>>16);
    SPI_ReadWriteByte(addr>>8);
    SPI_ReadWriteByte(addr);
    for(i=0;i<len;i++)
    {
       *buff++ =SPI_ReadWriteByte(0xff);//读取状态
        
    }
    SPI_FLASH_CS=1;//拉高片选
    SpiWaitBusy();
}

        由于我写的这两个函数,一个是读取寄存器的数据,一个是向寄存器写入参数,方法都差不多,函数里面调用函数一样,用的形参都一样,keil5就会给我报错。后面把函数的形参改为如下:

 这样就可以成功通过编译!!!程序也可以正常运行!!!

我用的是keil5 5.27.1.0版本。学识尚浅,如有不对的地方,还望各位海涵!!!同时欢迎大家在评论区留言。

  • 6
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浊酒一杯敬故里

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值