串行数据输入单片机如何存储。

发布网友 发布时间:2022-04-23 07:24

我来回答

2个回答

热心网友 时间:2022-06-17 15:31

//读SPI接口读写程序
sbit MISO=P1^3; //SPI输入端口
sbit MOSI=P1^4; //SPI输出端口
sbitSCK =P1^5; //SPI时钟端口

void inerDelay_us(unsigned char n)
{
for(;n>0;n--)
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();
_nop_();

}

unsigned int SPI_RW(uint uchar)
{
uint bit_ctr;
for(bit_ctr=0;bit_ctr<8;bit_ctr++) // output 8-bit
{
MOSI = (uchar & 0x80); // output 'uchar', MSB to MOSI
uchar = (uchar << 1); // shift next bit into MSB..
SCK = 1; // Set SCK high..
inerDelay_us(1); //延时一定的时间
uchar |= MISO; // 读SPI口输入口
SCK = 0; // ..then set SCK low again
inerDelay_us(1) ; //延时一定的时间
}
return(uchar); // return read uchar
}

热心网友 时间:2022-06-17 15:32

弄一个移位寄存器,时钟边沿到来的时候采样并移位,一个完整的数据传输完毕后,再把结果保存到sspbuf

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com