keilc里面,数据类型转换和一般的c好像不太一样,所以一般要特别小心,不是必需的情况下,尽量使用好把握的类型,想研究一下的话可以尝试,一般总不至于紧张到ram只剩下一个字节了吧,,
比如你的这个函数,完全可以让他返回unsigned char型的
unsigned char use_byte_status(void){
return byte_status&0x04;
}
或者这样用
int use_byte_status(void)
{
if( 0x04==byte_status&0x04)
return 1;
else
return 0;
}
改成byte_status&0x44,,这个函数是取指定端口的状态的,就只能取变量的某一位或你指定的几个端口位置,除非你是想同时判断第P02,P06两个端口是否为高电平
搜一下找个单片机的c语言教程看看,,