📄 mpf10.lst
字号:
41:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** \code
42:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #include <util/delay_basic.h>
43:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** \endcode
44:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
45:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** The functions in this header file implement simple delay loops
46:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** that perform a busy-waiting. They are typically used to
47:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** facilitate short delays in the program execution. They are
48:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** implemented as count-down loops with a well-known CPU cycle
49:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** count per loop iteration. As such, no other processing can
50:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** occur simultaneously. It should be kept in mind that the
51:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** functions described here do not disable interrupts.
52:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
53:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** In general, for long delays, the use of hardware timers is
54:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** much preferrable, as they free the CPU, and allow for
55:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** concurrent processing of other events while the timer is
56:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** running. However, in particular for very short delays, the
57:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** overhead of setting up a hardware timer is too much compared
58:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** to the overall delay time.
59:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
60:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** Two inline functions are provided for the actual delay algorithms.
61:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
62:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** */
63:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
64:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #if !defined(__DOXYGEN__)
65:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_1(uint8_t __count) __attribute__((always_inline));
66:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** static inline void _delay_loop_2(uint16_t __count) __attribute__((always_inline));
67:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** #endif
68:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
69:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** /** \ingroup util_delay_basic
70:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
71:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** Delay loop using an 8-bit counter \c __count, so up to 256
72:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** iterations are possible. (The value 256 would have to be passed
73:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** as 0.) The loop executes three CPU cycles per iteration, not
74:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** including the overhead the compiler needs to setup the counter
75:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** register.
76:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h ****
77:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
78:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** can be achieved.
79:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** */
80:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** void
81:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** _delay_loop_1(uint8_t __count)
82:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** {
83:c:/winavr-20081205/lib/gcc/../../avr/include/util/delay_basic.h **** __asm__ volatile (
136 sbi 50-32,7
138 0012 61E3 .LM2:
139 0014 00C0 cbi 50-32,7
140 /* epilogue start */
142 .LM3:
143 ret
145 .Lscope1:
55:io/mpf10.c **** RT |= (1<<MPF10_ENABLE_PIN);
56:io/mpf10.c ****
57:io/mpf10.c **** //set lamp off:
58:io/mpf10.c **** MPF10_DISABLE();
59:io/mpf10.c **** }
60:io/mpf10.c ****
61:io/mpf10.c **** //fade light in/out (100khz(?) soft pwm)
62:io/mpf10.c **** void mpf10_fade(signed char fade){
63:io/mpf10.c **** unsigned char time_on;
147 0,48,.LM3-.LFBB1
148 .LM3:
149 0016 4217 ret
64:io/mpf10.c **** signed char time_on;
151 -.LFBB1
152 .LM2:
153 001a 979A cbi 50-32,7
154 001c 00C0 /* epilogue start */
65:io/mpf10.c **** signed char time_on;
66:io/mpf10.c ****
156 .LFBB1
157 .LM1:
158 001e 9798 sbi 50-32,7
160 .LM2:
161 cbi 50-32,7
162 /* epilogue start */
164 .LM3:
165 ret
167 .Lscope1:
170 .global mpf10_fade
172 0024 01F4 mpf10_fade:
174 .LM4:
175 .LFBB2:
176 /* prologue: function */
177 /* frame size = 0 */
179 .LM5:
180 cpi r24,lo8(1)
181 breq .L4
182 ldi r20,lo8(100)
183 0026 2F5F rjmp .L5
184 0028 2436 .L4:
185 002a 01F4 ldi r20,lo8(0)
186 .L5:
187 ldi r21,lo8(0)
188 .LBB27:
189 002c 3F5F .LBB28:
190 002e 3430 .LBB29:
191 0030 01F0 .LBB30:
192 .LBB31:
193 0032 20E0 .LBB32:
194 0034 00C0 .LBB33:
196 .Ltext1:
198 .LM6:
199 0036 5F5F ldi r22,lo8(49)
200 0038 5436 rjmp .L6
201 003a 01F0 .L9:
202 003c 480F .LBE33:
203 .LBE32:
204 003e 30E0 .LBE31:
205 0040 00C0 .LBE30:
207 0042 0895 .Ltext2:
209 .LM7:
210 cp r20,r18
211 brlo .L7
213 .LM8:
214 sbi 50-32,7
215 rjmp .L8
216 .L7:
218 .LM9:
219 cbi 50-32,7
220 .L8:
221 .LBB37:
222 .LBB36:
223 .LBB35:
224 .LBB34:
DEFINED SYMBOLS
*ABS*:00000000 mpf10.c
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:2 *ABS*:0000003f __SREG__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:3 *ABS*:0000003e __SP_H__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:4 *ABS*:0000003d __SP_L__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:5 *ABS*:00000034 __CCP__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:6 *ABS*:00000000 __tmp_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:7 *ABS*:00000001 __zero_reg__
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:89 .text:00000000 mpf10_init
C:\DOCUME~1\ESERVIS\USTAWI~1\Temp/ccAqbyFa.s:111 .text:00000006 mpf10_fade
UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -