赛灵思
直播中

刘娟

7年用户 672经验值
私信 关注
[问答]

spartan3 adsp3400板IIC运行函数不断返回该怎么办?

大家好
我正在使用S3 adsp 3400板。
我是这个董事会的新手。
我想访问相机数据并使用IIC配置相机(一步一步)。
我为这块威廉希尔官方网站 板设计了MicroBlaze(MB)(BSB支持我的威廉希尔官方网站 板)
然后我写了一个简单的代码来打印流。
它工作正常:smileyhappy:
现在,我想在发送数据之前测试我的iic总线和fifos
我写了以下代码:
Xuint8 StatusReg = 2;
//确保清除所有Fifo并且总线不忙。
do {StatusReg = XIo_In8(CoreAddress + XIIC_SR_RX_FIFO_EMPTY_MASK); xil_printf(“StatusReg is:%d  r  n”,StatusReg);
StatusReg = StatusReg&
(XIIC_SR_RX_FIFO_EMPTY_MASK | XIIC_SR_TX_FIFO_EMPTY_MASK | XIIC_SR_BUS_BUSY_MASK);
xil_printf(“StatusReg is:%d  r  n”,StatusReg);} while(StatusReg!=(XIIC_SR_RX_FIFO_EMPTY_MASK | XIIC_SR_TX_FIFO_EMPTY_MASK));
上面的代码正是xilinx代码的一部分。
并且意味着IIc很忙!!!!!!!!!!!!!!!!!!
我的函数仍然在这个循环中并且不断地在超级终端上返回StatusReg:0。
这意味着我无法继续并使用iic.:smileysad发送数据:
请帮助。

更多回帖

发帖
×
20
完善资料,
赚取积分