📄 sensor.lst
字号:
351 007c 1598 cbi 34-0x20,5
352 /* epilogue: frame size=0 */
353 007e 0895 ret
354 /* epilogue end (size=1) */
355 /* function OSH_MAKE_INT1_INPUT size 2 (1) */
358 .global OSH_CLR_INT1_PIN
360 OSH_CLR_INT1_PIN:
128:sensor.c **** }
129:sensor.c ****
130:sensor.c **** void OSH_MAKE_PHOTO_CTL_INPUT(void)
131:sensor.c **** {
132:sensor.c **** OSH_MAKE_INT1_INPUT();
133:sensor.c **** }
134:sensor.c ****
135:sensor.c **** void OSH_CLR_INT1_PIN(void)
136:sensor.c **** {
362 .LM39:
363 /* prologue: frame size=0 */
364 /* prologue end (size=0) */
137:sensor.c **** * (volatile unsigned char *)(0x03 + 0x20) &= ~(1 << 5);
366 .LM40:
367 0080 1D98 cbi 35-0x20,5
368 /* epilogue: frame size=0 */
369 0082 0895 ret
370 /* epilogue end (size=1) */
371 /* function OSH_CLR_INT1_PIN size 2 (1) */
374 .global SensorExternalTempADCGetData
376 SensorExternalTempADCGetData:
138:sensor.c **** }
139:sensor.c ****
140:sensor.c **** void OSH_CLR_PHOTO_CTL_PIN(void)
141:sensor.c **** {
142:sensor.c **** OSH_CLR_INT1_PIN();
143:sensor.c **** }
144:sensor.c ****
145:sensor.c **** result_t SensorExternalTempADCGetData(void)
146:sensor.c **** {
378 .LM41:
379 /* prologue: frame size=0 */
380 0084 CF93 push r28
381 /* prologue end (size=1) */
382 .LBB4:
147:sensor.c **** uint8_t oldState;
148:sensor.c ****
149:sensor.c **** { uint8_t atomicState = AtomicStart();
384 .LM42:
385 0086 0E94 0000 call AtomicStart
386 008a 282F mov r18,r24
150:sensor.c **** {
151:sensor.c **** oldState = PhotoTempM_state;
388 .LM43:
389 008c C091 0000 lds r28,PhotoTempM_state
152:sensor.c **** if (PhotoTempM_state == PhotoTempM_IDLE) {
391 .LM44:
392 0090 8091 0000 lds r24,PhotoTempM_state
393 0094 9091 0000 lds r25,(PhotoTempM_state)+1
394 0098 0197 sbiw r24,1
395 009a 31F4 brne .L17
153:sensor.c **** PhotoTempM_state = PhotoTempM_BUSY;
397 .LM45:
398 009c 82E0 ldi r24,lo8(2)
399 009e 90E0 ldi r25,hi8(2)
400 00a0 9093 0000 sts (PhotoTempM_state)+1,r25
401 00a4 8093 0000 sts PhotoTempM_state,r24
402 .L17:
154:sensor.c **** }
155:sensor.c **** }
156:sensor.c **** AtomicEnd(atomicState); }
404 .LM46:
405 00a8 822F mov r24,r18
406 00aa 0E94 0000 call AtomicEnd
407 .LBE4:
157:sensor.c **** if (oldState == PhotoTempM_IDLE) {
409 .LM47:
410 00ae C130 cpi r28,lo8(1)
411 00b0 61F4 brne .L18
412 .LBB5:
413 .LBB6:
415 .LM48:
416 00b2 0E94 0000 call OSH_CLR_INT1_PIN
417 .LBE6:
418 .LBE5:
419 .LBB7:
420 .LBB8:
422 .LM49:
423 00b6 0E94 0000 call OSH_MAKE_INT1_INPUT
424 .LBE8:
425 .LBE7:
158:sensor.c **** OSH_CLR_PHOTO_CTL_PIN();
159:sensor.c **** OSH_MAKE_PHOTO_CTL_INPUT();
160:sensor.c **** OSH_SET_TEMP_CTL_PIN();
427 .LM50:
428 00ba 0E94 0000 call OSH_SET_TEMP_CTL_PIN
161:sensor.c **** OSH_MAKE_TEMP_CTL_OUTPUT();
430 .LM51:
431 00be 0E94 0000 call OSH_MAKE_TEMP_CTL_OUTPUT
162:sensor.c **** return SensorInternalTempADCGetData();
433 .LM52:
434 00c2 0E94 0000 call SensorInternalTempADCGetData
435 00c6 9927 clr r25
436 00c8 02C0 rjmp .L16
437 .L18:
163:sensor.c **** }
164:sensor.c **** return FAIL;
439 .LM53:
440 00ca 80E0 ldi r24,lo8(0)
441 00cc 90E0 ldi r25,hi8(0)
442 .L16:
443 /* epilogue: frame size=0 */
444 00ce CF91 pop r28
445 00d0 0895 ret
446 /* epilogue end (size=2) */
447 /* function SensorExternalTempADCGetData size 40 (37) */
455 .global PhotoTempM_ExternalTempADC_default_dataReady
457 PhotoTempM_ExternalTempADC_default_dataReady:
165:sensor.c **** }
166:sensor.c ****
167:sensor.c **** result_t PhotoTempM_ExternalTempADC_default_dataReady(uint16_t data)
168:sensor.c **** {
459 .LM54:
460 /* prologue: frame size=0 */
461 /* prologue end (size=0) */
169:sensor.c **** return SUCCESS;
170:sensor.c **** }
463 .LM55:
464 00d2 81E0 ldi r24,lo8(1)
465 00d4 90E0 ldi r25,hi8(1)
466 /* epilogue: frame size=0 */
467 00d6 0895 ret
468 /* epilogue end (size=1) */
469 /* function PhotoTempM_ExternalTempADC_default_dataReady size 3 (2) */
473 .global SensorExternalTempADCDataReady
475 SensorExternalTempADCDataReady:
171:sensor.c ****
172:sensor.c **** result_t SensorExternalTempADCDataReady(uint16_t data)
173:sensor.c **** {
477 .LM56:
478 /* prologue: frame size=0 */
479 /* prologue end (size=0) */
174:sensor.c **** unsigned char result;
175:sensor.c **** result = SensordataReady(data);
481 .LM57:
482 00d8 0E94 0000 call SensordataReady
176:sensor.c **** return SUCCESS;
177:sensor.c **** }
484 .LM58:
485 00dc 81E0 ldi r24,lo8(1)
486 00de 90E0 ldi r25,hi8(1)
487 /* epilogue: frame size=0 */
488 00e0 0895 ret
489 /* epilogue end (size=1) */
490 /* function SensorExternalTempADCDataReady size 5 (4) */
494 .global SensorInternalTempADCDataReady
496 SensorInternalTempADCDataReady:
178:sensor.c ****
179:sensor.c **** result_t SensorInternalTempADCDataReady(uint16_t data)
180:sensor.c **** {
498 .LM59:
499 /* prologue: frame size=0 */
500 00e2 1F93 push r17
501 00e4 CF93 push r28
502 00e6 DF93 push r29
503 /* prologue end (size=3) */
504 00e8 EC01 movw r28,r24
505 .LBB9:
181:sensor.c **** uint8_t oldState;
182:sensor.c ****
183:sensor.c **** { uint8_t atomicState = AtomicStart();
507 .LM60:
508 00ea 0E94 0000 call AtomicStart
509 00ee 282F mov r18,r24
184:sensor.c **** {
185:sensor.c **** oldState = PhotoTempM_state;
511 .LM61:
512 00f0 1091 0000 lds r17,PhotoTempM_state
186:sensor.c **** if (PhotoTempM_state == PhotoTempM_BUSY) {
514 .LM62:
515 00f4 8091 0000 lds r24,PhotoTempM_state
516 00f8 9091 0000 lds r25,(PhotoTempM_state)+1
517 00fc 0297 sbiw r24,2
518 00fe 31F4 brne .L24
187:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
520 .LM63:
521 0100 81E0 ldi r24,lo8(1)
522 0102 90E0 ldi r25,hi8(1)
523 0104 9093 0000 sts (PhotoTempM_state)+1,r25
524 0108 8093 0000 sts PhotoTempM_state,r24
525 .L24:
188:sensor.c **** }
189:sensor.c **** }
190:sensor.c **** AtomicEnd(atomicState); }
527 .LM64:
528 010c 822F mov r24,r18
529 010e 0E94 0000 call AtomicEnd
530 .LBE9:
191:sensor.c **** if (oldState == PhotoTempM_BUSY) {
532 .LM65:
533 0112 1230 cpi r17,lo8(2)
534 0114 21F4 brne .L25
192:sensor.c ****
193:sensor.c ****
194:sensor.c **** return SensorExternalTempADCDataReady(data);
536 .LM66:
537 0116 CE01 movw r24,r28
538 0118 0E94 0000 call SensorExternalTempADCDataReady
539 011c 14C0 rjmp .L29
540 .L25:
195:sensor.c **** }
196:sensor.c **** else {
197:sensor.c **** if (oldState == PhotoTempM_CONTINUOUS) {
542 .LM67:
543 011e 1330 cpi r17,lo8(3)
544 0120 A1F4 brne .L26
545 .LBB10:
198:sensor.c **** int ret;
199:sensor.c ****
200:sensor.c **** ret = SensorExternalTempADCDataReady(data);
547 .LM68:
548 0122 CE01 movw r24,r28
549 0124 0E94 0000 call SensorExternalTempADCDataReady
550 0128 C82F mov r28,r24
551 012a DD27 clr r29
201:sensor.c **** if (ret == FAIL) {
553 .LM69:
554 012c 2097 sbiw r28,0
555 012e 51F4 brne .L28
556 .LBB11:
202:sensor.c ****
203:sensor.c ****
204:sensor.c **** { uint8_t atomicState = AtomicStart();
558 .LM70:
559 0130 0E94 0000 call AtomicStart
205:sensor.c **** {
206:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
561 .LM71:
562 0134 21E0 ldi r18,lo8(1)
563 0136 30E0 ldi r19,hi8(1)
564 0138 3093 0000 sts (PhotoTempM_state)+1,r19
565 013c 2093 0000 sts PhotoTempM_state,r18
207:sensor.c **** }
208:sensor.c **** AtomicEnd(atomicState); }
567 .LM72:
568 0140 0E94 0000 call AtomicEnd
569 .L28:
570 .LBE11:
209:sensor.c **** }
210:sensor.c **** return ret;
572 .LM73:
573 0144 8C2F mov r24,r28
574 .L29:
575 0146 9927 clr r25
576 0148 02C0 rjmp .L23
577 .L26:
578 .LBE10:
211:sensor.c **** }
212:sensor.c **** }
213:sensor.c **** return FAIL;
580 .LM74:
581 014a 80E0 ldi r24,lo8(0)
582 014c 90E0 ldi r25,hi8(0)
583 .L23:
584 /* epilogue: frame size=0 */
585 014e DF91 pop r29
586 0150 CF91 pop r28
587 0152 1F91 pop r17
588 0154 0895 ret
589 /* epilogue end (size=4) */
590 /* function SensorInternalTempADCDataReady size 59 (52) */
601 .global SensorExternalPhotoADCDataReady
603 SensorExternalPhotoADCDataReady:
214:sensor.c **** }
215:sensor.c ****
216:sensor.c **** result_t SensorExternalPhotoADCDataReady(uint16_t data)
217:sensor.c **** {
605 .LM75:
606 /* prologue: frame size=0 */
607 /* prologue end (size=0) */
218:sensor.c **** unsigned char result;
219:sensor.c **** result = SensordataReady(data);
609 .LM76:
610 0156 0E94 0000 call SensordataReady
220:sensor.c **** return result;
221:sensor.c **** }
612 .LM77:
613 015a 9927 clr r25
614 /* epilogue: frame size=0 */
615 015c 0895 ret
616 /* epilogue end (size=1) */
617 /* function SensorExternalPhotoADCDataReady size 4 (3) */
620 .global SensorPhoOStdControlInit
622 SensorPhoOStdControlInit:
222:sensor.c ****
223:sensor.c ****
224:sensor.c **** result_t SensorPhoOStdControlInit(void)
225:sensor.c **** {
624 .LM78:
625 /* prologue: frame size=0 */
626 /* prologue end (size=0) */
226:sensor.c **** ADCBindPort(OS_ADC_PHOTO_PORT, OSH_ACTUAL_PHOTO_PORT);
628 .LM79:
629 015e 61E0 ldi r22,lo8(1)
630 0160 862F mov r24,r22
631 0162 0E94 0000 call ADCBindPort
632 .LBB12:
227:sensor.c **** { uint8_t atomicState = AtomicStart();
634 .LM80:
635 0166 0E94 0000 call AtomicStart
228:sensor.c **** {
229:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
637 .LM81:
638 016a 21E0 ldi r18,lo8(1)
639 016c 30E0 ldi r19,hi8(1)
640 016e 3093 0000 sts (PhotoTempM_state)+1,r19
641 0172 2093 0000 sts PhotoTempM_state,r18
230:sensor.c **** }
231:sensor.c **** AtomicEnd(atomicState); }
643 .LM82:
644 0176 0E94 0000 call AtomicEnd
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -