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

📄 spi.lst

📁 实现了avr下对sd卡的读写,支持文件存取,删除的功能
💻 LST
字号:
   1               		.file	"spi.c"
   2               		.arch atmega32
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  74               	.global	spiInit
  76               	spiInit:
   1:spi.c         **** //-------------------------------------------------------------------------
   2:spi.c         **** #include	<avr/io.h>
   3:spi.c         **** #include 	<stdint.h>
   4:spi.c         **** 
   5:spi.c         **** 
   6:spi.c         **** //-------------------------------------------------------------------------
   7:spi.c         **** #define	SS			PB4
   8:spi.c         **** #define	MOSI		PB5
   9:spi.c         **** #define	MISO		PB6
  10:spi.c         **** #define	SCK			PB7
  11:spi.c         **** //-------------------------------------------------------------------------
  12:spi.c         **** void spiInit(){
  78               	.LM1:
  79               	/* prologue: frame size=0 */
  80               	/* prologue end (size=0) */
  13:spi.c         **** 	DDRB|=(_BV(SS)|_BV(MOSI)|_BV(SCK));	
  82               	.LM2:
  83 0000 87B3      		in r24,55-0x20
  84 0002 806B      		ori r24,lo8(-80)
  85 0004 87BB      		out 55-0x20,r24
  14:spi.c         **** 	SPCR=_BV(SPE)|_BV(MSTR);						// master mode
  87               	.LM3:
  88 0006 80E5      		ldi r24,lo8(80)
  89 0008 8DB9      		out 45-0x20,r24
  90               	/* epilogue: frame size=0 */
  91 000a 0895      		ret
  92               	/* epilogue end (size=1) */
  93               	/* function spiInit size 6 (5) */
  95               	.Lscope0:
  98               	.global	spiTransferByte
 100               	spiTransferByte:
  15:spi.c         **** }
  16:spi.c         **** //-------------------------------------------------------------------------
  17:spi.c         **** uint8_t spiTransferByte(uint8_t data){
 102               	.LM4:
 103               	/* prologue: frame size=0 */
 104               	/* prologue end (size=0) */
  18:spi.c         **** 	SPDR=data;
 106               	.LM5:
 107 000c 8FB9      		out 47-0x20,r24
 108               	.L3:
  19:spi.c         **** 	while((SPSR&_BV(SPIF))==0);
 110               	.LM6:
 111 000e 779B      		sbis 46-0x20,7
 112 0010 FECF      		rjmp .L3
  20:spi.c         **** 	return SPDR;
 114               	.LM7:
 115 0012 8FB1      		in r24,47-0x20
  21:spi.c         **** }
 117               	.LM8:
 118 0014 9927      		clr r25
 119               	/* epilogue: frame size=0 */
 120 0016 0895      		ret
 121               	/* epilogue end (size=1) */
 122               	/* function spiTransferByte size 6 (5) */
 124               	.Lscope1:
 125               		.text
 127               	Letext:
 128               	/* File "spi.c": code   12 = 0x000c (  10), prologues   0, epilogues   2 */
DEFINED SYMBOLS
                            *ABS*:00000000 spi.c
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:3      *ABS*:0000003f __SREG__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:4      *ABS*:0000003e __SP_H__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:5      *ABS*:0000003d __SP_L__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:6      *ABS*:00000000 __tmp_reg__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:7      *ABS*:00000001 __zero_reg__
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:76     .text:00000000 spiInit
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:100    .text:0000000c spiTransferByte
C:\Users\summer\AppData\Local\Temp/ccMJcaaa.s:127    .text:00000018 Letext

UNDEFINED SYMBOLS
__do_copy_data
__do_clear_bss

⌨️ 快捷键说明

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