?? spi.s
字號:
.module spi.c
.area text(rom, con, rel)
.dbfile H:\MEGA128開發(fā)板\TS8900-M128\EEPROM開機記憶存儲實驗\EEPROM開機記憶存儲實驗\spi.c
.dbfunc e spi_init _spi_init fV
.even
_spi_init::
.dbline -1
.dbline 18
; /************************************************
; 文件:spi.c
; 用途:SPI驅動
; 注意:
; ************************************************/
; #include "config.h"
; /*************************************************************************
; ** 函數(shù)名稱: spi_init(void)
; ** 功能描述: SPI初始化
; ** 輸 入:
; ** 輸出 :
; ** 全局變量: 無
; ** 調用模塊:
; ** 說明:
; ** 注意:
; **************************************************************************/
; void spi_init(void)
; {
.dbline 19
; DDRB |= (1<<MOSI)|(1<<SCK)|(1<<SS);//設置MOSI,SCK輸出
in R24,0x17
ori R24,7
out 0x17,R24
.dbline 20
; SPCR = (1<<SPE)|(1<<MSTR)|(1<<SPR0)|(1<<SPR1);//使能SPI,主機模式
ldi R24,83
out 0xd,R24
.dbline -2
L1:
.dbline 0 ; func end
ret
.dbend
.dbfunc e SPI_MasterTransmit _SPI_MasterTransmit fV
; Data -> R16
.even
_SPI_MasterTransmit::
.dbline -1
.dbline 33
; }
; /*************************************************************************
; ** 函數(shù)名稱: SPI_MasterTransmit(char Data)
; ** 功能描述: SPI主機發(fā)送數(shù)據(jù)
; ** 輸 入: Data 需要通過SPI傳輸?shù)臄?shù)據(jù)
; ** 輸出 :
; ** 全局變量: 無
; ** 調用模塊:
; ** 說明:
; ** 注意:
; **************************************************************************/
; void SPI_MasterTransmit(char Data)
; {
.dbline 35
; /* 啟動數(shù)據(jù)傳輸 */
; SPDR = Data;
out 0xf,R16
L3:
.dbline 38
L4:
.dbline 37
; /* 等待傳輸結束 */
; while(!(SPSR & (1<<SPIF)))
sbis 0xe,7
rjmp L3
.dbline -2
L2:
.dbline 0 ; func end
ret
.dbsym r Data 16 c
.dbend
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -