Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => KEIL => Konuyu başlatan: iguruz - 25 Ocak 2011, 16:12:57

Başlık: STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?
Gönderen: 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

Başlık: Ynt: STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?
Gönderen: CLR - 25 Ocak 2011, 17:14:14
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

Başlık: Ynt: STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?
Gönderen: 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.
   
Başlık: Ynt: STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?
Gönderen: CLR - 26 Ocak 2011, 10:37:57
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.
Başlık: Ynt: STM32103FRB ARM, 300 baudrate nasıl haberleştiriz ?
Gönderen: iguruz - 26 Ocak 2011, 15:05:16
??? Teşekkurler