Searching \ for '[SX] I2C comment' in subject line. ()
Make payments with PayPal - it's fast, free and secure! Help us get a faster server
FAQ page: www.piclist.com/techref/ubicom/lib/io/index.htm?key=i2c
Search entire site for: 'I2C comment'.

Exact match. Not showing close matches.
PICList Thread
'[SX] I2C comment'
2006\02\07@032811 by Kurtn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Kurt wrote:

I have written a simple I2C communcation routine.

Can somebody gave any comment concerning the subroutines to use the current read model, beware that it writes to $00 and read from $01, like the specs of the 24LC01 said
Kurt
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\07@072420 by beann/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, bean wrote:

Kiwi,
 With I2C you should never pull the SDA or SCL lines high with the SX.
 That is the job of the pull-up resistor.
 The SX code should only pull the lines low or allow them to float (input).
 Look at the code generated by the SX/B I2C commands.
Bean.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108411
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\07@083554 by Coriolisn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Coriolis wrote:

To distill what Bean is saying, when operating an open collector bus (which I2C is), instead of changing the data in the register, you instead change the pin direction from input to output and vice versa. When you set up the pin, you write a 0 to the bit(s) and you never change it(them) again. When you want the output to be 1, set the pin's direction to input. When you want the output to be 0, you set the pin's direction to output. The key is to allow the external pullup resistor supply the 1 value.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108423
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\07@142456 by g_daubachn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, g_daubach wrote:

As an exception to this rule, you may "hard drive" the SCL line from an I/O pin always configured as output, writing low and high level to SCL when the SX device doing this is the only master on the bus, and when no other device on the bus makes use of clock-stretching.

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108501
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\08@065125 by Kurtn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Kurt wrote:

can you explain in more detail what the below text mean??

"
To distill what Bean is saying, when operating an open collector bus (which I2C is), instead of changing the data in the register, you instead change the pin direction from input to output and vice versa. When you set up the pin, you write a 0 to the bit(s) and you never change it(them) again. When you want the output to be 1, set the pin's direction to input. When you want the output to be 0, you set the pin's direction to output. The key is allowing the external pullup resistor to supply the 1 value.

Its handy that the SX's pin direction definition is identical to what the data on the bus is, a 1 in the pin direction is a 1 on the bus, and a 0 in the pin direction is a 0 on the bus."

Kurt
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108590
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\08@071809 by Coriolisn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Coriolis wrote:

There are two different types of busses, the first is active driven, where a chip supplies the high voltage and low voltage. The second is open collector, in this system the voltage isnt supplied by any one chip but by a resitor tied between Vdd and the line. Any chip communicating on the line either leaves it alone (hi impedance) or sinks the line thereby pulling it down to gnd. These two states are what causes the line to be either high or low. The reason for open collector lines is when there is the possibility of more than one chip trying to use the same bus, if it were an actively driven bus line, and one chip is driving it high at the same time another chip is driving it active low, this creates a short circuit (low impedance path between Vdd and Gnd). Since this short is occuring internally inside two chips, one or both of the chips will burn out, something you definitely dont want to do.

This explains the reason for using open collector busses, do you need more detail on how its implemented in an SX program as well?

---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108596
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\08@232319 by Kurtn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Kurt wrote:

so what i needed to do is, where i wrote "setb sda","setb scl" in the routine i2cstart and i2cstop, i have to replaced the directions of these pin into Input (see file, i tested and works fine)??

kurt
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108719
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

2006\02\09@041559 by Kurtn/a

flavicon
face
In SX Microcontrollers, SX/B Compiler and SX-Key Tool, Kurt wrote:

oke, i figured out,
to create logic 0,
mov rc,#$00      put zero in rc register
mode $0F
mov !rc,#$00      make rc as output, with the value of 1 line to create a logic 1,
mode $0F
mov  !rc,#$FF so i have to replaced all my setb and clrb with the above line according of what i need correct??

can i use movB for switching bewteen Inputs and outputs?


ps:the examples are always welcome
---------- End of Message ----------

You can view the post on-line at:
http://forums.parallax.com/forums/default.aspx?f=7&p=1&m=108403#m108723
Need assistance? Send an email to the Forum Administrator at forumadmin@parallax.com
The Parallax Forums are powered by dotNetBB Forums, copyright 2002-2006 (http://www.dotNetBB.com)

More... (looser matching)
- Last day of these posts
- In 2006 , 2007 only
- Today
- New search...