Arama butonu
Bu konudaki kullanıcılar: 1 misafir
17
Cevap
1099
Tıklama
0
Öne Çıkarma
PSoC için yardım !
K
16 yıl
Teğmen
Konu Sahibi

Selam Arkadaşlar,

PSoC ile bilgisayar arasında seri iletişim kurmak istiyorum ancak konuyla ilgili hiçbir döküman bulamadım ve PSoC ile daha önce hiçbir proje gerçekleştirmedim.
Şu ana kadar PIC serisi ile çok fazla çalışmış olmama rağmen PSoC'a geçişimde biraz afalladım
Eğer elinizde uart iletişim için bir döküman veya örnek proje varsa çok işime yarayacaktır.
PSoC 5.0 ile CY8C29466 çipi ile çalışıyorum ancak PSoC 4.4'e uygun bir döküman veya projede işimi görecektir.

PSoC konusunda bilgisi olanlar lütfen yardım etsin.



R
16 yıl
Yarbay

CY8C27443 için bir uart örneği
http://rapid_share.com/files/151339714/R2.rar.html
_ yi kaldırın!

unutmadan PC tarafındaki haberleşme, RS232 biliyorsun. PSoC ise sadece protokolu çözebilir yani uart haberleşmesini. bu yüzden PC ile PSoC arasına bir dönüştürücü şart.

ufak bir not: PSoC uart modülü clock frekansını 8 e bölersen baud rate i bulabilirsin.

unutmadan örnek uart interrupt ı ile yapılmış...
kolay gelsin...





< Bu mesaj bu kişi tarafından değiştirildi r2d2droids -- 6 Ekim 2008; 9:19:14 >
Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

cevap için çok sağol.

birşeyler yaptım ama çalıştıramadım bi türlü.

yaptıkça yazmaya devam edeceğm. arkadaşlarda faydalanır.


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

istersen proje dosyasını upload ediver. bir göz atalım...


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

http://rapidshare.com/files/153394199/UART_28Pin_PSoCDeveloper_Confugiration_.rar.html

dosyada çalıştırmak istediğim full proje var.
çipin 2_0 portu tx 2_1 portu rx kabul ederek bir rs232 level converter devresi ile çalıştımaya uğraşıyorum.
yanlışım varsa düzeltin ama ilk enerjş aldığında bana welcome ekranını vermesi gerekiyor.
welcome ekranını sürekli tekrarlaması için while döngüsü içine alarakta denemiştim gerçi.

ancak gelen giden hiçbirşey yok.


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

http://rapidshare.com/files/153501292/UART_28Pin_PSoCDeveloper_Confugiration_.rar.html
modifiye ettim denermisin?
http://rapidshare.com/files/153501432/PSoCEVAL1_Schem.pdf.html
bahsettiği 3210 eval boardun şematiği de yukarıdaki linkte rs232 bağlantı şeklinide görebilirsin.
yanlız hyperterminal parametrelerinin
Bits per second= 19200
Data bits= 8
Parity= None
Stop Bits= 1
Flow Control= None

olduğundan emin olmak lazım.
kolay gelsin...


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

Teşekkürler yardımın için, bu akşam deneyeceğim.
Çok merak ettim neyi modifiye ettin ?
Nerede hata yapmışım ?


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

welcome screen c kodlarında tanımlıydı bende C kodlarını aktif ettim. başka bişey yapmadım...


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

kodlarda farklılık göremiyorum.

nerden yaptın acaba ?


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

header klasörü altında language.inc adlı bir dosya mevcut. C_LANG değişkenini 1 yaparsan program C kodları üzerinden derlenir aksi halde asm kodları geçerlidir...


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

evet, denedim.
gönderdiğim komutu geri alıyorum.
yardımın için sağol.

ama ilk enerji aldığında welcome ekranı bozuk karakterlerle geliyor. sanki baudrate uyuşmuyor gibi ama gönderdiğim komutları almada sıkıntı yaşamıyorum.


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

baudrate den kaynaklanan bir sıkıntı olduğunu düşünüyorsan, buna yol açabilecek nedenlerden biri olan osilatörün kararlı hale gelmesi beklemen lazım. mesala bunun için M8C_EnableGInt ; ifadesinden önce bir gecikme koyabilirsin.
bunun dışında karakterlerin düzgün gitmesini engelleyecek bir neden aklıma gelmiyor, şimdilik...:(


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

welcome screen'e while döngüsüne verdim ve sürekli bozuk karakter alıyorum.
sanırım iyi haber değil.


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

peki hangi karakterler bozuk görünüyor???


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

Hepsi

//----------------------------------------------------------------------------
// C main line
//----------------------------------------------------------------------------

#include <m8c.h> // part specific constants and macros
#include "PSoCAPI.h" // PSoC API definitions for all User Modules

void welcomeScreen(void);

void mainc()
{
// Parameter pointer
char *strPtr;

// Initialize receiver/cmd buffer
UART_CmdReset();

//Enable RX interrupts
UART_IntCntl(UART_ENABLE_RX_INT);
//set parity as zero and start the UART
UART_Start(UART_PARITY_NONE);

//Turn on interrupts
M8C_EnableGInt ;

//Clear the screen in Hyper terminal window
UART_PutChar(12);
welcomeScreen();

while(1) {
if (UART_bCmdCheck()) { // Wait for command
if(strPtr = UART_szGetParam()) { // More than delimiter?
UART_CPutString("\n\rFound valid command\r\nCommand =>");
UART_PutString(strPtr); // Print out command
UART_CPutString("<\r\nParamaters:\r\n");

while(strPtr = UART_szGetParam()) { // loop on each parameter
UART_CPutString(" <");
UART_PutString(strPtr); // Print each parameter
UART_CPutString(">\r\n");
}
}
UART_CmdReset();
welcomeScreen();
}
welcomeScreen();
}
}

void welcomeScreen(void)
{
UART_CPutString("\n\rWelcome to PSoC UART test program. V1.0");
UART_CPutString("\n\rEnter a command and some parameters (delimited by space) and press <ENTER>");
UART_CPutString("\n\r Eg: foobar aa bbb cc (MAX : 32 chars)");
UART_CPutString("\n\r");


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay


yok canım daha neler.
parametrelere bakın. com port parametreleri
Bits per second= 19200
Data bits= 8
Parity= None
Stop Bits= 1
Flow Control= None
şeklinde olmalı...


Bu mesaja 1 cevap geldi.
K
16 yıl
Teğmen
Konu Sahibi

evet, haklıymışsın

max232nin 5vu olmazsa yapar tabi boyle seyler.


Bu mesaja 1 cevap geldi.
R
16 yıl
Yarbay

bu iyi haber. sizden bir kaç soru daha gelir tahminimce çünki PSoC içerisinde daha onlarca boş blok var :)
kolay gelsin...



DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.