103
Ɍɚɛɥɢɰɚ 3.2
ɇɟɤɨɬɨɪɵɟ ɫɜɨɣɫɬɜɚ ɨɛɴɟɤɬɚ ɬɚɣɦɟɪ
ɇɚɡɜɚɧɢɟ
ɫɜɨɣɫɬɜɚ
Ɉɩɢɫɚɧɢɟ ɫɜɨɣɫɬɜɚ ɉɪɢɧɢɦɚɟɦɵɟ ɡɧɚɱɟɧɢɹ
Name ɇɚɡɜɚɧɢɟ ɬɚɣɦɟɪɚ string
Period
Ɂɚɞɟɪɠɤɚ ɜ ɫɟɤɭɧɞɚɯ ɦɟɠɞɭ ɜɵɩɨɥɧɟɧɢɟɦ
TimerFcn
double > 0.001 s
Running ɂɧɞɢɤɚɬɨɪ ɬɟɤɭɳɟɝɨ ɫɨɫɬɨɹɧɢɹ ɬɚɣɦɟɪɚ ‘off’, ‘on’
StartDelay
Ɂɚɞɟɪɠɤɚ ɜ ɫɟɤɭɧɞɚɯ ɦɟɠɞɭ ɫɬɚɪɬɨɦ ɬɚɣ-
ɦɟɪɚ ɢ ɩɟɪɜɵɦ ɜɵɩɨɥɧɟɧɢɟɦ ɮɭɧɤɰɢɢ
TimerFcn
double >= 0
StartFcn
Ɏɭɧɤɰɢɹ, ɤɨɬɨɪɭɸ ɜɵɩɨɥɧɹɟɬ ɬɚɣɦɟɪ ɫɪɚɡɭ
ɩɨɫɥɟ ɫɬɚɪɬɚ
String, Function handle,
cell
StopFcn
Ɏɭɧɤɰɢɹ, ɤɨɬɨɪɭɸ ɜɵɩɨɥɧɹɟɬ ɬɚɣɦɟɪ ɩɪɢ
ɨɫɬɚɧɨɜɤɟ
String, Function handle,
cell
ErrorFcn
Ɏɭɧɤɰɢɹ, ɤɨɬɨɪɭɸ ɜɵɩɨɥɧɹɟɬ ɬɚɣɦɟɪ ɩɪɢ
ɜɨɡɧɢɤɧɨɜɟɧɢɢ ɨɲɢɛɤɢ. Ⱦɚɧɧɚɹ ɮɭɧɤɰɢɹ
ɜɵɩɨɥɧɹɟɬɫɹ ɞɨ StopFcn.
String, Function handle,
cell
Tag Ɇɟɬɤɚ ɩɨɥɶɡɨɜɚɬɟɥɹ string
TimerFcn Ɏɭɧɤɰɢɹ, ɜɵɩɨɥɧɹɟɦɚɹ ɬɚɣɦɟɪɨɦ String, Function handle, cell
Execu-
tionMode
Ɋɟɠɢɦ ɪɚɫɩɪɟɞɟɥɟɧɢɹ ɫɨɛɵɬɢɣ ɬɚɣɦɟɪɨɦ
ɉɪɢɧɢɦɚɟɦɵɟ ɡɧɚɱɟɧɢɹ:
'singleShot' 'fixedSpacing'
'fixedDelay' 'fixedRate'
Ɍɚɤɢɦ ɨɛɪɚɡɨɦ, ɞɥɹ ɬɨɝɨ, ɱɬɨɛɵ ɩɨɥɭɱɢɬɶ ɨɛɴɟɤɬ ɬɚɣɦɟɪɚ, ɧɟɨɛɯɨ-
ɞɢɦɨ ɡɚɞɚɬɶ ɟɝɨ ɤɨɧɫɬɪɭɤɰɢɸ ɫ ɭɤɚɡɚɧɢɟ ɫɜɨɣɫɬɜ ɡɚɩɭɫɤɚ ɢ ɜɵɩɨɥɧɟɧɢɹ
ɬɚɣɦɟɪɚ.
ɇɚɩɪɢɦɟɪ:
t = timer('TimerFcn', @r,'StartDelay', .1, 'stopfcn', @f2,
'tag', 'timer')
, ɝɞɟ t – ɩɟɪɟɦɟɧɧɚɹ, ɫɨɞɟɪɠɚɳɚɹ handle ɬɚɣɦɟɪɚ.
ɉɪɢ ɷɬɨɦ ɬɚɣɦɟɪ ɩɨɫɥɟ ɡɚɩɭɫɤɚ ɜɵɩɨɥɧɢɬ ɡɚɞɟɪɠɤɭ 0,1 ɫ, ɡɚɬɟɦ
ɜɵɩɨɥɧɢɬ ɮɭɧɤɰɢɸ @r, ɡɚɬɟɦ ɮɭɧɤɰɢɸ @f2. ɇɚɣɬɢ ɬɚɣɦɟɪ ɦɨɠɧɨ ɩɨ
ɫɜɨɣɫɬɜɭ tag, ɜ ɤɨɬɨɪɨɦ ɩɪɨɩɢɫɚɧɚ ɦɟɬɤɚ ‘timer’.
Ɂɚɩɭɫɤ ɬɚɣɦɟɪɚ ɨɫɭɳɟɫɬɜɥɹɟɦ ɮɭɧɤɰɢɟɣ
start(t). Ⱦɨɫɪɨɱɧɵɣ ɨɫɬɚ-
ɧɨɜ ɬɚɣɦɟɪɚ ɨɫɭɳɟɫɬɜɥɹɟɬɫɹ ɮɭɧɤɰɢɟɣ
stop(t). ɑɬɨɛɵ ɧɚɣɬɢ ɜɫɟ ɨɛɴɟɤɬɵ
ɬɚɣɦɟɪɚ, ɤɨɬɨɪɵɟ ɛɵɥɢ ɫɨɡɞɚɧɵ ɪɚɧɟɟ, ɧɟɨɛɯɨɞɢɦɨ ɢɫɩɨɥɶɡɨɜɚɬɶ ɤɨɦɚɧ-
ɞɭ
timerfind. ɍɞɚɥɢɬɶ ɤɨɧɫɬɪɭɤɰɢɸ ɬɚɣɦɟɪɚ ɦɨɠɧɨ ɩɪɢ ɩɨɦɨɳɢ ɤɨɦɚɧɞɵ
delete. ɍɫɬɚɧɨɜɤɚ ɫɜɨɣɫɬɜ ɬɚɣɦɟɪɚ ɩɪɨɢɡɜɨɞɢɬɫɹ ɤɨɦɚɧɞɨɣ set, ɜɡɹɬɶ
ɫɜɨɣɫɬɜɨ ɬɚɣɦɟɪɚ, ɧɚɩɪɢɦɟɪ running, ɦɨɠɧɨ ɩɪɢ ɩɨɦɨɳɢ ɤɨɦɚɧɞɵ
get.
ɂɡ ɬɚɛɥ. 3.2 ɨɱɟɜɢɞɧɨ ɢɫɩɨɥɶɡɨɜɚɧɢɟ ɨɛɴɟɤɬɚ ɬɚɣɦɟɪɚ ɜ ɧɟɫɤɨɥɶ-
ɤɢɯ ɪɟɠɢɦɚɯ (ɩɚɪɚɦɟɬɪ Execution Mode). Ɋɟɠɢɦ singleShot ɨɡɧɚɱɚɟɬ ɜɵ-
ɩɨɥɧɟɧɢɟ ɬɚɣɦɟɪɚ ɟɞɢɧɨɠɞɵ, ɨɫɬɚɥɶɧɵɟ ɪɟɠɢɦɵ – ɦɧɨɝɨɤɪɚɬɧɨ.
Ⱦɥɹ ɜɢɡɭɚɥɶɧɨɝɨ ɩɪɟɞɫɬɚɜɥɟɧɢɹ ɜɫɟɯ ɪɟɠɢɦɨɜ ɪɚɫɫɦɨɬɪɢɦ ɜɪɟ-
ɦɟɧɧɵɟ ɞɢɚɝɪɚɦɦɵ (ɪɢɫ. 3.18, 3.19).