⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 communicate.lst

📁 驱动128芯片 完成基本的 PORTA亮灯调试功能
💻 LST
📖 第 1 页 / 共 2 页
字号:
  39:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** #define _AVR_DELAY_H_ 1
  40:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  41:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** #include <inttypes.h>
  42:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  43:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** /** \defgroup avr_delay Busy-wait delay loops
  44:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     \code
  45:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     #define F_CPU 1000000UL  // 1 MHz
  46:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     //#define F_CPU 14.7456E6
  47:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     #include <avr/delay.h>
  48:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     \endcode
  49:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  50:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     The functions in this header file implement simple delay loops
  51:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     that perform a busy-waiting.  They are typically used to
  52:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     facilitate short delays in the program execution.  They are
  53:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     implemented as count-down loops with a well-known CPU cycle
  54:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     count per loop iteration.  As such, no other processing can
  55:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     occur simultaneously.  It should be kept in mind that the
  56:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     functions described here do not disable interrupts.
  57:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  58:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     In general, for long delays, the use of hardware timers is
  59:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     much preferrable, as they free the CPU, and allow for
  60:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     concurrent processing of other events while the timer is
  61:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     running.  However, in particular for very short delays, the
  62:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     overhead of setting up a hardware timer is too much compared
  63:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     to the overall delay time.
  64:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  65:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Two inline functions are provided for the actual delay algorithms.
  66:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  67:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Two wrapper functions allow the specification of microsecond, and
  68:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     millisecond delays directly, using the application-supplied macro
  69:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     F_CPU as the CPU clock frequency (in Hertz).  These functions
  70:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     operate on double typed arguments, however when optimization is
  71:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     turned on, the entire floating-point calculation will be done at
  72:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     compile-time.
  73:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** */
  74:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  75:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** /** \ingroup avr_delay
  76:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  77:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Delay loop using an 8-bit counter \c __count, so up to 256
  78:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     iterations are possible.  (The value 256 would have to be passed
  79:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     as 0.)  The loop executes three CPU cycles per iteration, not
  80:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     including the overhead the compiler needs to setup the counter
  81:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     register.
  82:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  83:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Thus, at a CPU speed of 1 MHz, delays of up to 768 microseconds
  84:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     can be achieved.
  85:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** */
  86:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** static __inline__ void
  87:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** _delay_loop_1(uint8_t __count)
  88:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** {
  89:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	__asm__ volatile (
  90:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		"1: dec %0" "\n\t"
  91:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		"brne 1b"
  92:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		: "=r" (__count)
  93:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 		: "0" (__count)
  94:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	);
  95:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** }
  96:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  97:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** /** \ingroup avr_delay
  98:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
  99:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Delay loop using a 16-bit counter \c __count, so up to 65536
 100:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     iterations are possible.  (The value 65536 would have to be
 101:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     passed as 0.)  The loop executes four CPU cycles per iteration,
 102:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     not including the overhead the compiler requires to setup the
 103:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     counter register pair.
 104:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 
 105:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     Thus, at a CPU speed of 1 MHz, delays of up to about 262.1
 106:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****     milliseconds can be achieved.
 107:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h ****  */
 108:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** static __inline__ void
 109:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** _delay_loop_2(uint16_t __count)
 110:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** {
 111:G:/WinAVR2005/bin/../lib/gcc/avr/3.4.3/../../../../avr/include/avr/delay.h **** 	__asm__ volatile (
 152               	.LM18:
 153 0048 CD01      		movw r24,r26
 154               	/* #APP */
 155 004a 0197      		1: sbiw r24,1
 156 004c F1F7      		brne 1b
 157               	/* #NOAPP */
 158               	.LBE6:
 159               	.LBE5:
 160               	.LBE4:
 161               	.LBE3:
 163               	.Ltext2:
  49:communicate.c **** 		   
  50:communicate.c **** 				for(int k=0;k<20;k++)
 165               	.LM19:
 166 004e 2150      		subi r18,lo8(-(-1))
 167 0050 3040      		sbci r19,hi8(-(-1))
 168 0052 37FF      		sbrs r19,7
 169 0054 F9CF      		rjmp .L17
 170               	.LBE2:
  51:communicate.c **** 				_delay_ms(10);
  52:communicate.c **** 				
  53:communicate.c **** 				if(PORTA==0xFF)
 172               	.LM20:
 173 0056 8BB3      		in r24,59-0x20
 174 0058 8F3F      		cpi r24,lo8(-1)
 175 005a 11F4      		brne .L18
  54:communicate.c **** 				PORTA=0xF8;
 177               	.LM21:
 178 005c 5BBB      		out 59-0x20,r21
 179 005e 01C0      		rjmp .L19
 180               	.L18:
  55:communicate.c **** 				else
  56:communicate.c **** 				PORTA=0xFF;
 182               	.LM22:
 183 0060 4BBB      		out 59-0x20,r20
 184               	.L19:
 185 0062 A0E0      		ldi r26,lo8(18432)
 186 0064 B8E4      		ldi r27,hi8(18432)
 187 0066 C0E0      		ldi r28,hlo8(18432)
 188 0068 D0E0      		ldi r29,hhi8(18432)
 189 006a 23E1      		ldi r18,lo8(19)
 190 006c 30E0      		ldi r19,hi8(19)
 191               	.L31:
 192               	.LBB7:
 193               	.LBB8:
 194               	.LBB9:
 195               	.LBB10:
 196               	.LBB11:
 198               	.Ltext3:
 200               	.LM23:
 201 006e CD01      		movw r24,r26
 202               	/* #APP */
 203 0070 0197      		1: sbiw r24,1
 204 0072 F1F7      		brne 1b
 205               	/* #NOAPP */
 206               	.LBE11:
 207               	.LBE10:
 208               	.LBE9:
 209               	.LBE8:
 211               	.Ltext4:
  57:communicate.c **** 		   
  58:communicate.c **** 				for(int k=0;k<20;k++)
 213               	.LM24:
 214 0074 2150      		subi r18,lo8(-(-1))
 215 0076 3040      		sbci r19,hi8(-(-1))
 216 0078 37FF      		sbrs r19,7
 217 007a F9CF      		rjmp .L31
 218               	.LBE7:
 219 007c D9CF      		rjmp .L2
 220               	/* epilogue: frame size=0 */
 221               	/* epilogue: noreturn */
 222               	/* epilogue end (size=0) */
 223               	/* function main size 69 (65) */
 237               	.Lscope0:
 238               		.text
 240               	Letext:
 241               	/* File "communicate.c": code   69 = 0x0045 (  65), prologues   4, epilogues   0 */
DEFINED SYMBOLS
                            *ABS*:00000000 communicate.c
                            *ABS*:0000003f __SREG__
                            *ABS*:0000003e __SP_H__
                            *ABS*:0000003d __SP_L__
                            *ABS*:00000000 __tmp_reg__
                            *ABS*:00000001 __zero_reg__
C:\DOCUME~1\地瓜\LOCALS~1\Temp/ccQpbaaa.s:65     .text:00000000 main
C:\DOCUME~1\地瓜\LOCALS~1\Temp/ccQpbaaa.s:240    .text:0000007e Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss
__stack

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -