![Board logo](templates/discuz6/images/logo.gif)
标题: 警告解决: [打印本页]
作者: mwm008 时间: 2005-12-5 23:22 标题: 警告解决:
警告解决:
使用CW也有一段日子了,但是总是有这么一个警告一直困扰着我,它有时出现,有时又会不知怎么地消失掉!今天“她”又终于出现了,拿出来供大家分享!
这个警告就是:Warning:C12056:SP debug info incorrect because of optimization or inline assembler!
"她"好像也不是很影响结果,但是她不是很漂亮啊!而且越看越不舒服
作者: mwm008 时间: 2005-12-5 23:24
[upload=image/bmp]uploadImages/Image00000.bmp[/upload]
作者: mwm008 时间: 2005-12-5 23:26
#include /* derivative information */
#include "main.h"
#define SCL PTT_PTT4
#define SDA PTT_PTT6
//-*****************PT4->SCL
T6->SDA************************-//
void send_char(unsigned char c)
{
char i;
wait10us(); //100K的SCL
for(i=0;i<8;i++)
{
SCL=0;
SDA=c&&0x80;
c<<=1;
wait10us();
SCL=1;
wait10us();
} //8位1010XXXR(XXX表示page,R表示read)发送完成
SCL=0;
DDRT_DDRT6=0; //设置SDA为输入!
wait10us();
SCL=1;
/*{
DDRT_DDRT6=1; //重新设置SDA为输出!
for(i=0;i<8;i++)
{
SCL=0;
SDA=address&&0x80;
address<<=1;
wait10us();
SCL=1;
wait10us();
}
SCL=0;
DDRT_DDRT6=0; //再设置SDA为输入
SCL=1;
wait10us();
if(!SDA)
}*/
/*else
return 0;*/
}
char receive_char(void)
{
char m,result=0;
wait10us();
SCL=0;
wait10us();
for(m=0;m<8;m++)
{
result<<=1;
SCL=1;
wait10us();
if(SDA) result++;
SCL=0;
wait10us();
}
SCL=1;
wait10us();
SCL=0;
DDRT_DDRT6=1; //重新设置SDA为输出
SDA=0;
wait10us();
SCL=1;
SDA=1; //SDA在SCL为高电平时上降沿,表示END
return result;
}
char read_EE_byte(unsigned char address,unsigned char page)
{
DDRT_DDRT6=1;//SDA为输出
SDA=1; //初始给数据口高电平
wait10us();
page&=0x0F;
page|=0xA1; //设置读
SCL=1;
SDA=0; //SDA在SCL为高电平时下降沿,表示START--第一次发送page
send_char(page);
wait10us();
SCL=0; //退出send_char()时SCL=1,且延时了10uS
DDRT_DDRT6=1; //重新设置SDA为输出
SDA=1;
wait10us();
SCL=1;
SDA=0; //SDA在SCL为高电平时下降沿,表示START
send_char(address);//--第二次发送address
wait10us();
SCL=0; //退出send_char()时SCL=1,且延时了10uS
DDRT_DDRT6=1; //重新设置SDA为输出
SDA=1;
wait10us();
SCL=1;
SDA=0; //SDA在SCL为高电平时下降沿,表示START
send_char(page);
return receive_char();
}//警告位置!!!
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) |
Powered by Discuz! 7.0.0 |