📄 sensor.lst
字号:
686 .LM88:
687 017c 0E94 0000 call AtomicStart
214:sensor.c **** {
215:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
689 .LM89:
690 0180 21E0 ldi r18,lo8(1)
691 0182 30E0 ldi r19,hi8(1)
692 0184 3093 0000 sts (PhotoTempM_state)+1,r19
693 0188 2093 0000 sts PhotoTempM_state,r18
216:sensor.c **** }
217:sensor.c **** AtomicEnd(atomicState); }
695 .LM90:
696 018c 0E94 0000 call AtomicEnd
697 .LBE8:
218:sensor.c **** return ADCControlInit();
699 .LM91:
700 0190 0E94 0000 call ADCControlInit
219:sensor.c **** }
702 .LM92:
703 0194 9927 clr r25
704 /* epilogue: frame size=0 */
705 0196 0895 ret
706 /* epilogue end (size=1) */
707 /* function SensorPhoOStdControlInit size 18 (17) */
710 .global SensorPhoOStdControlStart
712 SensorPhoOStdControlStart:
220:sensor.c ****
221:sensor.c **** result_t SensorPhoOStdControlStart(void)
222:sensor.c **** {
714 .LM93:
715 /* prologue: frame size=0 */
716 0198 1F93 push r17
717 /* prologue end (size=1) */
718 .LBB9:
223:sensor.c **** { uint8_t atomicState = AtomicStart();
720 .LM94:
721 019a 0E94 0000 call AtomicStart
722 019e 182F mov r17,r24
224:sensor.c **** {
225:sensor.c **** OSH_SET_PHOTO_CTL_PIN();
724 .LM95:
725 01a0 0E94 0000 call OSH_SET_PHOTO_CTL_PIN
226:sensor.c **** OSH_MAKE_PHOTO_CTL_OUTPUT();
727 .LM96:
728 01a4 0E94 0000 call OSH_MAKE_PHOTO_CTL_OUTPUT
227:sensor.c **** }
228:sensor.c **** AtomicEnd(atomicState); }
730 .LM97:
731 01a8 812F mov r24,r17
732 01aa 0E94 0000 call AtomicEnd
733 .LBE9:
229:sensor.c **** return SUCCESS;
230:sensor.c **** }
735 .LM98:
736 01ae 81E0 ldi r24,lo8(1)
737 01b0 90E0 ldi r25,hi8(1)
738 /* epilogue: frame size=0 */
739 01b2 1F91 pop r17
740 01b4 0895 ret
741 /* epilogue end (size=2) */
742 /* function SensorPhoOStdControlStart size 15 (12) */
748 .global SensorInternalPhotoADCGetData
750 SensorInternalPhotoADCGetData:
231:sensor.c ****
232:sensor.c **** result_t SensorExternalPhotoADCGetData(void)
233:sensor.c **** {
234:sensor.c **** uint8_t oldState;
235:sensor.c ****
236:sensor.c **** { uint8_t atomicState = AtomicStart();
237:sensor.c **** {
238:sensor.c **** oldState = PhotoTempM_state;
239:sensor.c **** if (PhotoTempM_state == PhotoTempM_IDLE) {
240:sensor.c **** PhotoTempM_state = PhotoTempM_BUSY;
241:sensor.c **** }
242:sensor.c **** }
243:sensor.c **** AtomicEnd(atomicState); }
244:sensor.c **** if (oldState == PhotoTempM_IDLE) {
245:sensor.c **** OSH_CLR_TEMP_CTL_PIN();
246:sensor.c **** OSH_MAKE_TEMP_CTL_INPUT();
247:sensor.c **** OSH_SET_PHOTO_CTL_PIN();
248:sensor.c **** OSH_MAKE_PHOTO_CTL_OUTPUT();
249:sensor.c **** return SensorInternalPhotoADCGetData();
250:sensor.c **** }
251:sensor.c **** return FAIL;
252:sensor.c **** }
253:sensor.c ****
254:sensor.c **** result_t SensorInternalPhotoADCDataReady(uint16_t data)
255:sensor.c **** {
256:sensor.c **** uint8_t oldState;
257:sensor.c ****
258:sensor.c **** { uint8_t atomicState = AtomicStart();
259:sensor.c **** {
260:sensor.c **** oldState = PhotoTempM_state;
261:sensor.c **** if (PhotoTempM_state == PhotoTempM_BUSY) {
262:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
263:sensor.c **** }
264:sensor.c **** }
265:sensor.c **** AtomicEnd(atomicState); }
266:sensor.c **** if (oldState == PhotoTempM_BUSY) {
267:sensor.c ****
268:sensor.c **** return SensorExternalPhotoADCDataReady(data);
269:sensor.c **** }
270:sensor.c **** else {
271:sensor.c **** if (oldState == PhotoTempM_CONTINUOUS) {
272:sensor.c **** int ret;
273:sensor.c **** ret = SensorExternalPhotoADCDataReady(data);
274:sensor.c **** if (ret == FAIL) {
275:sensor.c **** { uint8_t atomicState = AtomicStart();
276:sensor.c **** {
277:sensor.c **** PhotoTempM_state = PhotoTempM_IDLE;
278:sensor.c **** }
279:sensor.c **** AtomicEnd(atomicState); }
280:sensor.c **** }
281:sensor.c **** return ret;
282:sensor.c **** }
283:sensor.c **** }
284:sensor.c **** return FAIL;
285:sensor.c **** }
286:sensor.c ****
287:sensor.c **** result_t SensorInternalPhotoADCGetData(void)
288:sensor.c **** {
752 .LM99:
753 /* prologue: frame size=0 */
754 /* prologue end (size=0) */
289:sensor.c **** unsigned char result;
290:sensor.c **** result = ADCGetData(OS_ADC_PHOTO_PORT);
756 .LM100:
757 01b6 81E0 ldi r24,lo8(1)
758 01b8 0E94 0000 call ADCGetData
291:sensor.c ****
292:sensor.c **** return result;
293:sensor.c **** }
760 .LM101:
761 01bc 9927 clr r25
762 /* epilogue: frame size=0 */
763 01be 0895 ret
764 /* epilogue end (size=1) */
765 /* function SensorInternalPhotoADCGetData size 5 (4) */
768 .global SensorExternalPhotoADCGetData
770 SensorExternalPhotoADCGetData:
772 .LM102:
773 /* prologue: frame size=0 */
774 01c0 CF93 push r28
775 /* prologue end (size=1) */
776 .LBB10:
778 .LM103:
779 01c2 0E94 0000 call AtomicStart
780 01c6 282F mov r18,r24
782 .LM104:
783 01c8 C091 0000 lds r28,PhotoTempM_state
785 .LM105:
786 01cc 8091 0000 lds r24,PhotoTempM_state
787 01d0 9091 0000 lds r25,(PhotoTempM_state)+1
788 01d4 0197 sbiw r24,1
789 01d6 31F4 brne .L37
791 .LM106:
792 01d8 82E0 ldi r24,lo8(2)
793 01da 90E0 ldi r25,hi8(2)
794 01dc 9093 0000 sts (PhotoTempM_state)+1,r25
795 01e0 8093 0000 sts PhotoTempM_state,r24
796 .L37:
798 .LM107:
799 01e4 822F mov r24,r18
800 01e6 0E94 0000 call AtomicEnd
801 .LBE10:
803 .LM108:
804 01ea C130 cpi r28,lo8(1)
805 01ec 61F4 brne .L38
807 .LM109:
808 01ee 0E94 0000 call OSH_CLR_TEMP_CTL_PIN
810 .LM110:
811 01f2 0E94 0000 call OSH_MAKE_TEMP_CTL_INPUT
813 .LM111:
814 01f6 0E94 0000 call OSH_SET_PHOTO_CTL_PIN
816 .LM112:
817 01fa 0E94 0000 call OSH_MAKE_PHOTO_CTL_OUTPUT
819 .LM113:
820 01fe 0E94 0000 call SensorInternalPhotoADCGetData
821 0202 9927 clr r25
822 0204 02C0 rjmp .L36
823 .L38:
825 .LM114:
826 0206 80E0 ldi r24,lo8(0)
827 0208 90E0 ldi r25,hi8(0)
828 .L36:
829 /* epilogue: frame size=0 */
830 020a CF91 pop r28
831 020c 0895 ret
832 /* epilogue end (size=2) */
833 /* function SensorExternalPhotoADCGetData size 40 (37) */
841 .global SensorInternalPhotoADCDataReady
843 SensorInternalPhotoADCDataReady:
845 .LM115:
846 /* prologue: frame size=0 */
847 020e 1F93 push r17
848 0210 CF93 push r28
849 0212 DF93 push r29
850 /* prologue end (size=3) */
851 0214 EC01 movw r28,r24
852 .LBB11:
854 .LM116:
855 0216 0E94 0000 call AtomicStart
856 021a 282F mov r18,r24
858 .LM117:
859 021c 1091 0000 lds r17,PhotoTempM_state
861 .LM118:
862 0220 8091 0000 lds r24,PhotoTempM_state
863 0224 9091 0000 lds r25,(PhotoTempM_state)+1
864 0228 0297 sbiw r24,2
865 022a 31F4 brne .L40
867 .LM119:
868 022c 81E0 ldi r24,lo8(1)
869 022e 90E0 ldi r25,hi8(1)
870 0230 9093 0000 sts (PhotoTempM_state)+1,r25
871 0234 8093 0000 sts PhotoTempM_state,r24
872 .L40:
874 .LM120:
875 0238 822F mov r24,r18
876 023a 0E94 0000 call AtomicEnd
877 .LBE11:
879 .LM121:
880 023e 1230 cpi r17,lo8(2)
881 0240 21F4 brne .L41
883 .LM122:
884 0242 CE01 movw r24,r28
885 0244 0E94 0000 call SensorExternalPhotoADCDataReady
886 0248 14C0 rjmp .L45
887 .L41:
889 .LM123:
890 024a 1330 cpi r17,lo8(3)
891 024c A1F4 brne .L42
892 .LBB12:
894 .LM124:
895 024e CE01 movw r24,r28
896 0250 0E94 0000 call SensorExternalPhotoADCDataReady
897 0254 C82F mov r28,r24
898 0256 DD27 clr r29
900 .LM125:
901 0258 2097 sbiw r28,0
902 025a 51F4 brne .L44
903 .LBB13:
905 .LM126:
906 025c 0E94 0000 call AtomicStart
908 .LM127:
909 0260 21E0 ldi r18,lo8(1)
910 0262 30E0 ldi r19,hi8(1)
911 0264 3093 0000 sts (PhotoTempM_state)+1,r19
912 0268 2093 0000 sts PhotoTempM_state,r18
914 .LM128:
915 026c 0E94 0000 call AtomicEnd
916 .L44:
917 .LBE13:
919 .LM129:
920 0270 8C2F mov r24,r28
921 .L45:
922 0272 9927 clr r25
923 0274 02C0 rjmp .L39
924 .L42:
925 .LBE12:
927 .LM130:
928 0276 80E0 ldi r24,lo8(0)
929 0278 90E0 ldi r25,hi8(0)
930 .L39:
931 /* epilogue: frame size=0 */
932 027a DF91 pop r29
933 027c CF91 pop r28
934 027e 1F91 pop r17
935 0280 0895 ret
936 /* epilogue end (size=4) */
937 /* function SensorInternalPhotoADCDataReady size 59 (52) */
946 .comm PhotoTempM_state,2,1
948 .text
950 Letext:
951 /* File "sensor.c": code 325 = 0x0145 ( 276), prologues 10, epilogues 39 */
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__
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:85 .text:00000000 SensorTempStdControlInit
*COM*:00000002 PhotoTempM_state
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:123 .text:00000024 OSH_MAKE_INT1_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:139 .text:00000028 OSH_MAKE_PHOTO_CTL_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:155 .text:0000002e OSH_SET_INT1_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:171 .text:00000032 OSH_SET_PHOTO_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:187 .text:00000038 OSH_MAKE_INT2_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:203 .text:0000003c OSH_MAKE_TEMP_CTL_OUTPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:219 .text:00000042 OSH_SET_INT2_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:235 .text:00000046 OSH_SET_TEMP_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:251 .text:0000004c SensorTempStdControlStart
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:289 .text:0000006a SensorInternalTempADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:309 .text:00000074 OSH_MAKE_INT2_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:325 .text:00000078 OSH_MAKE_TEMP_CTL_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:341 .text:0000007e OSH_CLR_INT2_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:357 .text:00000082 OSH_CLR_TEMP_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:373 .text:00000088 OSH_MAKE_INT1_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:389 .text:0000008c OSH_MAKE_PHOTO_CTL_INPUT
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:405 .text:00000092 OSH_CLR_INT1_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:421 .text:00000096 OSH_CLR_PHOTO_CTL_PIN
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:437 .text:0000009c SensorExternalTempADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:510 .text:000000ea PhotoTempM_ExternalTempADC_default_dataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:528 .text:000000f0 SensorExternalTempADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:548 .text:000000f8 SensorInternalTempADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:655 .text:0000016c SensorExternalPhotoADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:674 .text:00000174 SensorPhoOStdControlInit
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:712 .text:00000198 SensorPhoOStdControlStart
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:750 .text:000001b6 SensorInternalPhotoADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:770 .text:000001c0 SensorExternalPhotoADCGetData
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:843 .text:0000020e SensorInternalPhotoADCDataReady
C:\DOCUME~1\xiapeng\LOCALS~1\Temp/ccmybaaa.s:950 .text:00000282 Letext
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
ADCBindPort
AtomicStart
AtomicEnd
ADCControlInit
ADCGetData
LLCADCDataReady
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -