Stm32F4 Rs232 Sorunu

Başlatan enis, 01 Ekim 2014, 09:49:23

enis

Öncelikle merhaba Stm32F407VGT Discovery bord aldım fakat seri haberleşme yapamıyorum.Yazdığım kod aşağıda yardımcı olursanız sevinirim şimdiden teşekkürler.

#define led Gpiog_Odr.b13
char uart[14]="Merhaba_Dunya";
void main() {
Gpio_Digital_Output(&Gpiog_Odr,_Gpio_Pinmask_13);
  UART1_Init(9600);
  Delay_ms(100);
  UART1_Write_Text("Start");
  UART1_Write(13);
    UART1_Write(10);
  while (1) {
      UART1_Write_Text(uart);
      led=~led;
      delay_ms(500);
   }
  }




PA9 ve PA10'a RS232'nin TX ve RX'ini bağladığım zaman haberleşemiyorum.Poğramın döngüye girip çıktığını koyduğum led ile takip ediyorum fakat veri alış verişi yapamadım yardımcı olursanız sevinirim.

EMP_Otto

Bu işler zordur,özveri ister...

yldzelektronik

Kişinin başına gelen hayır Allah'tandır. Kişinin başına gelen şer nefsindendir. Nefislerimizle kendimize zulüm ediyoruz.

LukeSkywalker

Alıntı yapılan: enis - 01 Ekim 2014, 09:49:23
Öncelikle merhaba Stm32F407VGT Discovery bord aldım fakat seri haberleşme yapamıyorum.Yazdığım kod aşağıda yardımcı olursanız sevinirim şimdiden teşekkürler.

#define led Gpiog_Odr.b13
char uart[14]="Merhaba_Dunya";
void main() {
Gpio_Digital_Output(&Gpiog_Odr,_Gpio_Pinmask_13);
  UART1_Init(9600);
  Delay_ms(100);
  UART1_Write_Text("Start");
  UART1_Write(13);
    UART1_Write(10);
  while (1) {
      UART1_Write_Text(uart);
      led=~led;
      delay_ms(500);
   }
  }




PA9 ve PA10'a RS232'nin TX ve RX'ini bağladığım zaman haberleşemiyorum.Poğramın döngüye girip çıktığını koyduğum led ile takip ediyorum fakat veri alış verişi yapamadım yardımcı olursanız sevinirim.

Uart2'yi deneyin.

kageja

#4
Arkadaşım aynı sorun bende de vardı sana tecrübelerimi aktarayım

İlk olarak USART 1 kullanıyorsan P9 ve PA10 pinini kullanma çünkü PA9 piniyanlış hatırlamıyorsam bir donanımımn VBUS pini ile çakışıyor zaten PA9 pinine kablı taktığında LD7 nin (JAK girişinin yanında) yeşil yeşil yandığını göreceksin o sebepten PB6 ve PB7 pinini kullan

İkinci Husus bir ttl vb. bir dönüştürücü kullanıyorsan önce dönüştürücünün RX TX bacaklarını kısa devre yap ve terminal programı ile veri göderip almayı dene
Daha sonra STM'in TX pinini Dönüştürücünün veya karşıdaki cihaz her neyse onun RX pinine STM'in RX pinin karşidaki donanımın TX pinine bağlıyacaksın bu ayarları kontrol et

Hala Hata var ise keil de programı aç ve debug et PB6 PB7 hangi pini kullanmışşsan WATCH kullanarak iligi registerin ilgili alternatif fonksiyonunu belirleyen biti bul ve değeri doğru mu değilmi bak yanlış ise debugtan çık doğrudan register üstünde atama yaparak o biti set et (ÖRNEK: GPIOA->AFR[1]=0x0007700) gibi

Hadi kolay gelsin

diot

seri port 1 in giriş çıkış bacakları başka iş için kullanılıyor kitte. seriport 2 yi kullanınız.

kageja

#6
sevgili diot USART 1 in Pb6 ve PB7 nolu bacaklarını kullansak sıkıntı olurmu ben olmaz diye tahmin ediyorum olursa neden olur. Zira ben USART 1 PB 6 dan veri gönderiyorum