📄 sensor.lst
字号:
375 .LM41:
376 /* prologue: frame size=0 */
377 /* prologue end (size=0) */
112:sensor.c **** * (volatile unsigned char *)(0x02 + 0x20) &= ~(1 << 5);
379 .LM42:
380 0088 1598 cbi 34-0x20,5
381 /* epilogue: frame size=0 */
382 008a 0895 ret
383 /* epilogue end (size=1) */
384 /* function OSH_MAKE_INT1_INPUT size 2 (1) */
387 .global OSH_MAKE_PHOTO_CTL_INPUT
389 OSH_MAKE_PHOTO_CTL_INPUT:
113:sensor.c **** }
114:sensor.c ****
115:sensor.c **** void OSH_MAKE_PHOTO_CTL_INPUT(void)
116:sensor.c **** {
391 .LM43:
392 /* prologue: frame size=0 */
393 /* prologue end (size=0) */
117:sensor.c **** OSH_MAKE_INT1_INPUT();
395 .LM44:
396 008c 0E94 0000 call OSH_MAKE_INT1_INPUT
397 /* epilogue: frame size=0 */
398 0090 0895 ret
399 /* epilogue end (size=1) */
400 /* function OSH_MAKE_PHOTO_CTL_INPUT size 3 (2) */
403 .global OSH_CLR_INT1_PIN
405 OSH_CLR_INT1_PIN:
118:sensor.c **** }
119:sensor.c ****
120:sensor.c **** void OSH_CLR_INT1_PIN(void)
121:sensor.c **** {
407 .LM45:
408 /* prologue: frame size=0 */
409 /* prologue end (size=0) */
122:sensor.c **** * (volatile unsigned char *)(0x03 + 0x20) &= ~(1 << 5);
411 .LM46:
412 0092 1D98 cbi 35-0x20,5
413 /* epilogue: frame size=0 */
414 0094 0895 ret
415 /* epilogue end (size=1) */
416 /* function OSH_CLR_INT1_PIN size 2 (1) */
419 .global OSH_CLR_PHOTO_CTL_PIN
421 OSH_CLR_PHOTO_CTL_PIN:
123:sensor.c **** }
124:sensor.c ****
125:sensor.c **** void OSH_CLR_PHOTO_CTL_PIN(void)
126:sensor.c **** {
423 .LM47:
424 /* prologue: frame size=0 */
425 /* prologue end (size=0) */
127:sensor.c **** OSH_CLR_INT1_PIN();
427 .LM48:
428 0096 0E94 0000 call OSH_CLR_INT1_PIN
429 /* epilogue: frame size=0 */
430 009a 0895 ret
431 /* epilogue end (size=1) */
432 /* function OSH_CLR_PHOTO_CTL_PIN size 3 (2) */
435 .global SensorExternalTempADCGetData
437 SensorExternalTempADCGetData:
128:sensor.c **** }
129:sensor.c ****
130:sensor.c **** result_t SensorExternalTempADCGetData(void)
131:sensor.c **** {
439 .LM49:
440 /* prologue: frame size=0 */
441 009c CF93 push r28
442 /* prologue end (size=1) */
443 .LBB4:
132:sensor.c **** uint8_t oldState;
133:sensor.c ****
134:sensor.c **** { uint8_t atomicState = AtomicStart();
445 .LM50:
446 009e 0E94 0000 call AtomicStart
447 00a2 282F mov r18,r24
135:sensor.c **** {
136:sensor.c **** oldState = PhotoTempM_state;
449 .LM51:
450 00a4 C091 0000 lds r28,PhotoTempM_state
137:sensor.c **** if (PhotoTempM_state == PhotoTempM_IDLE) {
452 .LM52:
453 00a8 8091 0000 lds r24,PhotoTempM_state
454 00ac 9091 0000 lds r25,(PhotoTempM_state)+1
455 00b0 0197 sbiw r24,1
456 00b2 31F4 brne .L21
138:sensor.c **** PhotoTempM_state = PhotoTempM_BUSY;
458 .LM53:
459 00b4 82E0 ldi r24,lo8(2)
460 00b6 90E0 ldi r25,hi8(2)
461 00b8 9093 0000 sts (PhotoTempM_state)+1,r25
462 00bc 8093 0000 sts PhotoTempM_state,r24
463 .L21:
139:sensor.c **** }
140:sensor.c **** }
141:sensor.c **** AtomicEnd(atomicState); }
465 .LM54:
466 00c0 822F mov r24,r18
467 00c2 0E94 0000 call AtomicEnd
468 .LBE4:
142:sensor.c **** if (oldState == PhotoTempM_IDLE) {
470 .LM55:
471 00c6 C130 cpi r28,lo8(1)
472 00c8 61F4 brne .L22
143:sensor.c **** OSH_CLR_PHOTO_CTL_PIN();
474 .LM56:
475 00ca 0E94 0000 call OSH_CLR_PHOTO_CTL_PIN
144:sensor.c **** OSH_MAKE_PHOTO_CTL_INPUT();
477 .LM57:
478 00ce 0E94 0000 call OSH_MAKE_PHOTO_CTL_INPUT
145:sensor.c **** OSH_SET_TEMP_CTL_PIN();
480 .LM58:
481 00d2 0E94 0000 call OSH_SET_TEMP_CTL_PIN
146:sensor.c **** OSH_MAKE_TEMP_CTL_OUTPUT();
483 .LM59:
484 00d6 0E94 0000 call OSH_MAKE_TEMP_CTL_OUTPUT
147:sensor.c **** return SensorInternalTempADCGetData();
486 .LM60:
487 00da 0E94 0000 call SensorInternalTempADCGetData
488 00de 9927 clr r25
489 00e0 02C0 rjmp .L20
490 .L22:
148:sensor.c **** }
149:sensor.c **** return FAIL;
492 .LM61:
493 00e2 80E0 ldi r24,lo8(0)
494 00e4 90E0 ldi r25,hi8(0)
495 .L20:
496 /* epilogue: frame size=0 */
497 00e6 CF91 pop r28
498 00e8 0895 ret
499 /* epilogue end (size=2) */
500 /* function SensorExternalTempADCGetData size 40 (37) */
508 .global PhotoTempM_ExternalTempADC_default_dataReady
510 PhotoTempM_ExternalTempADC_default_dataReady:
150:sensor.c **** }
151:sensor.c ****
152:sensor.c **** result_t PhotoTempM_ExternalTempADC_default_dataReady(uint16_t data)
153:sensor.c **** {
512 .LM62:
513 /* prologue: frame size=0 */
514 /* prologue end (size=0) */
154:sensor.c **** return SUCCESS;
155:sensor.c **** }
516 .LM63:
517 00ea 81E0 ldi r24,lo8(1)
518 00ec 90E0 ldi r25,hi8(1)
519 /* epilogue: frame size=0 */
520 00ee 0895 ret
521 /* epilogue end (size=1) */
522 /* function PhotoTempM_ExternalTempADC_default_dataReady size 3 (2) */
526 .global SensorExternalTempADCDataReady
528 SensorExternalTempADCDataReady:
156:sensor.c ****
157:sensor.c **** result_t SensorExternalTempADCDataReady(uint16_t data)
158:sensor.c **** {
530 .LM64:
531 /* prologue: frame size=0 */
532 /* prologue end (size=0) */
159:sensor.c **** unsigned char result;
160:sensor.c **** result = LLCADCDataReady(data);//PhotoTempM_ExternalTempADC_default_dataReady(arg_0xa341908);
534 .LM65:
535 00f0 0E94 0000 call LLCADCDataReady
161:sensor.c ****
162:sensor.c **** return result;
163:sensor.c **** }
537 .LM66:
538 00f4 9927 clr r25
539 /* epilogue: frame size=0 */
540 00f6 0895 ret
541 /* epilogue end (size=1) */
542 /* function SensorExternalTempADCDataReady size 4 (3) */
546 .global SensorInternalTempADCDataReady
548 SensorInternalTempADCDataReady:
164:sensor.c ****
165:sensor.c **** result_t SensorInternalTempADCDataReady(uint16_t data)
166:sensor.c **** {
550 .LM67:
551 /* prologue: frame size=0 */
552 00f8 1F93 push r17
553 00fa CF93 push r28
554 00fc DF93 push r29
555 /* prologue end (size=3) */
556 00fe EC01 movw r28,r24
557 .LBB5:
167:sensor.c **** uint8_t oldState;
168:sensor.c ****
169:sensor.c **** { uint8_t atomicState = AtomicStart();
559 .LM68:
560 0100 0E94 0000 call AtomicStart
561 0104 282F mov r18,r24
170:sensor.c **** {
171:sensor.c **** oldState = PhotoTempM_state;
563 .LM69:
564 0106 1091 0000 lds r17,PhotoTempM_state
172:sensor.c **** if (PhotoTempM_state == PhotoTempM_BUSY) {
566 .LM70:
567 010a 8091 0000 lds r24,PhotoTempM_state
568 010e 9091 0000 lds r25,(PhotoTempM_state)+1
569 0112 0297 sbiw r24,2
570 0114 31F4 brne .L26
173:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
572 .LM71:
573 0116 81E0 ldi r24,lo8(1)
574 0118 90E0 ldi r25,hi8(1)
575 011a 9093 0000 sts (PhotoTempM_state)+1,r25
576 011e 8093 0000 sts PhotoTempM_state,r24
577 .L26:
174:sensor.c **** }
175:sensor.c **** }
176:sensor.c **** AtomicEnd(atomicState); }
579 .LM72:
580 0122 822F mov r24,r18
581 0124 0E94 0000 call AtomicEnd
582 .LBE5:
177:sensor.c **** if (oldState == PhotoTempM_BUSY) {
584 .LM73:
585 0128 1230 cpi r17,lo8(2)
586 012a 21F4 brne .L27
178:sensor.c ****
179:sensor.c ****
180:sensor.c **** return SensorExternalTempADCDataReady(data);
588 .LM74:
589 012c CE01 movw r24,r28
590 012e 0E94 0000 call SensorExternalTempADCDataReady
591 0132 14C0 rjmp .L31
592 .L27:
181:sensor.c **** }
182:sensor.c **** else {
183:sensor.c **** if (oldState == PhotoTempM_CONTINUOUS) {
594 .LM75:
595 0134 1330 cpi r17,lo8(3)
596 0136 A1F4 brne .L28
597 .LBB6:
184:sensor.c **** int ret;
185:sensor.c ****
186:sensor.c **** ret = SensorExternalTempADCDataReady(data);
599 .LM76:
600 0138 CE01 movw r24,r28
601 013a 0E94 0000 call SensorExternalTempADCDataReady
602 013e C82F mov r28,r24
603 0140 DD27 clr r29
187:sensor.c **** if (ret == FAIL) {
605 .LM77:
606 0142 2097 sbiw r28,0
607 0144 51F4 brne .L30
608 .LBB7:
188:sensor.c ****
189:sensor.c ****
190:sensor.c **** { uint8_t atomicState = AtomicStart();
610 .LM78:
611 0146 0E94 0000 call AtomicStart
191:sensor.c **** {
192:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
613 .LM79:
614 014a 21E0 ldi r18,lo8(1)
615 014c 30E0 ldi r19,hi8(1)
616 014e 3093 0000 sts (PhotoTempM_state)+1,r19
617 0152 2093 0000 sts PhotoTempM_state,r18
193:sensor.c **** }
194:sensor.c **** AtomicEnd(atomicState); }
619 .LM80:
620 0156 0E94 0000 call AtomicEnd
621 .L30:
622 .LBE7:
195:sensor.c **** }
196:sensor.c **** return ret;
624 .LM81:
625 015a 8C2F mov r24,r28
626 .L31:
627 015c 9927 clr r25
628 015e 02C0 rjmp .L25
629 .L28:
630 .LBE6:
197:sensor.c **** }
198:sensor.c **** }
199:sensor.c **** return FAIL;
632 .LM82:
633 0160 80E0 ldi r24,lo8(0)
634 0162 90E0 ldi r25,hi8(0)
635 .L25:
636 /* epilogue: frame size=0 */
637 0164 DF91 pop r29
638 0166 CF91 pop r28
639 0168 1F91 pop r17
640 016a 0895 ret
641 /* epilogue end (size=4) */
642 /* function SensorInternalTempADCDataReady size 59 (52) */
653 .global SensorExternalPhotoADCDataReady
655 SensorExternalPhotoADCDataReady:
200:sensor.c **** }
201:sensor.c ****
202:sensor.c **** result_t SensorExternalPhotoADCDataReady(uint16_t data)
203:sensor.c **** {
657 .LM83:
658 /* prologue: frame size=0 */
659 /* prologue end (size=0) */
204:sensor.c **** unsigned char result;
205:sensor.c **** result = LLCADCDataReady(data);
661 .LM84:
662 016c 0E94 0000 call LLCADCDataReady
206:sensor.c **** return result;
207:sensor.c **** }
664 .LM85:
665 0170 9927 clr r25
666 /* epilogue: frame size=0 */
667 0172 0895 ret
668 /* epilogue end (size=1) */
669 /* function SensorExternalPhotoADCDataReady size 4 (3) */
672 .global SensorPhoOStdControlInit
674 SensorPhoOStdControlInit:
208:sensor.c ****
209:sensor.c ****
210:sensor.c **** result_t SensorPhoOStdControlInit(void)
211:sensor.c **** {
676 .LM86:
677 /* prologue: frame size=0 */
678 /* prologue end (size=0) */
212:sensor.c **** ADCBindPort(OS_ADC_PHOTO_PORT, OSH_ACTUAL_PHOTO_PORT);
680 .LM87:
681 0174 61E0 ldi r22,lo8(1)
682 0176 862F mov r24,r22
683 0178 0E94 0000 call ADCBindPort
684 .LBB8:
213:sensor.c **** { uint8_t atomicState = AtomicStart();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -