Hello Jan,

Jan Kromhout via Amforth-devel writes:

> Hello Tristan,Erich
>
> This is far over my knowledge, but will give it a try.
>
> But when I try to load the spi.frt I get an error here
>
> |C|   97|\ send a byte, ignore recieved byte
> |S|   98|: c!spi ( c -- )
> |S|   99|    c!@spi drop
> |E=3D ?? -13 6

In avr8/words you will find 3 files:
> 2spirw.asm  n-spi.asm  spirw.asm
which in turn will define 4 words:
> !@spi  n@spi n!spi  c!@spi
all of these come to life if you include their .asm files and
reassemble.

Rebuilding your project: yes, it might look intimidating the
first time. However, think about the gains:

- you can chose another board with a different controller

- you can change the clock crystal to another frequency, e.g. I
  strongly prefer baud rate crystals, e.g. 11059200 Hz.

- you can change the baud rate of the serial interface (within
  limits).

- you can extend your AmForth system with a large number or words
  to fit your project.

- you are not locked to use somehow prebuild .hex files

The sky is the limit! So: Don't give up too soon, please!

This might help if you are linux based:
http://amforth.sourceforge.net/UG/linux.html
A very long time ago I wrote this:
http://amforth.sourceforge.net/pr/Fosdem2011-proceedings-amforth.pdf

If you are Windows based, have a look at=20
http://amforth.sourceforge.net/UG/windows.html

Cheers,
Erich

>
> Is this also a assembler word?
>
> Kindly regards,
>
> Jan
>
>
>
>
>> Op 7 jun. 2019, om 19:50 heeft Erich Wälde <ew.fo...@nassur.net> het 
>> volgende geschreven:
>> 
>> Hello Jan,
>> 
>> 
>> Jan Kromhout writes:
>> 
>>> Hi Tristan,
>>> 
>>> What to load in the right sequence to fellow the examples in 
>>> http://amforth.sourceforge.net/TG/recipes/SPI.html ?
>>> If I have the right sequence of loading the screens I will start as you 
>>> mentiod.
>>> 
>>> Kind regards,
>>> 
>>> Jan
>>> 
>>> 
>>> 
>>> Op 7 jun. 2019, om 19:25 heeft Tristan Williams 
>>> <h...@tjnw.co.uk<mailto:h...@tjnw.co.uk>> het volgende geschreven:
>>> 
>>> Hi Jan,
>>> 
>>> No don’t have. Why?
>>> 
>>> Because words/spirw.asm provides c!@spi which makes using the
>>> hardware spi easier, and it is used in the recipes
>> 
>> you see the filename? "words/spirw.asm"? Please note: .asm
>> suffix. This means that in your project directory, you need to
>> add one line to the file "dict_appl.inc". Then you need to
>> reassemble the project and load the resulting .hex files to your
>> controller. I strongly recommend learning this workflow, if you
>> didn't already.
>> 
>> Cheers,
>> Erich
>> 
>> 
>>> 
>>> http://amforth.sourceforge.net/TG/recipes/SPI.html
>>> 
>>> Separately, if you haven't read it already
>>> 
>>> https://en.wikipedia.org/wiki/Serial_Peripheral_Interface
>>> 
>>> will help a lot, as will starting with a simple SPI device (e.g. io
>>> expander, digital potentiometer) first.
>>> 
>>> Kind regards,
>>> 
>>> Tristan
>>> 
>>> 
>>> Verstuurd vanaf mijn iPad
>>> 
>>> Op 7 jun. 2019 om 17:25 heeft Tristan Williams 
>>> <h...@tjnw.co.uk<mailto:h...@tjnw.co.uk>> het volgende geschreven:
>>> 
>>> Hello Jan,
>>> 
>>> A quick question first.
>>> 
>>> You have built your AmForth hex files with words/spirw.asm ?
>>> 
>>> Kind regards,
>>> 
>>> Tristan
>>> 
>>> On 07Jun19 17:06, Jan Kromhout via Amforth-devel wrote:
>>> Hello
>>> 
>>> I have take a close look into SPI routines.
>>> I really not understand them.
>>> 
>>> I need simple make a connection withe the arduino in amForth.
>>> The basics I understand how to make a pin high or low etc.
>>> But I don’t know how to start to initialize the SPI etc.
>>> Can someone help me with this or give a simple example?
>>> The interface is using the standard pins for the SPI.
>>> 
>>> I mark the part of the code with <===========? where I have trouble to 
>>> convert to amForth.
>>> 
>>> Thanks for any help.
>>> 
>>> Cheers,
>>> 
>>> Jan
>>> 
>>> 
>>> #include "SPI.h"
>>> 
>>> #define SCK_PIN   13
>>> #define MISO_PIN  12
>>> #define MOSI_PIN  11
>>> #define SS_PIN    10
>>> 
>>> void umFPU_begin(void)
>>> {
>>>  digitalWrite(SS_PIN, HIGH);
>>>  pinMode(SS_PIN, OUTPUT);
>>>  umFPU_reset();
>>> }
>>> 
>>> //------------------- reset 
>>> -------------------------------------------------
>>> 
>>> void umFPU_reset()
>>> {
>>> digitalWrite(SS_PIN, LOW);
>>> 
>>> // disable SPI.Master
>>> SPI.end();   <===========?
>>> 
>>> // reset the FPU
>>> digitalWrite(MOSI_PIN, HIGH);
>>> for (byte i = 0; i < 80; i++)
>>> {
>>>  digitalWrite(SCK_PIN, HIGH);
>>>  digitalWrite(SCK_PIN, LOW);
>>> }
>>> digitalWrite(MOSI_PIN, LOW);
>>> 
>>> delay(10);
>>> 
>>> // enable SPI.Master
>>> SPI.setDataMode(SPI_MODE0);
>>> SPI.setBitOrder(MSBFIRST);
>>> SPI.setClockDivider(SPI_CLOCK_DIV4);
>>> SPI.begin();  <===========?
>>> 
>>> digitalWrite(SS_PIN, HIGH);
>>> }
>>> 
>>> byte umFPU_read(void)
>>> {
>>> byte bval;
>>> digitalWrite(SS_PIN, LOW);
>>> umFPU_readDelay();
>>> bval = SPI.transfer(0); <===========?
>>> digitalWrite(SS_PIN, HIGH);
>>> return bval;
>>> }
>>> 
>>> void umFPU_write_1(byte b1)
>>> {
>>> digitalWrite(SS_PIN, LOW);
>>> SPI.transfer(b1);  <===========?
>>> digitalWrite(SS_PIN, HIGH);
>>> }
>>> 
>>> _______________________________________________
>>> Amforth-devel mailing list for http://amforth.sf.net/
>>> Amforth-devel@lists.sourceforge.net<mailto: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<mailto: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<mailto: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<mailto: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
>> 
>> 
>> -- 
>> May the Forth be with you ...
>> 
>> 
>> _______________________________________________
>> Amforth-devel mailing list for http://amforth.sf.net/ 
>> <http://amforth.sf.net/>
>> Amforth-devel@lists.sourceforge.net 
>> <mailto:Amforth-devel@lists.sourceforge.net>
>> https://lists.sourceforge.net/lists/listinfo/amforth-devel 
>> <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


-- 
May the Forth be with you ...


_______________________________________________
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