您好!我现在在做一个AD9361的项目,需要进入到SEELP状态,再从SEELP状态出来,开始时能够成功的进入到FDD 模式,根据手册配置相关的寄存器,能够成功的关闭时钟。但是用ad9361_get_en_state_machine_mode ()函数查看状态时,发现是WAIT状态,寄存器0x017里面的值为‘ 20’(0x10=16=10000),是否这个WAIT 状态就是SEELP状态,(为什么ad9361_get_en_state_machine_mode ()函数里体现不出来呢?),再根据手册继续配置相关的寄存器,能够打开时钟,然后 SPIWrite 0x014 = 0x05 Set the To Alert bit and force Alert state 之后,寄存器0x017里面的值变成了‘ 24’(0x14=20=10100),然后用ad9361_get_en_state_machine_mode ()函数查看状态,出现错误I。或者用ad9361_set_en_state_machine_mode()函数配置状态时,寄存器0x017里面的值还是‘ 24’(0x14=20=10100)。不知道怎么出SEELP状态,大佬们知道哪里出错了么?
通过SPIWrite 0x009 = 0x17 Turn on all clocks SPIWrite 0x014 = 0x05 Set the To Alert bit and force Alert state 到了force Alert state状态(0x17=0x04),再等待ALERT DELAY就会进入到ALERT状态。这个alert delay时间通过0x24和0x25设置,现在就是不知道这个ALERT DELAY怎么触发。。。。