尊敬的马老师,学生在使用SPI写ISD4004的过程中遇到个问题
//*******************清除SPI中断标志位*********************************void del_flag(void)
{
temp = SPSR;
temp = SPDR; //清空SPI,和中断标志,使SPI空闲
}
//************************************************************
//****************发送命令******************************
void send_cmd(uchar command)
{
OB4=0; // ss脚应为低电平,达到片选的效果
SPDR = 0x00; // 传送命令到SPI寄存器
loop_until_bit_is_set(SPSR,SPIF); // 等待数据传送完?
del_flag();
SPDR = 0x00; // 传送命令到SPI寄存器
loop_until_bit_is_set(SPSR,SPIF); // 等待数据传送完?
del_flag();
SPDR =command ; // 传送命令到SPI寄存器
loop_until_bit_is_set(SPSR,SPIF); // 等待数据传送完?
del_flag();
OB4=1;
}
不知道这样写能不能达到连续发送三个字节的效果?因为我不能检测出来他究竟能不能这样发 参考《M128》书的第5章。
页:
[1]