printf("sum is %d\n",sum)
这样就输出
sum is -61
这是由于char型是8位,且最高位是作为符号位,此时输出是负数。
要输出
sum is 195
要把sum定义成int型,这样就行了。
#define IRLED RB4void Emit_Carrier_Nx600(INT8U,N) //(INT8U,N)是不是多了逗号?
{
INT8U i,j=N*50
for (i=0i<ji++)
{
_delay_us(12)
IRLED=~IRLED
}
}
void Emit_D12(INT16U,D12) //逗号??
{
Emit_carrier_Nx600(4)
IRLED=0
_delay_us600(1)
for(INT16U i=0x0001i<0x1000i<<=1)//不知道你的编译器支不支持在这里定义变量i //一般都放在开头吧
{
if(D12&i)Emit_carrier_Nx600(2)
else
Emir_Carrier_Nx600(1)
IRLED=0
_delay_us(600)
}
}