永发信息网

89c51单片机 Keil C51软件编译出现 error C193: 'parameter': bad operand type 要怎么改正啊?

答案:4  悬赏:70  手机版
解决时间 2021-12-31 02:48
  • 提问者网友:我没有何以琛的痴心不悔
  • 2021-12-30 02:20
void timer0() interrupt 1
{
miao=BCD_Decimal(read_1302(0x81)); //读取1302的秒
fen=BCD_Decimal(read_1302(0x83)); //分
shi=BCD_Decimal(read_1302(0x85)); //时
Date=BCD_Decimal(read_1302(0x87)); //日
Month=BCD_Decimal(read_1302(0x89)); //月
week=BCD_Decimal(read_1302(0x8b)); //星期
Year=BCD_Decimal(read_1302(0x8d)); //年
write_hms(10,miao); //1602显示的秒
write_hms(2,fen);
write_hms(4,shi);
write_hms(3,Date);
write_hms(5,Month);
write_hms(2,Year);
write_hms(week);
}
uchar BCD_Decimal(uchar bcd) //BCD转16进制数
{
uchar Decimal;
Decimal=bcd>>4;
return(Decimal=Decimal*10+(bcd&=0x0F));
}
最佳答案
  • 五星知识达人网友:雪起风沙痕
  • 2021-12-30 03:36
单片机C语言一般都不允许在中断里调用其它函数的,何况你在定时器的中断里调用那么多的函数,keil再有能耐也保护不了这些函数中所使用的变量,编译当然要出错了。建议把所有在中断里调用的函数都退出来,在主函数循环中安排个合适的去处。
全部回答
  • 1楼网友:一叶十三刺
  • 2021-12-30 07:43
你好! 不妨到我们这个电子世家单片机群:255847245,里面的同行或许能帮得到你。 我的回答你还满意吗~~
  • 2楼网友:春色三分
  • 2021-12-30 06:28
你双击错误 看看附近行是不是函数的参数是不是类型不匹配
  • 3楼网友:三千妖杀
  • 2021-12-30 04:55
你出问题的到底是哪行,光贴个程序有什么用啊
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯