Ynt: mikroc usart3 interrupt problem

Başlatan Karamel, 09 Ağustos 2015, 22:49:32

Karamel

merhaba. mikroc for arm ile stm32f103vet6 microcontrollerimin usart pinlerinden interrupt ile veri alayim dedim. code larimi yazdim. usart1 ile calistirabildim. usart2 ilede calistirabildim. usart3 ile calistiramadim. USART3_CR1 un RXNEIE bitini enable edince. usart3 cokuyor. ne veri gonderebiliyor. nede veri alabiliyor. example code larim soyle.

init icersinde usart3 u acip interruptini enable ediyorum.

      UART3_Init(9600);   
      Delay_ms(100);

      // Uart3 interrupts enable ediliyor! 
      USART3_CR1.B5  = 1;                        // bu biti acinca USART3_Write(birseyler); seklinde gonderimde yapamiyoruz.           
      NVIC_IntEnable(IVT_INT_USART3);

void Usart3_RX() iv IVT_INT_USART3 ics ICS_AUTO
{     
      unsigned char  Rx_Buffer_3 = 0; 


      // Uart OK ise veriyi cekmeye basla!
      if (UART3_Data_Ready())
      Rx_Buffer_3 = UART1_Read();

      Heard_Led = ~Heard_Led;
}


ayni seyleri usart1 ve  usart2 icin denedim. calistilar. usart3 teki problem nedir? birde usart3 u advanced sekilde acmayida denedim. birsey degismedi.  :-\

mesaj birleştirme:: 09 Ağustos 2015, 23:16:54

bu arada usart3 pb10 ve pb11 e baglilar.

mesaj birleştirme:: 09 Ağustos 2015, 23:22:18

usart3 un receiver interrupt ozelligini acinca. USART3_CR1.B5  = 1; system normal calismaya basliyor.

biz veri gondermek istersek veya. bilgisayar veri gonderirse. takilip kaliyor. simdi bunu kesfettim. main e led blink yerlestirdim.

hic birsey yapmayinca led blink durmadan calisti. pc den birsey gonderdim. microcontroller takildi.

daha sonra led blink in sonuna usart3_write code unu yerlestirdim. led 1 kez blink yapti. sonra yine takildi. birseyler ters gidiyor  :-\

mesaj birleştirme:: 09 Ağustos 2015, 23:31:07

sorunu buldum! :)

copy paste yapmanin kurbani olmusum.


Rx_Buffer_3 = UART1_Read();

burada usart3 un interrupt functionunda usart1 read yapiliyor. sorunum buymus. simdi cozdum! :)