Picproje Elektronik Sitesi

DERLEYİCİLER => Diğer Derleyiciler => Konuyu başlatan: chorckbey - 31 Temmuz 2012, 11:32:29

Başlık: Mikro C USART hexedecimal gönderme
Gönderen: chorckbey - 31 Temmuz 2012, 11:32:29
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...
Başlık: Ynt: Mikro C USART hexedecimal gönderme
Gönderen: LukeSkywalker - 31 Temmuz 2012, 11:50:42
Tabiki gönderebilirsiniz. Yapmanız gereken şey sadece usart_write('x'); demeniz.
Başlık: Ynt: Mikro C USART hexedecimal gönderme
Gönderen: Ali_54 - 08 Ağustos 2012, 16:23:13
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?
Başlık: Ynt: Mikro C USART hexedecimal gönderme
Gönderen: LukeSkywalker - 08 Ağustos 2012, 16:25:53
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
}
}
Başlık: Ynt: Mikro C USART hexedecimal gönderme
Gönderen: Ali_54 - 08 Ağustos 2012, 16:51:34
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
}
Başlık: Ynt: Mikro C USART hexedecimal gönderme
Gönderen: LukeSkywalker - 08 Ağustos 2012, 17:14:41
Hangi işlemciyi kullanıyorsanız onun datasheetine bakmalısınız bu iş için.