📄 x25045.c
字号:
#include "mqb.h"#define SCK P24#define SI T0#define SO T1#define CS25045 P25void RstWatchDog(void){ CS25045=0;CS25045=1;}void Write25045(BYTE ch){ BYTE i=8; while (i--) { SCK=0; SI=ch&0x80; SCK=1; ch=ch<<1; } SI=0;}BYTE Read25045(void){ BYTE ch=0; BYTE i=0x80; while (i) { SCK=1; SO=1; SCK=0; if (SO) ch=ch|i; i=i>>1; } return ch;}void WriteEn25045(void){ SCK=0; CS25045=0; /*选通25045*/ Write25045(0x06); /*0x06-允许写操作 0x04 Disable*/ SCK=0; CS25045=1;}BYTE RdSR25045(void){ BYTE ch; SCK=0; CS25045=0; Write25045(0x05); /*写状态寄存器*/ ch=Read25045(); SCK=0; CS25045=1; return ch;}void WaitWr25045(){ BYTE ch,i; for (i=0;i<100;i++) { ch=RdSR25045(); if (ch&0x01==0) break; }}void WrSR25045(BYTE ch){ SCK=0; CS25045=0; Write25045(0x01); /*写状态寄存器*/ Write25045(ch); /*0x0-watchdog=1.4s*/ SCK=0; CS25045=1; WaitWr25045();}void WrLByte25045(BYTE addr,BYTE ch){ SCK=0; CS25045=0; Write25045(0x06); /*0x06-允许写操作 0x04 Disable*/ SCK=0; CS25045=1; CS25045=0; Write25045(0x02); Write25045(addr); Write25045(ch); SCK=0; CS25045=1; WaitWr25045();}BYTE RdLByte25045(BYTE addr){ BYTE ch; SCK=0; CS25045=0; Write25045(0x03); Write25045(addr); ch=Read25045(); SCK=0; CS25045=1; return ch;}void WrHByte25045(BYTE addr,BYTE ch){ SCK=0; CS25045=0; Write25045(0x06); /*0x06-允许写操作 0x04 Disable*/ SCK=0; CS25045=1; CS25045=0; Write25045(0x0a); Write25045(addr); Write25045(ch); SCK=0; CS25045=1; WaitWr25045();}BYTE RdHByte25045(BYTE addr){ BYTE ch; SCK=0; CS25045=0; Write25045(0x0b); Write25045(addr); ch=Read25045(); SCK=0; CS25045=1; return ch;}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -