📄 ftp.h
字号:
//msp430f149 I/O define
//-----------------------------------------
#define FALSE 0
#define TRUE 1
#define uchar unsigned char
#define uint unsigned int
#define ushort unsigned short int
#define ulong unsigned long int
#define NOP4 {_NOP();_NOP();_NOP();_NOP();}
#define NOP2 {_NOP();_NOP();}
#define NOP _NOP();
//-----------------------------------------
//P2口
//-----------------------------------------
#define PHSHUT (0x01)
#define PAPERWANT (P2IN & PHSHUT)
#define TVHCTL (0x02) //过热保护
#define VOTSHUT_EN (P2OUT &= ~TVHCTL) //切断打印驱动的电源
#define VOTSHUT_DIS (P2OUT |= TVHCTL) //打开打印驱动的电源
#define MTA (0x04)
#define MTAP (0x08)
#define MTA_1 {P2OUT |= MTA; P2OUT &= ~MTAP;}
#define MTA_0 {P2OUT &= ~MTA; P2OUT |= MTAP;}
#define MTA_LOSS (P2OUT &= ~(MTA + MTAP))
#define HOLD (0x80)
#define CHIPUNHOLD (P2OUT |= HOLD)
#define CHIPHOLD (P2OUT &= ~HOLD)
//------------------------------------------
//P3口
//------------------------------------------
#define STE0 (0x01)
#define SPI0_EN (P3OUT &= ~STE0)
#define SPI0_DIS (P3OUT |= STE0)
#define SIMO0 (0x02)
#define SPI0MO_1 P3OUT |= SIMO0
#define SPI0MO_0 P3OUT &= ~SIMO0
#define SOMI0 (0x04)
#define SPI0DATA_IN (P3IN & SOMI0)
#define UCLK0 (0x08)
#define SPI0CLK_1 P3OUT |= UCLK0
#define SPI0CLK_0 P3OUT &= ~UCLK0
#define UT1TX (0x10)
#define UT1RX (0x20)
#define UT2TX (0x40)
#define UT2RX (0x80)
//-------------------------------------------
//P4口
//-------------------------------------------
#define MTB (0x01)
#define MTBP (0x02)
#define MTB_1 {P4OUT |= MTB; P4OUT &= ~MTBP;}
#define MTB_0 {P4OUT &= ~MTB; P4OUT |= MTBP;}
#define MTB_LOSS (P4OUT &= ~(MTB + MTBP))
//-------------------------------------------
//P5口
//-------------------------------------------
#define STE1 (0x01)
#define SPI1_EN (P5OUT &= ~STE1)
#define SPI1_DIS (P5OUT |= STE1)
#define PRT_O (0x02)
#define PRT_O_1 (P5OUT |= PRT_O)
#define PRT_O_0 (P5OUT &= ~PRT_O)
#define PRT_I (0x04)
#define PRT_IN (P5IN & PRT_I)
#define PRT_CLK (0x08)
#define PRT_CLK_1 (P5OUT |= PRT_CLK)
#define PRT_CLK_0 (P5OUT &= ~PRT_CLK)
#define RUN (0x10)
#define LED_RUN_TOG (P5OUT ^= RUN)
#define LED_SHUT (P5OUT &= ~RUN)
//-------------------------------------------
//P6口
//-------------------------------------------
#define STB (0x3f)
#define STB_EN (P6OUT |= STB)
#define STB_DIS (P6OUT &= ~STB)
#define LAT (0x40)
#define LAT_EN (P6OUT &= ~LAT)
#define LAT_DIS (P6OUT |= LAT)
#define CLRWTD {P6OUT &= ~BIT7;NOP4;P6OUT |= BIT7;}
//-------------------------------------------
#define COM0_LEN 1024 //串口缓冲区长度
void ComOutStr(uchar *pChar);
void instr_u0(void);
void Delay(uint n);
void initialize_IO(void); //I/O初始化
void initialize_U0(void); //初始化串口1
void initialize_timerA(void); //初始化定时器A
void initialize_timerB(void); //初始化定时器2
void chip_erase(void);
void initialize_dev(void);
void clr_u0(void);
void sector_erase(ulong tempaddr);
uint spi_rdid(void);
uchar spi_read(ulong tempaddr);
uchar spi_rdsr(void);
void spi_write(ulong tempaddr,uint length);
void spi_wrsr(uchar tempdata);
void spi_bytewrite(uchar tempdata);
void look_spi(void);
void chip_ers_spi(void);
void block_ers_spi(void);
void spi_wren(void);
void ByteWrite(uchar tempdata);
uchar ByteRead(void);
void hzck(void);
void reg_clr(void);
void Motor_Step(uchar cnt);
void OnPrinterCmd(void);
void print_it(void);
void print_pic(uchar index);
void SENT_HEAD(uchar cmd,uint length);
void nopaper_ack(void);
void paperok_ack(void);
void printerbusy_ack(void);
void printerok_ack(void);
//------------------------------------------------
//串行flash操作指令
#define WREN (0x06) //设置写使能锁存器
#define WRDI (0x04) //写禁止锁存器
#define RDSR (0x05) //读状态寄存器
#define WRSR (0x01) //写状态寄存器
#define READ (0x03) //读操作
#define PROGRAM (0x02) //写操作
#define SERADE (0xD8) //块擦除
#define CERASE (0xC7) //整片擦除
#define RDID (0x15) //读设备商ID号
//--------------------------------------------------
#define FNODE (0xA1) //汉字基地址
#define BLOCK0 (0x00000) //flash第1块首地址
#define BLOCK1 (0x10000) //flash第2块首地址
#define BLOCK2 (0x20000) //flash第3块首地址
#define BLOCK3 (0x30000) //flash第4块首地址
#define BLOCK4 (0x40000) //flash第5块首地址
#define BLOCK5 (0x50000) //flash第6块首地址
#define BLOCK6 (0x60000) //flash第7块首地址
#define BLOCK7 (0x70000) //flash第8块首地址
#define AD_TOP (0X0FFF) //FLASH顶地址
#define ONE_PAGE (0X100) //写FLASH完整的一页为256字节
//---------------------------------------------------
#define SR_ (0x0008) /* 状态寄存器 */
DEFC( SR , SR_)
//---------------------------------------------------
#define TIMER_A_EN (TACCTL0 |= CCIE) //启动定时器A
#define TIMER_A_DIS (TACCTL0 &= ~CCIE) //关闭定时器A
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -