📄 sensor.lst
字号:
645 .LBE12:
232:sensor.c **** return ADCControlInit();
647 .LM83:
648 017a 0E94 0000 call ADCControlInit
233:sensor.c **** }
650 .LM84:
651 017e 9927 clr r25
652 /* epilogue: frame size=0 */
653 0180 0895 ret
654 /* epilogue end (size=1) */
655 /* function SensorPhoOStdControlInit size 18 (17) */
658 .global SensorPhoOStdControlStart
660 SensorPhoOStdControlStart:
234:sensor.c ****
235:sensor.c **** result_t SensorPhoOStdControlStart(void)
236:sensor.c **** {
662 .LM85:
663 /* prologue: frame size=0 */
664 0182 1F93 push r17
665 /* prologue end (size=1) */
666 .LBB13:
237:sensor.c **** { uint8_t atomicState = AtomicStart();
668 .LM86:
669 0184 0E94 0000 call AtomicStart
670 0188 182F mov r17,r24
238:sensor.c **** {
239:sensor.c **** OSH_SET_PHOTO_CTL_PIN();
672 .LM87:
673 018a 0E94 0000 call OSH_SET_PHOTO_CTL_PIN
240:sensor.c **** OSH_MAKE_PHOTO_CTL_OUTPUT();
675 .LM88:
676 018e 0E94 0000 call OSH_MAKE_PHOTO_CTL_OUTPUT
241:sensor.c **** }
242:sensor.c **** AtomicEnd(atomicState); }
678 .LM89:
679 0192 812F mov r24,r17
680 0194 0E94 0000 call AtomicEnd
681 .LBE13:
243:sensor.c **** return SUCCESS;
244:sensor.c **** }
683 .LM90:
684 0198 81E0 ldi r24,lo8(1)
685 019a 90E0 ldi r25,hi8(1)
686 /* epilogue: frame size=0 */
687 019c 1F91 pop r17
688 019e 0895 ret
689 /* epilogue end (size=2) */
690 /* function SensorPhoOStdControlStart size 15 (12) */
696 .global SensorInternalPhotoADCGetData
698 SensorInternalPhotoADCGetData:
245:sensor.c ****
246:sensor.c **** result_t SensorExternalPhotoADCGetData(void)
247:sensor.c **** {
248:sensor.c **** uint8_t oldState;
249:sensor.c ****
250:sensor.c **** { uint8_t atomicState = AtomicStart();
251:sensor.c **** {
252:sensor.c **** oldState = PhotoTempM_state;
253:sensor.c **** if (PhotoTempM_state == PhotoTempM_IDLE) {
254:sensor.c **** PhotoTempM_state = PhotoTempM_BUSY;
255:sensor.c **** }
256:sensor.c **** }
257:sensor.c **** AtomicEnd(atomicState); }
258:sensor.c **** if (oldState == PhotoTempM_IDLE) {
259:sensor.c **** OSH_CLR_TEMP_CTL_PIN();
260:sensor.c **** OSH_MAKE_TEMP_CTL_INPUT();
261:sensor.c **** OSH_SET_PHOTO_CTL_PIN();
262:sensor.c **** OSH_MAKE_PHOTO_CTL_OUTPUT();
263:sensor.c **** return SensorInternalPhotoADCGetData();
264:sensor.c **** }
265:sensor.c **** return FAIL;
266:sensor.c **** }
267:sensor.c ****
268:sensor.c **** result_t SensorInternalPhotoADCDataReady(uint16_t data)
269:sensor.c **** {
270:sensor.c **** uint8_t oldState;
271:sensor.c ****
272:sensor.c **** { uint8_t atomicState = AtomicStart();
273:sensor.c **** {
274:sensor.c **** oldState = PhotoTempM_state;
275:sensor.c **** if (PhotoTempM_state == PhotoTempM_BUSY) {
276:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
277:sensor.c **** }
278:sensor.c **** }
279:sensor.c **** AtomicEnd(atomicState); }
280:sensor.c **** if (oldState == PhotoTempM_BUSY) {
281:sensor.c ****
282:sensor.c **** return SensorExternalPhotoADCDataReady(data);
283:sensor.c **** }
284:sensor.c **** else {
285:sensor.c **** if (oldState == PhotoTempM_CONTINUOUS) {
286:sensor.c **** int ret;
287:sensor.c **** ret = SensorExternalPhotoADCDataReady(data);
288:sensor.c **** if (ret == FAIL) {
289:sensor.c **** { uint8_t atomicState = AtomicStart();
290:sensor.c **** {
291:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
292:sensor.c **** }
293:sensor.c **** AtomicEnd(atomicState); }
294:sensor.c **** }
295:sensor.c **** return ret;
296:sensor.c **** }
297:sensor.c **** }
298:sensor.c **** return FAIL;
299:sensor.c **** }
300:sensor.c ****
301:sensor.c **** result_t SensorInternalPhotoADCGetData(void)
302:sensor.c **** {
700 .LM91:
701 /* prologue: frame size=0 */
702 /* prologue end (size=0) */
303:sensor.c **** unsigned char result;
304:sensor.c **** result = ADCGetData(OS_ADC_PHOTO_PORT);
704 .LM92:
705 01a0 81E0 ldi r24,lo8(1)
706 01a2 0E94 0000 call ADCGetData
305:sensor.c ****
306:sensor.c **** return result;
307:sensor.c **** }
708 .LM93:
709 01a6 9927 clr r25
710 /* epilogue: frame size=0 */
711 01a8 0895 ret
712 /* epilogue end (size=1) */
713 /* function SensorInternalPhotoADCGetData size 5 (4) */
716 .global SensorExternalPhotoADCGetData
718 SensorExternalPhotoADCGetData:
720 .LM94:
721 /* prologue: frame size=0 */
722 01aa CF93 push r28
723 /* prologue end (size=1) */
724 .LBB14:
726 .LM95:
727 01ac 0E94 0000 call AtomicStart
728 01b0 282F mov r18,r24
730 .LM96:
731 01b2 C091 0000 lds r28,PhotoTempM_state
733 .LM97:
734 01b6 8091 0000 lds r24,PhotoTempM_state
735 01ba 9091 0000 lds r25,(PhotoTempM_state)+1
736 01be 0197 sbiw r24,1
737 01c0 31F4 brne .L35
739 .LM98:
740 01c2 82E0 ldi r24,lo8(2)
741 01c4 90E0 ldi r25,hi8(2)
742 01c6 9093 0000 sts (PhotoTempM_state)+1,r25
743 01ca 8093 0000 sts PhotoTempM_state,r24
744 .L35:
746 .LM99:
747 01ce 822F mov r24,r18
748 01d0 0E94 0000 call AtomicEnd
749 .LBE14:
751 .LM100:
752 01d4 C130 cpi r28,lo8(1)
753 01d6 61F4 brne .L36
754 .LBB15:
755 .LBB16:
757 .LM101:
758 01d8 0E94 0000 call OSH_CLR_INT2_PIN
759 .LBE16:
760 .LBE15:
761 .LBB17:
762 .LBB18:
764 .LM102:
765 01dc 0E94 0000 call OSH_MAKE_INT2_INPUT
766 .LBE18:
767 .LBE17:
769 .LM103:
770 01e0 0E94 0000 call OSH_SET_PHOTO_CTL_PIN
772 .LM104:
773 01e4 0E94 0000 call OSH_MAKE_PHOTO_CTL_OUTPUT
775 .LM105:
776 01e8 0E94 0000 call SensorInternalPhotoADCGetData
777 01ec 9927 clr r25
778 01ee 02C0 rjmp .L34
779 .L36:
781 .LM106:
782 01f0 80E0 ldi r24,lo8(0)
783 01f2 90E0 ldi r25,hi8(0)
784 .L34:
785 /* epilogue: frame size=0 */
786 01f4 CF91 pop r28
787 01f6 0895 ret
788 /* epilogue end (size=2) */
789 /* function SensorExternalPhotoADCGetData size 40 (37) */
797 .global SensorInternalPhotoADCDataReady
799 SensorInternalPhotoADCDataReady:
801 .LM107:
802 /* prologue: frame size=0 */
803 01f8 1F93 push r17
804 01fa CF93 push r28
805 01fc DF93 push r29
806 /* prologue end (size=3) */
807 01fe EC01 movw r28,r24
808 .LBB19:
810 .LM108:
811 0200 0E94 0000 call AtomicStart
812 0204 282F mov r18,r24
814 .LM109:
815 0206 1091 0000 lds r17,PhotoTempM_state
817 .LM110:
818 020a 8091 0000 lds r24,PhotoTempM_state
819 020e 9091 0000 lds r25,(PhotoTempM_state)+1
820 0212 0297 sbiw r24,2
821 0214 31F4 brne .L40
823 .LM111:
824 0216 81E0 ldi r24,lo8(1)
825 0218 90E0 ldi r25,hi8(1)
826 021a 9093 0000 sts (PhotoTempM_state)+1,r25
827 021e 8093 0000 sts PhotoTempM_state,r24
828 .L40:
830 .LM112:
831 0222 822F mov r24,r18
832 0224 0E94 0000 call AtomicEnd
833 .LBE19:
835 .LM113:
836 0228 1230 cpi r17,lo8(2)
837 022a 21F4 brne .L41
839 .LM114:
840 022c CE01 movw r24,r28
841 022e 0E94 0000 call SensorExternalPhotoADCDataReady
842 0232 14C0 rjmp .L45
843 .L41:
845 .LM115:
846 0234 1330 cpi r17,lo8(3)
847 0236 A1F4 brne .L42
848 .LBB20:
850 .LM116:
851 0238 CE01 movw r24,r28
852 023a 0E94 0000 call SensorExternalPhotoADCDataReady
853 023e C82F mov r28,r24
854 0240 DD27 clr r29
856 .LM117:
857 0242 2097 sbiw r28,0
858 0244 51F4 brne .L44
859 .LBB21:
861 .LM118:
862 0246 0E94 0000 call AtomicStart
864 .LM119:
865 024a 21E0 ldi r18,lo8(1)
866 024c 30E0 ldi r19,hi8(1)
867 024e 3093 0000 sts (PhotoTempM_state)+1,r19
868 0252 2093 0000 sts PhotoTempM_state,r18
870 .LM120:
871 0256 0E94 0000 call AtomicEnd
872 .L44:
873 .LBE21:
875 .LM121:
876 025a 8C2F mov r24,r28
877 .L45:
878 025c 9927 clr r25
879 025e 02C0 rjmp .L39
880 .L42:
881 .LBE20:
883 .LM122:
884 0260 80E0 ldi r24,lo8(0)
885 0262 90E0 ldi r25,hi8(0)
886 .L39:
887 /* epilogue: frame size=0 */
888 0264 DF91 pop r29
889 0266 CF91 pop r28
890 0268 1F91 pop r17
891 026a 0895 ret
892 /* epilogue end (size=4) */
893 /* function SensorInternalPhotoADCDataReady size 59 (52) */
902 .comm RecordPassed,30,1
903 .lcomm PhotoTempM_state,2
906 .text
908 Letext:
909 /* File "sensor.c": code 314 = 0x013a ( 269), prologues 10, epilogues 35 */
DEFINED SYMBOLS
*ABS*:00000000 sensor.c
*ABS*:0000003f __SREG__
*ABS*:0000003e __SP_H__
*ABS*:0000003d __SP_L__
*ABS*:00000000 __tmp_reg__
*ABS*:00000001 __zero_reg__
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:92 .text:00000000 SensorTempStdControlInit
.bss:00000000 PhotoTempM_state
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:130 .text:00000024 OSH_MAKE_INT1_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:145 .text:00000028 OSH_MAKE_PHOTO_CTL_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:161 .text:0000002e OSH_SET_INT1_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:176 .text:00000032 OSH_SET_PHOTO_CTL_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:192 .text:00000038 OSH_MAKE_INT2_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:207 .text:0000003c OSH_MAKE_TEMP_CTL_OUTPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:223 .text:00000042 OSH_SET_INT2_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:238 .text:00000046 OSH_SET_TEMP_CTL_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:254 .text:0000004c SensorTempStdControlStart
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:292 .text:0000006a SensorInternalTempADCGetData
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:312 .text:00000074 OSH_MAKE_INT2_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:328 .text:00000078 OSH_CLR_INT2_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:344 .text:0000007c OSH_MAKE_INT1_INPUT
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:360 .text:00000080 OSH_CLR_INT1_PIN
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:376 .text:00000084 SensorExternalTempADCGetData
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:457 .text:000000d2 PhotoTempM_ExternalTempADC_default_dataReady
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:475 .text:000000d8 SensorExternalTempADCDataReady
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:496 .text:000000e2 SensorInternalTempADCDataReady
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:603 .text:00000156 SensorExternalPhotoADCDataReady
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:622 .text:0000015e SensorPhoOStdControlInit
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:660 .text:00000182 SensorPhoOStdControlStart
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:698 .text:000001a0 SensorInternalPhotoADCGetData
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:718 .text:000001aa SensorExternalPhotoADCGetData
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:799 .text:000001f8 SensorInternalPhotoADCDataReady
*COM*:0000001e RecordPassed
D:\DOCUME~1\ADMINI~1\LOCALS~1\Temp/ccgdbaaa.s:908 .text:0000026c Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
ADCBindPort
AtomicStart
AtomicEnd
ADCControlInit
ADCGetData
SensordataReady
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -