Tristan,

This is my simple code.
The address of the SA1064 is $38

I have checked with the arduino for save playing the frequency of the bus 
should be less than 100 kHz.
When I translate the simple code of the arduino to amForth I get this, but no 
results.
Even no results with deleting the begin and end.
This device is need only one byte per command, so I have used i2c.c!.
Do you ave a clou?

Cheers

Jan



\ Gravitech display, I2C Generic

marker --gravitech--

$38 constant 7SEG  \ I2C address for 7-Segment

PORTC 4 portpin: SDA
PORTC 5 portpin: SCA
SDA pin_output
SCA pin_output

: initI2C
  i2c.init.default
;

\ Configure 7-Segment to 12mA segment output current, Dynamic mode,
\ and Digits 1, 2, 3 AND 4 are NOT blanked

: init7SEG
  \ 7SEG i2c.begin
     0 7SEG i2c.c!
    71 7SEG i2c.c!
  \ i2c.end
;

: Send7SEG  ( Number Digit )
  \ 7SEG i2c.begin
    7SEG i2c.c!      \ Digit
    7SEG i2c.c!      \ Number
  \ i2c.end
;

: test7SEG
  \ i2c.detect
  \ 7SEG i2c.begin
    0 7SEG i2c.c!
    %01000111 7SEG i2c.c!
  \ i2c.end

  \ 7SEG i2c.begin
    1   7SEG i2c.c!      \ Digit
    $7d 7SEG i2c.c!      \ Number
  \ i2c.end
;


> Op 10 nov. 2018, om 17:15 heeft Tristan Williams <h...@tjnw.co.uk> het 
> volgende geschreven:
> 
> Jan,
> 
> Have a look at the source your-amforth/common/lib/hardware/i2c.frt
> and the comments at the top of the file.
> 
> i2c.c! i2c.c@ i2c.n! i2c.n@ i2c.m!n@ already have the i2c.begin and
> i2c.end within the respective word. I don't know the Gravitech shield
> but if you are sending multiple bytes i2c.n! might be useful.   
> 
> Best wishes,
> Tristan
> 
> On 09Nov18 19:21, Jan Kromhout wrote:
>> Hi,
>> 
>> This is my first step on the I2C road.
>> I have a Gravitech shield for the Arduino, that work well.
>> The code is very simple, and I have translate it to Forth.
>> The display is not working.
>> I include the Forth code. What is wrong?
>> Thangs for any help.
>> 
>> Cheers,
>> 
>> Jan
>> 
>> \ Gravitech display, I2C Generic
>> 
>> marker --gravitech--
>> 
>> $38 constant 7SEG  \ I2C address for 7-Segment
>> 
>> / Configure 7-Segment to 12mA segment output current, Dynamic mode,
>> / and Digits 1, 2, 3 AND 4 are NOT blanked
>> 
>> : init7SEG
>>  7SEG i2c.begin
>>    0 7SEG i2c.c!
>>    %01000111 7SEG i2c.c!
>>  i2c.end
>> ;
>> 
>> : Send7SEG  ( Digit Number )
>>  7SEG i2c.begin
>>    swap 7SEG i2c.c! \ Digit
>>    7SEG i2c.c!      \ Number
>>  i2c.end
>> ;
>> 
>> 
>> /* Configure 7-Segment to 12mA segment output current, Dynamic mode,
>>     and Digits 1, 2, 3 AND 4 are NOT blanked */
>> 
>>  Wire.beginTransmission(_7SEG);
>>  Wire.write(0);
>>  Wire.write(B01000111);
>>  Wire.endTransmission();
>> 
>> 
>> /***************************************************************************
>> Function Name: Send7SEG
>> 
>> Purpose:
>>   Send I2C commands to drive 7-segment display.
>> ****************************************************************************/
>> 
>> void Send7SEG (byte Digit, byte Number)
>> {
>>  Wire.beginTransmission(_7SEG);
>>  Wire.write(Digit);
>>  Wire.write(Number);
>>  Wire.endTransmission();
>> }
>> 
>> 
>> _______________________________________________
>> Amforth-devel mailing list for http://amforth.sf.net/
>> Amforth-devel@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/amforth-devel
>> 
> 
> 
> _______________________________________________
> Amforth-devel mailing list for http://amforth.sf.net/
> Amforth-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/amforth-devel


_______________________________________________
Amforth-devel mailing list for http://amforth.sf.net/
Amforth-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/amforth-devel

Reply via email to