HI2COUT [newslave],location,(variable,...) (X2 parts only)
HI2COUT [newslave],(variable,...) (X2 parts only)
Location - is a variable/constant specifying a byte or word address.
Variable(s) - contains the data byte(s) to be written.
Newslave - is an optional new slave address for this (and all future) commands (X2 parts only)
Write to i2c bus when acting as an i2c master device.
Use of i2c parts is covered in more detail in the separate 'i2c Tutorial' datasheet.
This command is used to write byte data to an i2c slave. Location defines the start address of the data to be written, although it is also possible to write more than one byte sequentially (if the i2c device supports sequential writes).
Location must be a byte or word as defined within the hi2csetup command. A hi2csetup command must have been issued before this command is used. The hi2csetup commands sets the default slave address for this command. However when addressing multiple parts it may be necessary to repeatedly change the default slave address. This can be achieved via the optional [newslave] variable.
Example of how to use DS1307 Real Time Clock
This program sets the time and date in a DS1307 Real Time Clock. Note the data is sent/received in BCD format. Note that seconds, mins etc are variables that need defining e.g. symbol seconds = b0 etc.
- Code Example:
hi2csetup i2cmaster, %11010000, i2cslow, i2cbyte ; set PICAXE as master and DS1307 slave address ; write time and date e.g. to 11:59:00 on Thurs 25/12/03 start_clock: let seconds = $00 ; 00 Note all BCD format let mins = $59 ; 59 Note all BCD format let hour = $11 ; 11 Note all BCD format let day = $03 ; 03 Note all BCD format let date = $25 ; 25 Note all BCD format let month = $12 ; 12 Note all BCD format let year = $03 ; 03 Note all BCD format let control = %00010000 ; Enable output at 1Hz hi2cout 0,(seconds,mins,hour,day,date,month,year,control) endCopy Code Submit an Example
Submit Your Own Code!
You must be logged in to submit code examples. Login now.