STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?

Başlatan iguruz, 25 Ocak 2011, 16:12:57

iguruz

Merhaba
STM32103FRB ARM, 300 baudrate nasıl haberleştiriz. 1200 baudratin altında haberleşmeyi başaramadım.

baud_tmp =((unsigned int)(72000000/(16*300)))<< 4;
USART1->BRR=baud_tmp;
//çalışmıyor


CLR

Alıntı yapılan: iguruz - 25 Ocak 2011, 16:12:57
Merhaba
STM32103FRB ARM, 300 baudrate nasıl haberleştiriz. 1200 baudratin altında haberleşmeyi başaramadım.

baud_tmp =((unsigned int)(72000000/(16*300)))<< 4;
USART1->BRR=baud_tmp;
//çalışmıyor

Merhaba

Stm32 300baudrate'e düşemiyor çünkü baudrate registerine max 12bit tamsayı atılabiliyor yani, 0xFFF_F'e kadar
0xFFF kısmı tamsayı geri kalan F ise ondalık kısım, 300 baudrate için ondalık kısım 15000 olması gerekirki buda mumkün değil, dolayısıyla
bu baudrate kullanılamaz.

300 baud çok yavaş kalıyor yani

Knowledge and Experience are Power

iguruz

ConfigrasyondaWizarda  PLLMULL=PLLSRC*2
                                        PLLXTPRE=HES/2
olarak ayarkandıktan sonra
USART1->BRR=((unsigned int)(12000000/(16*300)))<<4;
300 baudrate iletişim sağlanmaktadır.
   

CLR

Alıntı yapılan: iguruz - 26 Ocak 2011, 10:36:53
ConfigrasyondaWizarda  PLLMULL=PLLSRC*2
                                        PLLXTPRE=HES/2
olarak ayarkandıktan sonra
USART1->BRR=((unsigned int)(12000000/(16*300)))<<4;
300 baudrate iletişim sağlanmaktadır.

İşlemci çalışma frekansını düşürürsen elbette çalışır.
Knowledge and Experience are Power

iguruz

??? Teşekkurler