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