Mikro C USART hexedecimal gönderme

Başlatan chorckbey, 31 Temmuz 2012, 11:32:29

chorckbey

Merhaba Arkadaşlar

Mikroc de seriportdan hexedecimal göndermek istiyorum mesela ccs pic de printf("%LX", read_adc()); şeklinde gönderebiliyorum bu şekilde mikroc de gönderme durumu varmı dır veya bunun başka bir yolu var mı? yardımcı olacak arkadaşlara şimdiden teşekkür ederim...

LukeSkywalker

Tabiki gönderebilirsiniz. Yapmanız gereken şey sadece usart_write('x'); demeniz.

Ali_54

sayın maytere birşey sormak istiyorum,

ben seri porttan komple string çekemiyorum.  mesela sadece tek karakter olarak;

char uart_rd;

 if(uart_data_ready())
    {
        uart_rd = uart1_read();
        uart1_write(uart_rd);
        glcd_write_char(uart_rd,0,7,1);
    }

gibisinden çalışıyo. ama yalnız bir karakter  basıyor.

char msg[22]; gibi bir değişkene stringi direk alanbilen bir kod var mıdır? mesela ccs c de getc diye bi komut vardı yanlış hatırlamıyosam döngü kurmadan tek komutla aldırıyordu. ve bunu EUSART interrupt la yazılımı meşgul etmeden yapabilir miyim acaba?
1 harf öğretenin 4 gün kölesi olurum.

LukeSkywalker

mikroC Pro 'da var öyle bir komut. Ama eski MikroC'de yok.
Help'de şöyle göstermiş:
UART1_Init(4800);                         // initialize UART1 module
Delay_ms(100);

while (1) {
  if (UART1_Data_Ready() == 1) {          // if data is received 
    UART1_Read_Text(output, "OK", 10);    // reads text until 'OK' is found
    UART1_Write_Text(output);             // sends back text 
 }
}

Ali_54

maytere mikroc pro kulanıyorum bende. verdiğiniz help örneğini hemen denedim devre yanımda güzel çalıştı.
UART1_Read_Text(msg, "OK", 10);
       UART1_Write_Text(msg);
       glcd_write_text(msg,0,7,1);

test ok  :)
teşekkür ediyorum. peki bunu interrupt tan dogru nasıl yapabilirim?

eusart kesmesinin bayrak adını falan bilemiyorum kodda. kısa bi kod blogu var mı?
void interrupt()
{
bayrak sıfırlama?
}

void main()
{
kesmeyi tanımlama filan? gbi
}
1 harf öğretenin 4 gün kölesi olurum.

LukeSkywalker

Hangi işlemciyi kullanıyorsanız onun datasheetine bakmalısınız bu iş için.