void cs5530_init(void) { uint8_t i; CS5530_CMD_Typedef cmd; CS5530_CFG_REG_Typedef cfgReg; cs5530_gpio_init(); //进入命令模式 cs5530_cs_low(); for (i=0;i<64;i++) { cs5530_send_byte(SYNC1); } cs5530_send_byte(SYNC0); //delay(30); // 写配置寄存器.RS=1 cmd.val = 0; cmd.cmd0.cmdx = CMD0; cmd.cmd0.rw = CMD_W; // 读写标志 cmd.cmd0.RSB = REG_CFG_MASK; // 配置寄存器 cfgReg.val = 0; cfgReg.bit.RS = 1; cs5530_w_reg(cmd.val, cfgReg.val); delay(10); //等待复位完成 cmd.cmd0.cmdx = CMD0; cmd.cmd0.rw = CMD_R; // 读写标志 cmd.cmd0.RSB = REG_CFG_MASK; // 配置寄存器 while(1) { cfgReg.val = cs5530_r_reg(cmd.val); //sprintf("\r\n Read CFG Reg-1:%08X",cfgReg.val); // 读配置寄存器 if(cfgReg.bit.RV) break; // 复位成功,RV置位 } cfgReg.val = cs5530_r_reg(cmd.val); //sprintf("\r\n Read CFG Reg-2:%08X",cfgReg.val); // 读配置寄存器 //sprintf("\r\n 2.>>>>>>>>>>>>>>>>>>>>>>>>"); output_reg_val(); //sprintf("\r\n 2.<<<<<<<<<<<<<<<<<<<<<<<<");这段代码什么意思
时间: 2024-04-28 15:26:35 浏览: 131
Animation-Style_Dialog_Class.zip_Void_ The_c vfc class dialog
这段代码是初始化CS5530芯片的函数。首先通过发送同步字节进入命令模式,然后写入配置寄存器,将RS位设置为1,等待芯片复位完成后,读取配置寄存器,检查RV位是否已经置位。最后再次读取配置寄存器,并输出寄存器的值。其中,cs5530_gpio_init()是初始化GPIO口,cs5530_cs_low()是将芯片的片选引脚置低,cs5530_send_byte()是向芯片发送一个字节的数据,cs5530_w_reg()是向芯片写寄存器,cs5530_r_reg()是从芯片读寄存器,delay()是延时函数。
阅读全文