void my_t90(s32 bq,s32 yq)// { my.t90_start = bq * p.s.t90_0; my.t90_start /= 1000; if(my.t90_start < 2){ my.t90_start = 2; } my.t90_end = bq * p.s.t90_90; my.t90_end /= 1000; switch(my.t90_case){ case 0 :{ my.t90_case++; }break; case 1 :{ if(yq > my.t90_start){ my.t90_cnt = my.timer_1ms;//¼ÆÊýÆ÷Çå¿Õ my.t90_case++; } }break; case 2 :{ if(yq > my.t90_end){ my.t90_case++; }else if(yq < my.t90_start){ my.t90_case--; }else{ my.t90_ms = my.timer_1ms - my.t90_cnt; my.t90_ms /= 100; } }break; case 3 :{ if(yq < my.t90_end){ my.t90_cnt = my.timer_1ms;//¼ÆÊýÆ÷Çå¿Õ my.t90_case--; } }break; default :{ my.t90_case = 0; }break; } }
时间: 2024-04-20 21:22:16 浏览: 126
c语言100个题目.rar_C语言 题目
这段代码是一个函数 `my_t90` 的定义,它接受两个参数 `bq` 和 `yq`,类型为 `s32`。
在函数内部,首先计算了 `my.t90_start` 和 `my.t90_end` 的值,与之前提到的代码相同。
接下来是一个 `switch` 语句,根据 `my.t90_case` 的值执行不同的操作。
- 当 `my.t90_case` 的值为 0 时,执行 `case 0` 下的代码,将 `my.t90_case` 加 1。
- 当 `my.t90_case` 的值为 1 时,执行 `case 1` 下的代码,判断 `yq` 是否大于 `my.t90_start`,如果是,则将 `my.t90_cnt` 设置为 `my.timer_1ms` 的值,并将 `my.t90_case` 加 1。
- 当 `my.t90_case` 的值为 2 时,执行 `case 2` 下的代码,判断 `yq` 是否大于 `my.t90_end` 或小于 `my.t90_start`,根据条件分别执行对应的操作。
- 当 `my.t90_case` 的值为 3 时,执行 `case 3` 下的代码,判断 `yq` 是否小于 `my.t90_end`,如果是,则将 `my.t90_cnt` 设置为 `my.timer_1ms` 的值,并将 `my.t90_case` 减 1。
- 如果以上条件都不满足,则执行 `default` 下的代码,将 `my.t90_case` 设置为 0。
整个函数的作用是根据不同的条件对 `my.t90_case` 进行操作,并根据条件进行相应的计算和赋值。
阅读全文