1- کسی کتابخونه برای ENC28J60 داره ؟؟؟؟ برای CCS
2- چطور میشه با spi-xfer اطلاعات رو دریافت کرد ؟؟؟؟؟
مشکل من با این دستور این هست که spi چه چیزی دریافت کنه یا نکنه یا اصلا وصل نباشه AA دریافت میکنه
1- کسی کتابخونه برای ENC28J60 داره ؟؟؟؟ برای CCS
2- چطور میشه با spi-xfer اطلاعات رو دریافت کرد ؟؟؟؟؟
مشکل من با این دستور این هست که spi چه چیزی دریافت کنه یا نکنه یا اصلا وصل نباشه AA دریافت میکنه
ویرایش توسط lpln852 : 25-01-2011 در ساعت 11:24
-کتابخونه ی خاصی نداره شما میتونید سایر کتابخونه های نوشته شده رو به ccs تغییر بدید ( برای کد ویژن و winavr کتابخونش هست )کسی کتابخونه برای ENC28J60 داره ؟؟؟؟ برای CCS
اول باید پایه های که برای spi استفاده میشه رو پیکربندی کنید :چطور میشه با spi-xfer اطلاعات رو دریافت کرد ؟؟؟؟؟
مثلا :
[PHP]#use SPI(
DO = PIN_B0,
DI = PIN_B1,
CLK = PIN_B2,
baud = 100000,
BITS = 8,
LSB_FIRST,
SAMPLE_RISE,
stream = SPI_PORT0
)[/PHP]
بعد از دستور استفاده کنید :
[PHP]{
SPI_XFER(SPI_PORT0, 0x18);
SPI_XFER(SPI_PORT0, address);
data=SPI_XFER(SPI_PORT0, 0);
}[/PHP]
این دستور برای ساختن spi نرم افزار استفاده میشه و دستورات برای استفاده از پورت اصلی spi موجود در میکرو به فرم زیر هستند :
[PHP]
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
[/PHP]
و .....
با تشکر از پاسخ شما ولی باز هم نشد
این برنامه من هست
گیرنده
#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 : 25-01-2011 در ساعت 18:20
سلام
اگه توی بستن مدار و استفاده از دستورات دقت کنید خیلی سریع تر جواب میگیرید .