PDA

توجه ! این یک نسخه آرشیو شده میباشد و در این حالت شما عکسی را مشاهده نمیکنید برای مشاهده کامل متن و عکسها بر روی لینک مقابل کلیک کنید : 2 تا سوال درباره ccs



lpln852
25-01-2011, 11:20
1- کسی کتابخونه برای ENC28J60 داره ؟؟؟؟ برای CCS

2- چطور میشه با spi-xfer اطلاعات رو دریافت کرد ؟؟؟؟؟
مشکل من با این دستور این هست که spi چه چیزی دریافت کنه یا نکنه یا اصلا وصل نباشه AA دریافت میکنه

1nafar
25-01-2011, 17:33
-
کسی کتابخونه برای ENC28J60 داره ؟؟؟؟ برای CCS
کتابخونه ی خاصی نداره شما میتونید سایر کتابخونه های نوشته شده رو به ccs تغییر بدید ( برای کد ویژن و winavr کتابخونش هست )

چطور میشه با spi-xfer اطلاعات رو دریافت کرد ؟؟؟؟؟
اول باید پایه های که برای spi استفاده میشه رو پیکربندی کنید :
مثلا :

#use SPI(
DO = PIN_B0,
DI = PIN_B1,
CLK = PIN_B2,
baud = 100000,
BITS = 8,
LSB_FIRST,
SAMPLE_RISE,
stream = SPI_PORT0
)

بعد از دستور استفاده کنید :


{

SPI_XFER(SPI_PORT0, 0x18);
SPI_XFER(SPI_PORT0, address);
data=SPI_XFER(SPI_PORT0, 0);

}

این دستور برای ساختن spi نرم افزار استفاده میشه و دستورات برای استفاده از پورت اصلی spi موجود در میکرو به فرم زیر هستند :



setup_spi(SPI_MASTER | SPI_MODE_0 | SPI_CLK_DIV_4);
set chip select pin high/low //depending on target chip logic
spi_write(address); // send the address of what you want to read or write
value=spi_read(0x00); // send dummy byte to read data from address sent above
set chip select pin low/ high //depending on target chip logic

و .....

lpln852
25-01-2011, 17:47
با تشکر از پاسخ شما ولی باز هم نشد :0013:

این برنامه من هست

گیرنده




#include <16f877.h>




#use delay (xtal=8,000,000)


#use spi( do = pin_c5, di = pin_c4, clk = pin_c2, enable = pin_c3, baud = 100000, slave , bits = 16,msb_first,stream =port0 )
#define use_portb_lcd true
#include <lcd.c>


void main(void)
{
int16 i;
lcd_init();
while(true)
{


i=spi_xfer(port0,0,16);
lcd_gotoxy(1,1);
lcd_putc("hex rec is");
lcd_gotoxy(1,2);
printf(lcd_putc,"%lx ",i);
}
}





با این کار هایی که گفتیید 0000 نشون میده





فرستنده





#include <16f877.h>






#use delay (xtal=8,000,000)


#use spi(di=pin_c4, do=pin_c5, clk=pin_c2, enable=pin_c3, bits=16)


#define use_portb_lcd true

#include <lcd.c>








void main(void)


{

long i;

lcd_init();
while(true)
{
for(i=0xabc5;i<0xffff;i++)
{
spi_xfer(i);
lcd_gotoxy(1,1);
lcd_putc("hex send is");
lcd_gotoxy(1,2);
printf(lcd_putc,"%lx",i);
delay_ms(1000);
}
}







}






برنامه ها و فایل proteus رو پیوست کردم
ورژن PROTEUS
PROTEUS 7.7 SP2





و چطور میتونم کتابخونه ها رو تبدیل کنم ؟؟؟؟

lpln852
30-01-2011, 14:59
کسی نیست جواب بده :sa::sa::sa::0013:

lpln852
02-02-2011, 20:47
جواب بدید :sa:cry:::unh:

1nafar
03-02-2011, 09:57
سلام
اگه توی بستن مدار و استفاده از دستورات دقت کنید خیلی سریع تر جواب میگیرید .