For the 887 use 8Mhz for the calcs.
I am not sure about the 4520, I have not used USART with PLL enabled.
But...
I think the USART uses the primary OSC so try 4Mhz. 50 50 chance of it working![]()
For the 887 use 8Mhz for the calcs.
I am not sure about the 4520, I have not used USART with PLL enabled.
But...
I think the USART uses the primary OSC so try 4Mhz. 50 50 chance of it working![]()
Dave
Always wear safety glasses while programming.
Hi Dave
Could I set both PICS to 4 MHz internal OSC ?
And once it's working try variations ?
That would be the way to trouble shoot.
Just make sure they are running at the expected speed with a blinky and a stop watch or meter if you have one..
Dave
Always wear safety glasses while programming.
Hi again Dave
I think I am almost ready for the next step ....
RF and RF module TX RX
I have been reading posts all through the forums, even some of yours from years back ...
Now for the next step ... to try the same or a similar thing without the wires.
Should I start off with sering or plunge straight into HSER ?
The plan is to be able to send 3 bytes using the most reliable method.
So the question is where do I start and what do I start with ?
Kind regards
Dennis
I have it on good authority that the PLL speed is the one to use. Thanks Bruce!!!So do I choose 4MHz or 32 MHz ?
What radio modules are you using? I have only used the ones from rentron.com.
As for reliability, all of the serial methods (HSER,SER,SER2..) are good. Are you planning to use interrupts with the serial input or just wait and time out, check later sort of thing?
Dave
Always wear safety glasses while programming.
Hi Dave
:-)
So are you saying I should use 8MHz OSC and 4x PLL for the 18F4520 and use 32 MHz when I do the HSER DEFINE calculations then ?
And on the 16F887 use it's max INTOSC which is 8 MHZ for the HSER calculations ?
OR....
set both PIC's at 4 or 8 MHz and then calculate the HSER DEFINEs accordingly ?
Something like this maybe
A quick question here ...Code:‘For 8MHz @ 2400bps RCSTA = $90 ' Enable serial port & continuous receive TXSTA = $20 ' Enable transmit, BRGH = 0 SPBRG = 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0 DEFINE HSER_SPBRG 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_CLROERR 1 ' Clear overflow automatically ‘For 4 MHz @ 2400bps RCSTA = $90 ' Enable serial port & continuous receive TXSTA = $20 ' Enable transmit, BRGH = 0 SPBRG = 25 ' 2400 Baud @ 4MHz, 0.17% DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0 DEFINE HSER_SPBRG 25 ' 2400 Baud @ 4MHz, 0.17% DEFINE HSER_CLROERR 1 ' Clear overflow automatically
Which comes first ... DEFINE's or register settings ?
Chat soon
Dennis
Hi Dave
Have been reading the very interesting HSER info form all over.
Let's say that I have the PIC's connected as follows :
PIC 16F887 -- PIC 18F4520 -- PC(com port)
At PIC 16F887 the code is
On the 18F4520 (middleman RX and TX PIC in my setup)Code:'USART defines and register settings begin here - use for HSERIN/OUT RCSTA = $90 ' Enable serial port & continuous receive TXSTA = $20 ' Enable transmit, BRGH = 0 SPBRG = 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0 DEFINE HSER_SPBRG 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_CLROERR 1 ' Clear overflow automatically ' Check port settings PORTC.6 = TX and PORTC.7 = RX ' For PIC to PIC TX to RX C.6 to C.7 and visa versa ' Don't forget TRISC=%10000000 'USART defines and register settings end here main: 'tx loop begins high LED ' LED on Pause 1000 ' Delay for 1 seconds HSERout "9",DEC 3,$d,$a low LED ' LED off pause 1000 goto main
And on the PC hyperterminal or MCS serial tool is waiting to receive and/or send back to PICCode:'USART defines and register settings begin here - use for HSERIN/OUT RCSTA = $90 ' Enable serial port & continuous receive TXSTA = $20 ' Enable transmit, BRGH = 0 SPBRG = 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_RCSTA 90h ' Enable serial port & continuous receive DEFINE HSER_TXSTA 20h ' Enable transmit, BRGH = 0 DEFINE HSER_SPBRG 51 ' 2400 Baud @ 8MHz, 0.17% DEFINE HSER_CLROERR 1 ' Clear overflow automatically ' Check port settings PORTC.6 = TX and PORTC.7 = RX ' For PIC to PIC TX to RX C.6 to C.7 and visa versa ' Don't forget TRISC=%10000000 'USART defines and register settings end here main: 'tx and rx loop begins here high LED 'LED on Pause 1000 ' delay for 1 second 'HSER lines begine here HSERIN [WAIT("9"),DEC NET] '<< this is the format for the receiver or if you're looping LCDOUT $fe,1 LCDOUT "I received the number .." DEC NET HSERout "I received the number",DEC NET,$d,$a 'data to COM port on pc 'HSER lines end here goto main end
Have I got it right ?
Kind regards
Dennis
Bookmarks