Code:SEROUT2 LCD, 84, ["Hello World",13,10]
Code:SEROUT2 LCD, 84, ["Hello World",13,10]
Thank you Skimask and Mikendee.
I've already tested the code putting 84 instead of N9600, but nothing.
Actually I modified the program in order to increase a BYTE sized variable "instead" of the 84.
So, pressig one button, I get that variable increased by 1 (and toggle a led).
Pressing another button I get that variable decreased by 1 (and toggle the same above led).
The loop is working because I see the toggling of the LED each time I press some button (debounced as well), but still nothing good...
After the first weird sending then the PortD.7 pin is just muted.Code:DEFINE OSC 25 'Set the Crystal Clock speed INCLUDE "modedefs.bas" 'Inline compiler's pre-defined constants ADCON0 = 0 'AD converter module 0 = disabled ADCON1 = %00001111 'Set all analog pins to digital ADCON2 = %00000000 CMCON = %00000111 'Comparator = disabled INTCON = %00111000 INTCON2 = %10000000 INTCON3 = %00000000 RCON.7 = %00000000 EECON2.5 = 0 'Ethernet Module Disabled SSP1CON1.5 = 0 'Disable SPI 1 and set pins as GPIO SSP2CON1.5 = 0 'Disable SPI 2 and set pins as GPIO TRISD.7 = 0 'PortD7 = RS-232 TX output for Display serSpeed var byte serspeed = 84 TestLoop: serout2 PortD.7, SERSPEED, ["SerSpeed=", dec serSpeed,13,10] if SW_ManualReset = 0 then pause 10 if sw_manualreset = 0 then LED_what = ~ LED_what serspeed = serspeed - 1 endif while sw_manualreset = 0 wend LED_what = ~ LED_what endif if SW_PWR_On_Off = 0 then pause 10 if SW_PWR_On_Off = 0 then LED_what = ~ LED_what serspeed = serspeed + 1 endif while sw_pwr_on_off = 0 wend LED_what = ~ LED_what endif pause 500 goto TestLoop
No other sending even if the loop is still going. Actually if I press one of the buttons, I see that the led is toggling.
Same result if I change on any pin on PortC.
Of course, neighter Serin/Serin2 work...
I submitted the issue to Melabs too.
Any idea in the meanwhile?
Time to break it down...
Does the old blinky LED program blink at the proper rate?
1 second blinks?Code:led var portd.7 : output led main: led = 1 : pause 500 : led = 0 : pause 500 : goto main
..........never mind......................
Last edited by mister_e; - 19th May 2008 at 17:22.
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Thank you Skimask,
is exactly what I did last night.
Conclusion:
The chip is FRIED!
There is something wrong with the PortD and PortC.
Actually a new board with another chip it work properly!
My apologises...
I've also apologized with MeLabs... even if I submitted another issue to them.
The new (old) one is related to the fact that the PIR1.5 register seems never find a character in the buffer even if I know that is sure there.
DEFINE HSER_CLROERR 1 and DEFINE HSER2_CLROERR 1 are both at the top of the program.
Things start going bad if I use some I2C command and then inquiry the PIR1.5
What I do not understand is that inquiring PIR3.5 (for the other attached device), it work regularly at any speed (between 2400 and 115200)
the only way to get data from the device attached is to use HSerin with a timeout of 10ms...
If I DON'T USE any I2C commands, both PIR1.5 and PIR3.5 reflect the correct data and behaviour...
I've already posted this strange things in a more detailed post:
http://www.picbasic.co.uk/forum/showthread.php?t=8638
Thank you all guys.
Hope in some hint...
Last edited by mikebar; - 20th May 2008 at 05:04. Reason: Forgot greetings...
That's weird... i'll order few sample of this chip just for fun...
Steve
It's not a bug, it's a random feature.
There's no problem, only learning opportunities.
Mister-e,
thank you very much for your curiosity.
Be prepared. The package IS EXTREMELY SMALL!
Let me know if you discover sothing.
Thank you again.
Bookmarks