MCU的GPIO模拟SPI源代码汇总.docx

上传人:b****7 文档编号:10131953 上传时间:2023-02-08 格式:DOCX 页数:10 大小:14.43KB
下载 相关 举报
MCU的GPIO模拟SPI源代码汇总.docx_第1页
第1页 / 共10页
MCU的GPIO模拟SPI源代码汇总.docx_第2页
第2页 / 共10页
MCU的GPIO模拟SPI源代码汇总.docx_第3页
第3页 / 共10页
MCU的GPIO模拟SPI源代码汇总.docx_第4页
第4页 / 共10页
MCU的GPIO模拟SPI源代码汇总.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

MCU的GPIO模拟SPI源代码汇总.docx

《MCU的GPIO模拟SPI源代码汇总.docx》由会员分享,可在线阅读,更多相关《MCU的GPIO模拟SPI源代码汇总.docx(10页珍藏版)》请在冰豆网上搜索。

MCU的GPIO模拟SPI源代码汇总.docx

MCU的GPIO模拟SPI源代码汇总

MCU的GPIO模拟SPI源代码

写程序:

voidSPIx_WriteByte(u8TxData

{

u8j=0;

SPI_FLASH_CLK_LOW(;//clk=0

if(TxData&0x80

{SPI_FLASH_DI_HIGH(;}//mosi=1

else

{SPI_FLASH_DI_LOW(;}//mosi=0

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1,一个上升沿写入一位

for(j=0;j<5;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0

if(TxData&0x40

{SPI_FLASH_DI_HIGH(;}//mosi=1

else

{SPI_FLASH_DI_LOW(;}//mosi=0

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;

if(TxData&0x20

{SPI_FLASH_DI_HIGH(;}//mosi=1else

{SPI_FLASH_DI_LOW(;}//mosi=0for(j=0;j<3;j++;//延时SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;

if(TxData&0x10

{SPI_FLASH_DI_HIGH(;}//mosi=1else

{SPI_FLASH_DI_LOW(;}//mosi=0for(j=0;j<3;j++;//延时SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;

if(TxData&0x08

{SPI_FLASH_DI_HIGH(;}//mosi=1else

{SPI_FLASH_DI_LOW(;}//mosi=0for(j=0;j<3;j++;//延时SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;

if(TxData&0x04

{SPI_FLASH_DI_HIGH(;}//mosi=1else

{SPI_FLASH_DI_LOW(;}//mosi=0for(j=0;j<3;j++;//延时SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;

if(TxData&0x02

{SPI_FLASH_DI_HIGH(;}//mosi=1else

{SPI_FLASH_DI_LOW(;}//mosi=0for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_LOW(;//clk=0

if(TxData&0x01

{SPI_FLASH_DI_HIGH(;}

else

{SPI_FLASH_DI_LOW(;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0}

读程序0x80==0x80

u8SPIx_ReadByte(void

{

u8i=0,j=0;

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1

if(GPIOC->IDR&0x80==0x80

{i=i+0x80;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0,下降沿读数for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80

{i=i+0x40;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80

{i=i+0x20;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80

{i=i+0x10;}

for(j=0;j<3;j++;//延时

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80{i=i+0x08;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80{i=i+0x04;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80{i=i+0x02;}

for(j=0;j<3;j++;//延时

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x80==0x80

{i=i+0x01;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

returni;

}

读程序0x40==0x40

u8SPIx_ReadByte(void

{

u8i=0,j=0;

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1

if(GPIOC->IDR&0x40==0x40

{i=i+0x80;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0,下降沿读数for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x40;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x20;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x10;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x08;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x04;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40{i=i+0x02;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x40==0x40

{i=i+0x01;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

returni;

}

读程序0x20==0x20

u8SPIx_ReadByte(void

{

u8i=0,j=0;

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1

if(GPIOC->IDR&0x20==0x20

{i=i+0x80;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0,下降沿读数for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

{i=i+0x40;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x20==0x20{i=i+0x20;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x20==0x20{i=i+0x10;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

{i=i+0x08;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x20==0x20{i=i+0x04;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x20==0x20{i=i+0x02;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x20==0x20

{i=i+0x01;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

returni;

}

读程序0x10==0x10

读程序0x08==0x08

读程序0x04==0x04

读程序0x02==0x02

u8SPIx_ReadByte(void

{

u8i=0,j=0;

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_HIGH(;//clk=1

if(GPIOC->IDR&0x02==0x02

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;//clk=0,下降沿读数for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02

{i=i+0x40;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02

{i=i+0x20;}

for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02{i=i+0x08;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02{i=i+0x04;}

for(j=0;j<3;j++;//延时SPI_FLASH_CLK_LOW(;

for(j=0;j<5;j++;

SPI_FLASH_CLK_HIGH(;

if(GPIOC->IDR&0x02==0x02

{i=i+0x02;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//延时SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x02==0x02{i=i+0x01;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;returni;}读程序0x01==0x01u8SPIx_ReadByte(void{u8i=0,j=0;for(j=0;j<3;j++;SPI_FLASH_CLK_HIGH(;//延时//clk=1//延时if(GPIOC->IDR&0x01==0x01{i=i+0x80;}for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//clk=0,下降沿读数SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x40;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//延时SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x20;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//延时SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x10;}for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x08;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//延时SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x04;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;//延时SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x02;}for(j=0;j<3;j++;//延时

SPI_FLASH_CLK_LOW(;for(j=0;j<5;j++;SPI_FLASH_CLK_HIGH(;if(GPIOC->IDR&0x01==0x01{i=i+0x01;}for(j=0;j<3;j++;SPI_FLASH_CLK_LOW(;returni;}//延时

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 教学研究 > 教学计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1