Yes, and thank you for all your help with this project.
Finally got this working well. Attached are the code, the complete circuit, and a bit of explanation on how the RNG portion of the circuit works.
I REALLY appreciate all the ideas and effort in helping with this project! Prior obligations require a few day hiatus in my work on this, but I look forward to trying out the change in approach, and I will post the entire and circuit when I have it working properly. Thanks again.
I am ignorant on how to ensure the stacks are not exceeded. By stop, I mean that after the NewPWbutton is pushed, sometimes only 13, or 14, or 15 characters are displayed on the LCD. I get a new set of characters each time I press the button, and often will get all 16 characters the code asks for, but not each time. Code attached. Thanks again for your help.
Anobium, Substituting your code completely eliminated the problem with the PIC freezing. Now, the code completes to display 16 characters often, but stops most often at 14 characters, sometimes at 15, sometimes at 13. I thought that perhaps one of the ASCII codes might result in truncation of the LCD display, but the range limitation (code 33-126 minus 92) seems appropriate. I tried adding time delays in the Display sub, but that didn't help. The randomness of the display has me foxed.
Thanks Stan and Anobium; this information will be very helpful with my project!
Thanks very much! I have no formal computer science education, and your response led me to learn about how stacks work, and how deep recursion results in stack overflow.
Thank you; code attached. Project description: An external random number generator circuit feeds random bytes to PORTB, code checks for uniqueness, then displays bytes as printable ASCII characters.
Have code that uses multiple nested If-Then-Else-End If statements, from nests of two up to 16. Each group of nests generates a variable which is displayed on a 2x16 LCD. As I added more, larger groups of nests, the code would increasingly fail in that the PIC (16F88) would freeze, not displaying all 16 variables. Each time I reset the chip, a different number of variables would be displayed, rarely getting to all 16 variables. The code is using less than 50% of program memory, and less than 33%...
Thanks so much; this is the help I needed.
I am generating a set of 16 bytes "randomly" and want to determine if all are unique values. Anyone know of a simple way to do this?
I am generating a set of 16 bytes "randomly" and want to determine if all are unique values. Anyone know of a simple way to do this?
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
This project builds upon the PIC/TI83+ interface developed by Thomas Henry (see Nuts & Volts August 2013 – A Mathematics Engine for Microcontrollers). Acknowledgment, appreciation, and kudos to him for writing the TI-library for Great Cow Basic that made this project possible.
Just ran McAfee anti virus and it reported this virus in G+Stool.exe: GenericRXJD-FY!C8019614B741 Unable to find any information about this virus online.
More discoveries: When install with McAfee real time scanning off, installs normally and the IDE works. BUT after install, if you turn real time scanning back on, then run the IDE, it no longer can find G+stool.exe, and sure enough if you look at the directory for it, it has been removed! After deleting the install, I reinstalled it (with real time scanning off), but this time I added ide.exe, syn.exe, and g+stool.exe to the "Excluded file list" in McAffee. Then when I turned real time scanning back...
Great news- 1. After many more uninstalls and reinstalls under various conditions, I found that McAfee real time scanning was the reason G+Stools.exe was not installing. 2. Table now works with binary in 0b format!
Third time a charm? -Uninstalled and reinstalled via command prompt with these conditions: antivirus and antimalware OFF insured IDE not running installed with LOG option via CMD installed to root directory -1st 3 lines of LOG: 2020-10-31 13:05:11.457 Log opened. (Time zone: UTC-04:00) 2020-10-31 13:05:11.457 Setup version: Inno Setup version 5.5.5 (a) 2020-10-31 13:05:11.457 Original Setup EXE: C:\GCB_Installer-v0.98.07 RC28.exe -search for g+stool.exe: 2020-10-31 13:05:36.955 Dest filename: C:\GCB@Syn\G+Stools\g+stool.exe...
Yes, Gstool.exe definitely missing from the install into the directory where I have always installed the IDE, but not missing from the install to the C directory. The difference is clearly shown in the G+Stools.jpg I posted. That image shows the 2 directories I installed to and the file differences, showing that G+stool.exe was not installed if the IDE was not installed to the root drive.
Images here
-Again disabled my antivirus and antimalware software -reinstalled to c:\gcb@synrc28 -did not copy anything from or to the installation -GS+TOOLS directory includes: callchm.exe g+stool.exe gawk.exe ide.exe -In command prompt, navigated to the G+Stool directory, then ran G+Stool.exe and got this ERROR (came up in a window, I copied and pasted below) G+Stool V20200921 www.FrankSteinberg.de >>fst'20<< E R R O R G+Stool.exe ist part of the GCB[at]Syn-IDE for the Great Cow BASIC compiler. It is useful...
where can I find V0.98.07 RC27, as would rather not delete my old installs.
Windows 10 Pro, Version 1909, OS build 18363.1139
I disabled my antivirus (McAfee), my malware protection (Malwarebytes), uninstalled and reinstalled the new release candidate and got the same error. When I load the same code into v0.98.06, it compiles and assembles fine.
Installed the new release candidate; got error when clicked ASM: "G+Stool.exe" is not recognized as an internal or external command, operable program or batch file."
When I read numbers from a Table containing binary numbers in the format 0b, for example 0b1010, they always readout as zero. When using the format b'1010', they readout correctly. I am using version 0.98.06. Is there a newer version that corrects this?
Thanks again!
Thanks for your reply! My application doesn't require 2 way communication, however your mention of 8 bit variables made me realize I can create them directly instead of using strings so will try that first.
I have a string containing 20 characters, all 1's and zeros, that I want to pass to a shift register (can accept up to 40 bits serially: A6812SA). Have code to transfer numbers, however cannot figure out how to covert this string to a series of equivalent binary values to accomplish the transfer. Any suggestions greatly appreciated.
Have just started using PICkit2PLUS, and get a warning when loading certain .hex files (attached), however the programs seem to run fine after written to the PIC. What should I be checking for?
Only 2 things I would sugggest which might be helpful, one of which was in your initial reply. 1. Indicate under ANX that X=0 to 29, corresponding to port pin numbers. (Same for pX and nY). 2. Demonstrate in example code that ANX can be replaced by anything previously #define(d) equalling ANX. Thanks again.
Thanks for the helpful replies!
Here's the code.
An old simple program to read illumination on a photocell will no longer compile; the culprit is this: dir AN2 in. Code attached. Error message when compiling is: ToPost.gcb (17): Error: 2 is not a valid I/O pin or port If I replace dir AN2 with dir GPIO 0b00000100 , it compiles fine. I'm stumped.
Keeping in mind the small possibility of erasure of PIC contents with Autodetect, would it be safe just to use the Read button to identify it?
yesterday I posted a topic concerning time to assemble in the IDE vs MPASM, but can't find it now. Could it have been moved?
Results of using HEX button on IDE to generate .hex file of code I am working on - 44 seconds. Results of using ASM button on IDE, then using MPASMWIN.exe to get .hex file - Total <5 seconds. Does anyone know why this would be so? (Using current GCB version 98.06, MPASMWIN.EXE v5.47)
Thanks so much!
The output of the G+stool window scrolIs too quickly to read then disappears. Is there a way to keep this window open until I choose to close it? Or is the output of the G+stool window stored somewhere? Any help appreciated.
I know that byte variables don't need to be dimensioned but larger variables do. Do bit variables need to be dimensioned?
Am using newest version of the IDE (6.22.2290), newest version of GCB (0.98.01). Downloaded complete package just a few days ago, and was able to drag-drop tabs without a problem. Now, after several sessions, it no longer works. Any suggestions appreciated.
Thank you for the ideas; they may shorten the time involved in customizing the new...
Here's the screenshot.
Attached is a screenshot of my customized IDE and SynToolbars.ini. It's been a while...
In the external tool category of GCB@SYN IDE, I have filled all the available slots...
Whenever I upgrade to a new release, I have to recustomize the IDE for all the external...
I discovered the answer to my original question in the flashPIC.bat. If the file...
Just installed the newest IDE and now my PICkit2 behaves differently. During flashing,...
After updating my lcd.h library with the newest to test out LCD_IO 1, I tried to...
Theo, Thanks for asking me to re-check my setup; I tore it down and rebuilt it and...
I breadboarded the circuit, and changed the demo code slightly, for the 12F683 PIC....
For those looking at the new help file, it needs to be unblocked before it can be...
THANKS so much; looking forward to playing with this. I had found other 1-wire solutions...
That would be great! Thank you.
While browsing in the help files, I found Index of/library/DEMO CODE/demo code for...
Thanks Anobium for your help. Your initial response prompted me to swap out my 12F683...
Thanks Anobium for your help. Your initial response prompted me to swap out my 12F683...
I used the simplest setup and code I could think of to learn how to use ReadAD10....
Attached are 2 files; one is the corrected version of my most recent post, and the...
OOPS. My last post had an error; all the array elements need to be on the same line:...
Thanks to Theo for helping me figure out how to get custom characters to work in...
Hi Anobium, I think I may have figured out why custom characters do not work on a...
Hi Anobium,. I inserted your code into my program, and got the same results; nothing...
Hi Anobium. Thanks for the reply. I added a bit to the code to show string handling...
I have built a 2-line interface for a 2 x 16 LCD display (based on the old 74LS174),...
Hi Anobium, You nailed it; I downloaded and reinstalled and it works with no errors....
HI Anobium, Version of GCBasic is the one that came with GCB@SYN, 5-11-14. The code...
Anobium, Thanks so much for your reply. The hardware (and software) is from an article...
I now use GCB@SYN almost exclusively, but when I compile a program by Thomas Henry...
I ran the hex; an incorrect sequence resulted. Here is the sequence, which ran repeatedly:...
The following program displays 0 through 9 correctly, using the line GPIO = lo +...
Thanks so much for pointing me in the right direction; it works now!
When I click on the combined hex/flash button, the .asm and .hex files are generated,...
Just noted that if I just click on the hex icon and not separately generate an .asm...
Just downloaded and installed the newest (5-24-14) version of GCB@Syn, in this directory:...
Have noticed that .hex files produced by GCASM are not identical to those produced...
Thanks so much for your interest in this; I'm sure I'll learn much from studying...
I just discovered that if I use a different pin (not the MCLR pin) for SerInPort,...
I really appreciate the efforts in helping me figure this out. To clarify my setup,...
Thank you for responding to this query. Below is the code, and attached is a picture...
Have written a simple program using SerReceive to capture output from my PC keyboard....
Since I posted this, I found a solution to this and other problems I was having using...
Didn't matter what code I used, this was a problem, but............... Since I posted,...
Have been using Great Cow Graphical Basic to assemble, and when done a .hex file...
Have been using Crimson Editor as my IDE for GCBasic. If a program is compiled/assembled,...
Found a simple way to get binary number from decimal; send your number to a port,...
By the way, MakerPlot is an upgrade of the old Stamp Plot software; lets you plot...
Thanks for the reply; I think using your idea will do the trick!
Have started using GCB with MakerPlot via RS-232 connection, and it works fine. However,...