如下,这是我写的一段C51代码,tep_L与tep_H是unsigned char 变量,他们的值可以显示出来,现在的问题是假设使得tep_H=49,Dis_linenum=1,AsciiSetWhite.Line_num1=2的话,按我设想的话经过此函数后tep_H的值应该是59,但实际却是48(实际是每按下一次个位减1,到0之后变为十位4,后又再变回5,个位又从0开始递减),请问下个位这是为什么,或者我如果想让他等于49,应该怎么办?
- void Key_Handler11()
- {
- u8 a=5;
- if(Dis_linenum==1)
- {
- switch(AsciiSetWhite.Line_num1)
- {
- case 1:tep_H=(char)(tep_H/10)*10+a;
- case 2:tep_H=(char)(tep_H/100)+a*10+(char)(tep_H%10);
- case 3:tep_H=tep_H%100+(char)(a*100);
- default:break;
- }
- }
- else if(Dis_linenum==0)
- {
- switch(AsciiSetWhite.Line_num2)
- {
- case 1:tep_L=(tep_L/10)*10+a;
- case 2:tep_L=tep_L/100+a*10+tep_L%10;
- case 3:tep_L=tep_L%100+a*100;
- default:break;
- }
- }
- }
复制代码
一周热门 更多>