这个单片机C语言编程出现的错误!请问怎么改?

void record4004(unsigned int address)
//address--录音地址0---2400
{
unsigned char i,m,j;
unsigned int datasoute=0;
powerup();
delay(5);//上电延时
powerup();
delay(5);//上电延时
delay(5);//上电延时
SS=1;
SCLK=0;
m=0xa0;
SS=0;
for(i=0;i<16;i++)
{
address=_iror_(address,1);
datasoute=address<<1;
MOSI=cy;
SCLK=0;
SCLK=1;
}
for(i=0;i<8;i++)
{
m=_cror_(m,1);
j=m<<1;
MOSI=cy;
SCLK=0;
SCLK=1;
}
SS=1;
SCLK=0;
m=0xb0;
SS=0;
for(i=0;i<8;i++)
{
m=_cror_(m,1);
j=m<<1;
MOSI=cy;
SCLK=0;
SCLK=1;
}
SS=1;
p0=0xff;
datasoute=0;
while(INT==1) //存储地址换
//行标志
{
if(RAC) {delay(20); datasoute++; }
/*记录本次录音所占的行数(也就是本
次录音有多大*/
}
}
1.C(166): error C202: 'cy': undefined identifier
1.C(174): error C202: 'cy': undefined identifier
1.C(186): error C202: 'cy': undefined identifier
1.C(191): error C202: 'p0': undefined identifier

CY是cpu状态寄存器PSW的进位标志位啊,要改成大写的!!!
或者看你的头文件里的CY是怎么定义的
就是地址是0xd7的那个
解决问题了给分!!!!
温馨提示:内容为网友见解,仅供参考
第1个回答  2011-12-26
你这本来就是没定义啊 .h 文件在哪里? 一般在那里边追问

请问cy应该定义在哪里啊? 这只是一小部分程序 请大侠指教啊

追答

搜索整个工程文件 看看cy在哪里 如果有 就尝试在 你这段代码前 #include 那个文件, 如果没有就麻烦了,需要看芯片资料确认这个cy是什么数据

追问

我不懂 你能帮帮我吗?

追答

这是一个最基本错误 你先理解 cy 跟 p0 究竟是干嘛用的

追问

P0是I/0 阿 但是cy我就不懂了呢

追答

估计程序是错得把 按道理 cy 应该是 参数的低位才是

相似回答