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/CAM%2Bj4qv39j7v5Ys3_xqsJ8u4G%3DujeYaZBc5iMXAZwiKVHMgAig%40mail.gmail.com.
