Hey Gustl,
i am having a problem initializing the I2C module on the C6713 DSK and i really
need your help
we are sending an address to a camera (SLAVE) to change format settings,
resolution, frame rate and so on, so we send the address and then the apprpriate
data value to that register for the change
I see that you have code which follows the same initialization proc, but can
you please tell me what your 'if' and 'while' loops at the
end
QUOTE:
>>
while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)==0);
>> // send all bytes
>> while (number>0) {
>> if ((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_ICXRDY_MASK)!=0) {
>> 2C_RSET(I2CDXR0,I2C_I2CDXR_RMK(I2C_I2CDXR_OF(*source)));
>> source++;
>> number--;
>> }
>> }/**/
>> // wait until all is sent
>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0);
>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0);
>>}
so yeah i am trying to get control of the camera but i am not getting a proper
pulse from the I2C clock of the C6713...
also is your data signal held high when no data is being sent on the SDA pin
please let me know if you understand any part of this problem
thanks alot
Varun
I2C problem on the C6713 - HELP!!
Started by ●March 22, 2006
Reply by ●March 22, 20062006-03-22
Hi Varun,
v...@bu.edu schrieb:
> Hey Gustl, i am having a problem initializing the I2C module on the
> C6713 DSK and i really need your help
>
> we are sending an address to a camera (SLAVE) to change format
> settings, resolution, frame rate and so on, so we send the address
> and then the apprpriate data value to that register for the change
>
> I see that you have code which follows the same initialization proc,
> but can you please tell me what your 'if' and 'while' loops at the
> end
>
I'm not sure if this is my code. I do I2C with EDMA!
The while loops test if I2C is still busy. But I think the first one
should be '==0' to test wait until it started.
The 'if' part loads data data only when IC2 data register is ready to
acccept new data.
It looks like some part of the code is missing or wrong.
> QUOTE:
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)==0); // send all
>>> bytes while (number>0) { if
>>> ((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_ICXRDY_MASK)!=0) {
>>> 2C_RSET(I2CDXR0,I2C_I2CDXR_RMK(I2C_I2CDXR_OF(*source)));
>>> source++; number--; } }/**/ // wait until all is sent
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0);
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0); }
>
> so yeah i am trying to get control of the camera but i am not getting
> a proper pulse from the I2C clock of the C6713... also is your data
> signal held high when no data is being sent on the SDA pin
Yes it is. There must be pullup resistors on SCL and SDA!
>
> please let me know if you understand any part of this problem
No, I'm afraid not.
regards Gustl
v...@bu.edu schrieb:
> Hey Gustl, i am having a problem initializing the I2C module on the
> C6713 DSK and i really need your help
>
> we are sending an address to a camera (SLAVE) to change format
> settings, resolution, frame rate and so on, so we send the address
> and then the apprpriate data value to that register for the change
>
> I see that you have code which follows the same initialization proc,
> but can you please tell me what your 'if' and 'while' loops at the
> end
>
I'm not sure if this is my code. I do I2C with EDMA!
The while loops test if I2C is still busy. But I think the first one
should be '==0' to test wait until it started.
The 'if' part loads data data only when IC2 data register is ready to
acccept new data.
It looks like some part of the code is missing or wrong.
> QUOTE:
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)==0); // send all
>>> bytes while (number>0) { if
>>> ((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_ICXRDY_MASK)!=0) {
>>> 2C_RSET(I2CDXR0,I2C_I2CDXR_RMK(I2C_I2CDXR_OF(*source)));
>>> source++; number--; } }/**/ // wait until all is sent
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0);
>>> while((I2C_RGET(I2CSTR0)&_I2C_I2CSTR_BB_MASK)!=0); }
>
> so yeah i am trying to get control of the camera but i am not getting
> a proper pulse from the I2C clock of the C6713... also is your data
> signal held high when no data is being sent on the SDA pin
Yes it is. There must be pullup resistors on SCL and SDA!
>
> please let me know if you understand any part of this problem
No, I'm afraid not.
regards Gustl