Site Tools


software:programming:i2c:shell

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
software:programming:i2c:shell [2017/03/07 14:37] adminsoftware:programming:i2c:shell [2017/03/07 22:18] (current) – [References] admin
Line 6: Line 6:
 </code> </code>
  
-==== Using user space via i2c ==== +===== Setting MCP23008/MCP23017 gpio in user space via i2c ===== 
-For mcp23017:+ 
 +==== For mcp23008 ==== 
 +<code bash> 
 +# find out which i2c address the device listens to: 
 +i2cdetect -y 0 
 + 
 +# you should find 0x20 
 + 
 +# Set all bits from port a to output: 
 +i2cset -y 0 0x20 0x00 0x00 
 + 
 +# Write value to register GPIOA (0x09) oder OLATA (0x0A) 
 +# For example: for bit 0, write: 
 +i2cset -y 0 0x20 0x14 0x01 
 +</code> 
 + 
 +==== For mcp23017 ====
 <code bash> <code bash>
 # find out which i2c address the device listens to: # find out which i2c address the device listens to:
Line 19: Line 35:
 # Write value to register GPIOA (0x12) oder OLATA (0x14) # Write value to register GPIOA (0x12) oder OLATA (0x14)
 # For example: for bit 0, write: # For example: for bit 0, write:
-i2cset -y 0 0x20 0x12 0x01+i2cset -y 0 0x20 0x14 0x01 
 +</code> 
 + 
 +==== Hardware detection ==== 
 +Color table: 
 +^ Bit ^ mcp23008 ^ mcp23017 ^ 
 +|  1  |  L_GRN     L-BLU 
 +|  2  |  L_BLU     L-GRN 
 +|  4  |  L_RED     L-RED 
 +|  8  |  R_BLU     R-BLU 
 +|  16 |  R_GRN     L-GRN 
 +|  32 |  R_RED     L-RED 
 +|  64 |  WHITE     WHITE 
 +| 128 |  HEATR     HEATR 
 + 
 +<code bash> 
 +# Detection for mcp23017: 
 +i2cset -y 0 0x20 0x00 0x00 
 +i2cset -y 0 0x20 0x14 0x01 
 +i2cget -y 0 0x20 0x14 
 + 
 +# should give 0x01 on mcp23017 and 0x00 on mcp23008 
 +</code> 
 + 
 +===== References ===== 
 +  * [[http://www.elektronx.de/tutorials/porterweiterung-mit-mcp23017-und-i2c/]]
software/programming/i2c/shell.1488893845.txt.gz · Last modified: 2017/03/07 14:37 by admin