iVoVa
15-03-2011, 02:14 AM
#include<18F4520.h>
#use delay(clock=4000000)
#use FAST_IO(D)
void main()
{
int8 number;
setup_spi(SPI_MASTER );
while(1)
{
number = input_D();
spi_write(number);
}
}
#include<18F4520.h>
#use delay(clock=4000000)
#use FAST_IO( D)
void main()
{
int8 number;
setup_spi(SPI_SLAVE );
while(1)
{
number = spi_read();
output_D(num);
}
}
http://cB1.upanh.com/20.69.26957410.EsK0/spidesign.jpg
Mình dùng 2 PIC8F4520 giao tiếp SPI, Master nhận dữ liệu từ portB sau đó gởi đến Slaver, Slaver đọc dữ liệu và xuất ra lại PORTD.
Không hiểu sao ở PORTD của Slave nó không thay đổi giá trị khi mình thay đổi giá trị dữ liệu vào của Master.
Mình tìm hoài mà ko biết lỗi gì,xin nhờ giúp đỡ.
#use delay(clock=4000000)
#use FAST_IO(D)
void main()
{
int8 number;
setup_spi(SPI_MASTER );
while(1)
{
number = input_D();
spi_write(number);
}
}
#include<18F4520.h>
#use delay(clock=4000000)
#use FAST_IO( D)
void main()
{
int8 number;
setup_spi(SPI_SLAVE );
while(1)
{
number = spi_read();
output_D(num);
}
}
http://cB1.upanh.com/20.69.26957410.EsK0/spidesign.jpg
Mình dùng 2 PIC8F4520 giao tiếp SPI, Master nhận dữ liệu từ portB sau đó gởi đến Slaver, Slaver đọc dữ liệu và xuất ra lại PORTD.
Không hiểu sao ở PORTD của Slave nó không thay đổi giá trị khi mình thay đổi giá trị dữ liệu vào của Master.
Mình tìm hoài mà ko biết lỗi gì,xin nhờ giúp đỡ.