Picproje Elektronik Sitesi

DERLEYİCİLER => MikroC - PIC => Konuyu başlatan: dex25 - 11 Aralık 2014, 23:54:26

Başlık: Micro c uart
Gönderen: dex25 - 11 Aralık 2014, 23:54:26
merhaba arkadaşlar c# dan gelen string bir ifadeyi micro c (uart)  ile nasıl lcd 'ye uygun hale getirebilirim.ekranda alakasız karakterler çıkıyor .
if(UART1_Data_Ready()){
uart_rd=UART1_Read();
UART1_Write(uart_rd);
Lcd_Chr_Cp(uart_rd);}
Başlık: Ynt: Micro c uart
Gönderen: r32mp - 12 Aralık 2014, 19:36:52
uart üzerinden gelen veriyi karaktere dönüştürmelisin.

Mc içerisinde "conversions" kütüphanesini ekle.

Örnek:



char gelenveri;
if(UART1_Data_Ready()){
uart_rd=UART1_Read();

ByteToStr(uart_rd ,gelenveri)
Lcd_Out(1,1,gelenveri);

UART1_Write(uart_rd);
}

Başlık: Ynt: Micro c uart
Gönderen: dex25 - 12 Aralık 2014, 21:29:11
İsiste sorun yok gerçekte kurdum devreyi isisteki gibi imleç cikiyor.fakat alakasiz karakterler yaziyor .isiste düzgün yaziyor.
Başlık: Ynt: Micro c uart
Gönderen: Gökhan BEKEN - 12 Aralık 2014, 23:33:29
Arkadaşlar MicroC değil MikroC olacak.
Başlık: Ynt: Micro c uart
Gönderen: r32mp - 12 Aralık 2014, 23:43:44
isis'e fazla takılma. Sen program içerisinde "uart_rd" değişkenini ne olarak tanımladın ?  Wordtostr'yi de dene.
Başlık: Ynt: Micro c uart
Gönderen: dex25 - 13 Aralık 2014, 00:44:41
// LCD module connections
sbit LCD_RS at RB0_bit;
sbit LCD_EN at RB1_bit;
sbit LCD_D4 at RB2_bit;
sbit LCD_D5 at RB3_bit;
sbit LCD_D6 at RB4_bit;
sbit LCD_D7 at RB5_bit;

sbit LCD_RS_Direction at TRISB0_bit;
sbit LCD_EN_Direction at TRISB1_bit;
sbit LCD_D4_Direction at TRISB2_bit;
sbit LCD_D5_Direction at TRISB3_bit;
sbit LCD_D6_Direction at TRISB4_bit;
sbit LCD_D7_Direction at TRISB5_bit;
// End LCD module connections
char uart_rd;
void main() {
UART1_Init(9600);
Lcd_Init();
Lcd_Cmd(_LCD_CLEAR);
while(1){
if(UART1_Data_Ready()){     // Şayet USART'dan veri geldi ise,
uart_rd=UART1_Read(); // Alınan veriyi oku, uart_rd'ye al,
if(uart_rd=='a'){Lcd_Cmd(_LCD_CLEAR);} // lcd display ekranını sil
else{UART1_Write(uart_rd); // ve USART'a veriyi yaz
Lcd_Chr_Cp(uart_rd);}// Alınan veriyi LCD ekranına gönder
}
}
}

wordtostr mikroc de nasıl kullanılır.
Başlık: Ynt: Micro c uart
Gönderen: r32mp - 14 Aralık 2014, 11:41:03
C# üzerinde baud ratue'i kontrol edin hız farklılıklarından dolayı yapıyor olabilir. C# yerine Mikro c'nin Usart terminalini kullanarak veri gönderin. 

Başlık: Ynt: Micro c uart
Gönderen: dex25 - 14 Aralık 2014, 12:56:43
C# dan 9600 baud ile yollanıyor.c# dan yollamak zorundayım.4 gün kaldı :S
Başlık: Ynt: Micro c uart
Gönderen: r32mp - 14 Aralık 2014, 20:19:19
Tamam da başka bir terminal üzerinden veri gönderdiğinde işlemci tarafında doğru karakterleri görebiliyormusun ?
Başlık: Ynt: Micro c uart
Gönderen: dex25 - 14 Aralık 2014, 22:44:21
usart terminalinden yolladım.aynı şekilde yine alakasız karakterler çıktı.mikro c kodunda sorun var

mesaj birleştirme:: 14 Aralık 2014, 22:56:30

devrede 4MHZ kristal kullandım. 1nF kondansatörleri 22pF'lerin  yerine koyarak denedim. her karakterde kare işareti çıktı.22pF koydugumda Ω ü ∑ vb işaretler çıkıyor.16F877 için 22pF yazıyor datashhette sorun burdan kaynaklı olabilir