|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
以下是我的子程序,失去仲裁时I2C总线老是释放不了,时钟线上老是为低.如有乱码请看附件,各位高手帮忙看看吧,小女子在此拜谢了!!!!!!!!!!!!!!
I2C_Send_WRITE:
CLR EA
MOV R2,Write_NUM
MOV R0,DATA_writecommand_ADR
I2C_GOON:
SETB STA
JNB SI,$
MOV A,I2STAT
CJNE A,#08H,WRITE_OUT
RE_START:
CLR SI
MOV A,@R0
MOV I2DAT,A
JNB SI,$ ;
MOV A,I2STAT
CJNE A,#18H,WRITE_OUT
INC R0
DEC R2
CLR STA
Send_next:
CLR SI
MOV A,@R0
MOV I2DAT,A
JNB SI,$
MOV A,I2STAT
CJNE A,#28H,WRITE_OUT
INC R0
DJNZ R2,Send_next
CLR Communication_succee
CLR SI
SETB STO
SETB EA
RET
WRITE_OUT:
CLR SI
CLR STA
CLR STO
SETB EA
RET |
|