winnie 发表于 2009-4-25 16:51:46

下面的RB1=(bit)(s>4); 如何理解这句话

unsigned char s;                  /*每0.125S累加1*/

unsigned char ss;                  /*每1秒累加1*/

void main(){

               set_tmr1();

........;                           /*设定I/O口,开TMR1中断*/

            while(1){

                  if(...)                              /*判断闪烁方式语句,下同*/

                   RB1=(bit)(s>4);      (这几句看了几天也看不明白)

    /*每1s闪烁一次,占空比50%(调节>后面值可以改变)*/

                   if(...)

                     RB2=(bit)(!ss);             /*每1分钟闪烁一次,亮1秒,熄59秒*/

                   if(...)

                  RB3=(bit)(s==0 || s==2 || s== 4 || s== 6);      /*每0.25S闪烁一次*/

                      .........;                            /*其它工作*/

winnie 发表于 2009-4-25 16:52:05

这是c中的强制类型转换,如果S>4 RB1=1否则 RB1=0
页: [1]
查看完整版本: 下面的RB1=(bit)(s>4); 如何理解这句话