Re: PIC16F15225 a synchronní sériový port

Jindrich Fucik FULDA na seznam.cz
Úterý Duben 30 09:20:11 CEST 2024


Tak jsem to včera vyřešil. Správná kombinace je shodit a zase nahodit SPEN a nesahat na SREN/CREN (Serial Port Enable versus Continuous Receive Enable/Single Receive Enable). Měl jsem potřebu cvičit i s těma dvěma a to není dobře.

Video s blikající LEDkou :)
https://www.youtube.com/watch?v=wQ3Rh4AOt_Q

---------- Původní e-mail ----------
Od: Jindrich Fucik <fulda na seznam.cz>
Komu: hw-list na list.hw.cz
Datum: 29. 4. 2024 20:22:21
Předmět: Re: PIC16F15225 a synchronní sériový port
Musím to vyzkoušet, já jsem "hobbík" a tak tohle patlám až večer po 
zprávách.

Dne 29.04.2024 v 19:26 Petr Labaj napsal(a):
> A to navrhované přeprogramování sync-async-sync nezabralo?
> Pokud by ten rozjetý byte neodstranil, tak při nastavení na async a 
> nějaký ďábelský baudrate by ho musel "dopřijímat" velmi rychle, a pak by 
> se prostě přečetl.
> 
> PL
> 
> ******************
> 
> Dne 29.4.2024 v 16:35 Jindrich Fucik napsal(a):
>> Ahoj,
>>
>> obávám se, že tady se nám sešlo "flush" a "reset". Flush se používá 
>> pro vyčtení všech dat, ale to není můj případ. Tedy není to nic co by 
>> mne trápilo. Já potřebuji reset, který řekne, že to co přijde od teď 
>> tak bude určitě bit 0 od dalšího bajtu. A pokud máš něco v posuvném 
>> registru, tak to zahoď, nebo i klidně odevzdej, ale už v tom 
>> nepokračuj, protože tohle prostě bude nový začátek.
>>
>> Mimochodem - ve světě SPI je tohle vyřešeno použitím vstupu "Enable" 
>> nebo "Select" nebo tak. Ale bohužel SPI má obrácené pořadí bitů. A je 
>> docela zvláštní, že na sériovce to není nějak řešené. Asi se špatně 
>> koukám nebo co.
>>
>> ---------- Původní e-mail ----------
>> Od: Pavel Hudeček <edizon na seznam.cz>
>> Komu: hw-list na list.hw.cz
>> Datum: 28. 4. 2024 22:54:12
>> Předmět: Re: PIC16F15225 a synchronní sériový port
>>
>>      Mám téměř 0 zkušeností s PIC, ale na AVR, starých od Armelu, i
>>      nových od Microchipu, jde flush udělat tak, že se dokola čte datový
>>      registr, dokud nezmizí příznak dokončení předchozího příjmu.
>>
>>      Flushing the Receive Buffer
>>
>>      If the RX buffer has to be flushed during normal operation,
>>      repeatedly read the DATA location (USARTn.RXDATAH
>>      and USARTn.RXDATAL registers) until the Receive Complete Interrupt
>>      Flag (the RXCIF bit in the
>>      USARTn.RXDATAH register) is cleared.
>>
>>      Ale trochu se obávám, že to platí jen pro async. Pak by to asi
>>      vyžadovalo si tam ty clocky nějak vyrobit, třeba přepnout na async s
>>      dostatečně vysokým baudrate:-)
>>
>>
>>      Na starých v ATmega v DS doporučovali i disable/enable, na těch
>>      nových od Microchipu už ne. Tak bych Microchip PIC zkusil to čtení.
>>
>>
>>      PH
>>
>>
>>      Dne 28.04.2024 v 22:21 Jindrich Fucik
>>        napsal(a):
>>
>>
>>      Ahoj,
>>
>>
>>        mám takový problém, kterému moc nerozumím.
>>
>>        Mám synchronní sériovou komunikaci, ve které jsem slave. Master
>>        generuje clock i data. Protokol je takový, že běží komunikace,
>>        clock je generovaný v rozsahu 10 až 500 µs. Občas ale udělá pauzu
>>        delší než 8 ms a podle toho slave pozná, že tady začíná nový bajt
>>        a má začít odpočítávat začátek.
>>
>>        Komunikaci čtu pomocí USART v režimu sync a continuous receiver,
>>        pauzu delší než 8ms čtu pomocí Timer 2 s externím resetem
>>        nastaveným na clock, to funguje správně.
>>
>>
>>        A teď můj problém - nevím jak vyresetovat ten USART, respektive
>>        jak mu říci, že má zahodit co doposud nasbíral do posuvného
>>        registru a má začít znovu. Myslel jsem, že bude stačit shodit SPEN
>>        (disable serial port) a pak jej zase nahodit (enable serial port).
>>        To ale evidentně nefunguje.
>>
>>        Nezná někdo nějakou chytřejší metodu?
>>
> 
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list
_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list


Další informace o konferenci Hw-list