Cool you find the programmer !
I've seen this issue once too. :) But it was my mistake, I've inverted in a
wrong way in the PIC.
thx.


On Wed, May 18, 2022 at 9:12 PM flyway38 <[email protected]> wrote:

> Hi Rob, Vasile,
>
> @Vasile
> No complicated at all to invert signals using FT_prog;
>
> https://ftdichip.com/wp-content/uploads/2022/05/FT_Prog_v3.12.29.638-Installer.zip
> Very easy. Two clicks after installed and there you go.
> You can invert any of RS232 signals, but only TX neeeded to be inverted.
>
> @Rob
> Yes. Vasile had already noticed that mistake.
> It was already corrected and solved that baudrate divergence.
> All fine now. Including Serial_Hardware lib is working like a charm.
>
> Never enough to thank you all !!!
> You guys rock.
>
> Best regards,
> Filipe Santos.
>
>
> On Wednesday, May 18, 2022 at 5:42:04 PM UTC+1 vasile wrote:
>
>> Hi, one possibility  is to use one single inverter gate like SN74LVC1G04,
>> one digital transistor ( base resistor connected internally) and one
>> resistor in collector or any other already explained.
>> The FT232RL can invert the TX, however it seems so complicated ( it needs
>> to program the internal eeprom, see AN121 FTDI accessing the eeprom user
>> area) that it is much simpler to correct it in external hardware.
>> http://www.ftdichip.com/Support/Documents/DataSheets/ICs/DS_FT232R.pdf
>>
>>
>> On Wed, May 18, 2022 at 8:45 AM 'Oliver Seitz' via jallib <
>> [email protected]> wrote:
>>
>>> 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+        stopbit
>>> 12    1    1*2+        startbit
>>> 13    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=3
>>> 21    1    idle        framing error
>>> 22    1    idle        framing error
>>> 23    1    idle        framing error
>>> 24    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
>>>
>>> Cheers
>>> Filipe 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
>>> <https://groups.google.com/d/msgid/jallib/6e0906ee-c9ec-4f45-94fb-3f99356d83aen%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> 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
>>> <https://groups.google.com/d/msgid/jallib/2a51961c-ca87-4ba0-b033-c7898ef83840n%40googlegroups.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>>> --
>>> 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
>>> <https://groups.google.com/d/msgid/jallib/401018371.2597514.1652852628853%40mail.yahoo.com?utm_medium=email&utm_source=footer>
>>> .
>>>
>> --
> 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/83cc26c7-ff88-4645-86b9-4b480a1752den%40googlegroups.com
> <https://groups.google.com/d/msgid/jallib/83cc26c7-ff88-4645-86b9-4b480a1752den%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
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/CAM%2Bj4qvSKgqyQJ4krSrB7HQUwZNG4-wW8QhSdKmu%2BLFSdQD-rA%40mail.gmail.com.

Reply via email to