void HT93LC46_EWEN(void) //ht93lc46 erase and write enable { uchar ewi,ewen_code=0x98; _nop_(); HT93LC46_CS=0; HT93LC46_CLK=0; _nop_(); HT93LC46_CS=1; //sending operation code 0x98=10011000 and 00 10bits _nop_(); for(ewi=0;ewi<8;ewi++) { if(ewen_code>=0x80) HT93LC46_DI=1; else HT93LC46_DI=0; _nop_(); HT93LC46_CLK=1; _nop_(); HT93LC46_CLK=0; _nop_(); ewen_code<<=1; } HT93LC46_CLK=1; _nop_(); HT93LC46_CLK=0; _nop_(); HT93LC46_CLK=1; _nop_(); HT93LC46_CS=0; }
时间: 2024-04-13 15:26:22 浏览: 108
关于FM93C56的SPI例程
这是一个函数,用于使HT93LC46芯片进入擦除和写入使能状态。函数内部首先定义了一些变量,包括ewi和ewen_code。然后将HT93LC46_CS拉低,HT93LC46_CLK拉低,进行一些延时操作。
接下来,将HT93LC46_CS拉高,发送操作码0x98(二进制为10011000)和00两位。在一个循环中,逐位发送ewen_code的值到HT93LC46_DI引脚。如果ewen_code的最高位为1,则将HT93LC46_DI设置为1,否则设置为0。之后进行一些延时操作,并将ewen_code左移1位。
最后将HT93LC46_CLK拉高,并进行一些延时操作。然后将HT93LC46_CS拉低,函数执行结束。
阅读全文