AVR,SPI模拟的怎么调通啊
AVR,SPI模拟的怎么调通啊?没JTAG接口,只有数码管显示? 本帖最后由 litao31415 于 2012-12-27 21:40 编辑用单片机模拟SPI其实就是控制IO口模拟SPI时序,只要搞懂其时序即可,但是AVR有硬件Spi没必要用模拟的,没JTAG,可以用串口调试
litao31415 发表于 2012-12-27 21:37 static/image/common/back.gif
用单片机模拟SPI其实就是控制IO口模拟SPI时序,只要搞懂其时序即可,但是AVR有硬件Spi没必要用模拟的,没JT ...
/*-----------RN8209读写函数-----------------------*/
void Reset_RN8209(void)
{
SET8209;
PORTB&=~(1<<RN8209_SCK);//时钟拉低
CLR8209;//拉低
}
voidWrite_RN8209_Byte(uint8wdata)
{
uint8i ;
PORTB&=~(1<<RN8209_SCK);//一开始尽可能给SCK为0
for(i=0;i<8;i++)
{
if(wdata&0x80)//先发高位,上升沿
{
PORTB|=(1<<RN8209_MOSI);
}
else
{
PORTB&=(1<<RN8209_MOSI);
}
PORTB|=(1<<RN8209_SCK);//时钟拉高
wdata<<=1;
PORTB&=~(1<<RN8209_SCK);//时钟拉低
}
}
uint8 Read_RN8209_Byte(void)
{
uint8 i,rdata;
for(i=0;i<8;i++)
{
if(PINB&(1<<RN8209_MISO))
{
rdata|=0x01;
}
PORTB|=(1<<RN8209_SCK); //读数据时为下降沿读出
PORTB&=~(1<<RN8209_SCK);//时钟拉低
rdata<<1;
}
returnrdata;
} bbxyliyang08 发表于 2012-12-27 21:40
/*-----------RN8209读写函数-----------------------*/
void Reset_RN8209(void)
{
大哥,用STM32怎么模拟SPI啊 路过路过顶顶
页:
[1]