Great, that error is fixed :-)
Now here's what the PIC sends, and what I presume the PC receives:
Seq. Lvl Pic sends PC receives (inverted)
-3 1 idle framing error
-2 1 idle framing error-1 1 idle framing error 0 0
startbit idle 1 0 0*1+ idle 2 1 1*2+ startbit 3
0 0*4+ 1*1+ 4 0 0*8=2 1*2+
5 0 0*1+ 1*4+ 6 1 1*2+ 0*8=7 7 0 0*4+
1*1+ 8 0 0*8=2 2*2+
9 1 Stopbit 0*4+
10 0 startbit 1*8=b
11 0 0*1+ stopbit12 1 1*2+ startbit13 0 0*4+
1*1+
14 0 0*8=2 1*2+
15 0 0*1+ 1*4+
16 1 1*2+ 0*8=7
17 0 0*4+ 1*1+
18 0 0*8=2 1*2+
19 1 Stopbit 0*4+
20 1 idle 0*8=321 1 idle framing error
22 1 idle framing error23 1 idle framing error24 1
idle framing error
You see, "b7 37" is exactly what to expect when the baudrate is correct, and
the polarity is not. You just need to fix the polarity. For the transmission
from the PIC to the PC you can either switch RX on the PC to non-inverted mode,
or invert TX on the PIC like
BAUDCON1_SCKP=1
However, this PIC does not allow inverting its RX easily, so you need to switch
the PCs TX to non-inverted mode or invert the signal by other means. That other
means can be a transistor and two resistors, or a dedicated IC, even a NE555
can do it. Or, as mentioned before, if you've got an unused pin on the PIC, you
can use an unused peripheral of your PIC to invert the signal.
Greets,Kiste
Am Dienstag, 17. Mai 2022, 23:16:31 MESZ hat flyway38 <[email protected]>
Folgendes geschrieben:
Hi Kiste,
Thank you very much.That solved the baudrate issue.
But serial_hardware still don't work as it should.Still have Frame and Break
error on PC side.
Now, your code;forever loop
serial_hw_data=0x22
serial_hw_data=0x22
delay_1s(1)
end loop
Results;b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
b7 37 00 ·7.
Cannot understand what's going on.Anymore ideas?
Cheers,Filipe Santos.
On Tuesday, May 17, 2022 at 8:34:17 PM UTC+1 Kiste wrote:
So, here it is:
pragma target clock 20_000_000 -- oscillator frequency
pragma target RSTOSC HFINT32 -- power-up clock select: OSC
You're telling the compiler, the PIC would run at 20MHz, and you're setting the
PIC to 32MHz.
Make it
pragma target clock 32_000_000 -- oscillator frequency
and your baudrate will be as specified.
Greets,Kiste
Am Dienstag, 17. Mai 2022, 21:12:10 MESZ hat flyway38 <[email protected]>
Folgendes geschrieben:
Hi again Kiste,
Here my code pragmas;
-- Pragmas/ configuration memory settings (fuses)
pragma target clock 20_000_000 -- oscillator frequency
pragma target OSC OFF -- HS crystal or resonator
pragma target RSTOSC HFINT32 -- power-up clock select: OSC
pragma target CLKOUTEN DISABLED -- no clock output
pragma target WDT DISABLED -- watchdog
pragma target DEBUG DISABLED -- no debugging
pragma target BROWNOUT DISABLED -- no brownout reset
pragma target FCMEN DISABLED -- no clock monitoring
pragma target CSWEN ENABLED -- allow writing OSCCON1 NOSC
and NDIV
pragma target LVP DISABLED -- no low voltage programming
pragma target MCLR EXTERNAL -- external reset
-- The configuration bit settings above are only a selection, sufficient
-- for this program. Other programs may need more or different settings.
--
WDTCON_SWDTEN = OFF -- disable watchdog
--
_usec_delay (100_000) -- wait for power to stablilize
--
enable_digital_io() -- make all pins digital I/O
CheersFilipe Santos.
On Tuesday, May 17, 2022 at 7:05:54 PM UTC+1 Kiste wrote:
Hi Filipe,
I suspect the baudrate problem in settings like
pragma target clock ?
pragma target OSC ?
pragma target RSTOSC ?
OSCCON* = ?
What are these settings?
Greets,Kiste
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/6e0906ee-c9ec-4f45-94fb-3f99356d83aen%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/2a51961c-ca87-4ba0-b033-c7898ef83840n%40googlegroups.com.
--
You received this message because you are subscribed to the Google Groups
"jallib" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/jallib/401018371.2597514.1652852628853%40mail.yahoo.com.