求助:STM32F103程序编译报错expected an expression

2019-07-21 02:14发布

不是C90编译和C99编译的问题,我尝试过了,没有效果,所以请不要说更改为C99,谢谢。宏定义及其他的我在其他程序使用是正常的,这个程序和其他程序使用同一个模板,所以这个写法是可以的。
整体程序放在附件中:


具体问题如下:
程序运行是软件模拟SPI通讯,然后昨天运行是正常的,然后晚上我运行就出错了,然后只有这个出错,而且这个写法在其他的文件中没有错误,只有这个出错,并且我复制了其他地方正确头文件和代码放在这里也是出错,程序头文件和代码如下:
头文件:
[mw_shl_code=c,true]#ifndef __OUTOUT_H
#define __OUTOUT_H
#include "sys.h"

#define TLC_DIN PCout(0)
#define TLC_CS PCout(1)
#define TLC_SCLK PCout(2)



void OUTOUT_Init(void);



#endif

[/mw_shl_code]


程序main函数报错部分如下:
[mw_shl_code=c,true]
void SPI_Write_Byte(unsigned char data_in)
{
TLC_SCLK=0;
if((0x80&data_in)==0x80)
{
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;

TLC_SCLK=0;
if((0x40&data_in)==0x40)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
  if((0x20&data_in)==0x20)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
if((0x10&data_in)==0x10)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
if((0x8&data_in)==0x8)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
if((0x4&data_in)==0x4)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
if((0x2&data_in)==0x2)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;


TLC_SCLK=0;
if((0x1&data_in)==0x1)
  {
         TLC_DIN=1;
}
else
{
         TLC_DIN=0;
}
TLC_SCLK=1;
}



void D_A_Converter(unsigned int data_in)
{
unsigned char h_data;
unsigned char l_data;
data_in<<=2;
h_data=(data_in>>8);
l_data=(0x00ff&data_in);
TLC_SCLK=0;
TLC_CS=0;                                                                                                                                                                                                       
SPI_Write_Byte(h_data);
SPI_Write_Byte(l_data);
TLC_SCLK=0;
TLC_CS=1;
}[/mw_shl_code]

编译报错代码如下图:
报错 报错



TCL5615.zip (345.21 KB, 下载次数: 3) 2019-4-28 09:11 上传 点击文件名下载附件
整体代码



友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。