logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

[ATMEGA64][BASCOM] Niezgodność prędkości UART 9600 z FT230XS - jak ustawić?

bubels 14 Lip 2019 11:22 444 3
REKLAMA
  • #1 18059949
    bubels
    Poziom 17  
    Witam,

    Atmega64 taktowana kwarcem 4.0Mhz. Komunikacja przez FT230XS.

    Baud ustawiony na 9600. By prawidłowo komunikować się z uC na terminalu w kompie mam 19200. uC 9600 <> 19200 komp

    Dla prędkości 38400 jest już prawidłowo tzn. w terminalu odbieram na 38400.

    uC 38400 <> 38400 komp.

    Gdy zmienię taktowanie uC na 8.0 Mhz (nawet na wewn.) nie ma problemu z ustawieniem prędkości uC 9600 <> 9600 Komp.

    Podkreślę że nie chodzi o błędy w transmisji tylko nie odpowiedniej prędkości.

    Wsad do procka dla testów ograniczony wyłącznie do transmisji UART.

    Oczywiście prawidłowo zadeklarowany kwarc.

    Ktoś ma pomysł?
  • REKLAMA
  • #2 18060040
    excray
    Poziom 41  
    Błąd w programie
  • REKLAMA
  • #3 18060072
    bubels
    Poziom 17  
    Kod: VB.net
    Zaloguj się, aby zobaczyć kod



    To jest program dla uC 9600 <> 19200 komp
  • #4 18060465
    bart-projects
    Poziom 29  
    Może to jakiś stary Bascom?
    Bascom sprawdza kiedy będzie mniejszy błąd dla dwóch z możliwych ustawień bitu U2X w rejestrze UCSR0B.
    Możesz łatwo sprawdzić nawet w symulatorze czy ustawia rejestr UBRR poprawnie.
    Każdy kalkulator pokaże Tobie że dla 4MHz i baud 9600 w rejestrze powinno się znaleźć to co w kodzie poniżej.
    Czasami, po jakichś bootloaderach z innym baudrate, trzeba bit U2X ustawić samemu.
    [ATMEGA64][BASCOM] Niezgodność prędkości UART 9600 z FT230XS - jak ustawić?
    ...a może masz nowy procesor w którym domyślnie/fabrycznie włączony jest FuseBit "Atmega103C" i go nie wyłączyłeś? Wtedy zachodzi w procesorze kilka zmian...
REKLAMA