没有合适的资源?快使用搜索试试~ 我知道了~
资源推荐
资源详情
资源评论
AVR(Mega8)的study:10、SPI读写FLASH
这次还是说SPI读写FLASH(S25FL04),不过这次是直接使用Mega8的SPI口来读写FLASH,其速度比模拟SPI的要快很多。
程序如下:
#define SI 4
#define SO 3
#define SCLK 5
#define CS 2
#define WP 1
#define PORT1 PORTB
#define PIN1 PINB
#define DDR1 DDRB
#define WP_0 PORT1&=~(1<#define WP_1 PORT1|=(1<#define CS_0 PORT1&=~(1<#define CS_1 PORT1|=(1<
void Spi_init(void)
{
DDR1=((1<SPCR=((1<WP_1;
}
void Spi_MT(uint8 data)
{
SPDR=data;
while(!(SPSR&(1<}
这次还是说SPI读写FLASH(S25FL04),不过这次是直接使用Mega8的SPI口来读写FLASH,其速度比模拟SPI的要快很多。
程序如下:
#define SI 4
#define SO 3
#define SCLK 5
#define CS 2
#define WP 1
#define PORT1 PORTB
#define PIN1 PINB
#define DDR1 DDRB
#define WP_0 PORT1&=~(1<#define WP_1 PORT1|=(1<#define CS_0 PORT1&=~(1<#define CS_1 PORT1|=(1<
void Spi_init(void)
{
DDR1=((1<SPCR=((1<WP_1;
}
void Spi_MT(uint8 data)
{
SPDR=data;
while(!(SPSR&(1<}
uint8 Spi_MR()
{
uint8 data;
data=SPDR;
SPDR=data;
while(!(SPSR&(1<return SPDR;
}
/***************************************************************************************
读取一个字节
*****************************************************************************************/
uint8 Read_abyte(uint32 address)
{
uint8 data;
uint8 address2,address1,address0;
address2=(uint8)(address>>16);
address1=(uint8)(address>>8);
address0=(uint8)address;
while((Read_RDSR())&0x01);
CS_0;
Spi_MT(0x03);
Spi_MT(address2);
Spi_MT(address1);
Spi_MT(address0);
data=Spi_MR();
CS_1;
return data;
}
/***************************************************************************************
{
uint8 data;
data=SPDR;
SPDR=data;
while(!(SPSR&(1<return SPDR;
}
/***************************************************************************************
读取一个字节
*****************************************************************************************/
uint8 Read_abyte(uint32 address)
{
uint8 data;
uint8 address2,address1,address0;
address2=(uint8)(address>>16);
address1=(uint8)(address>>8);
address0=(uint8)address;
while((Read_RDSR())&0x01);
CS_0;
Spi_MT(0x03);
Spi_MT(address2);
Spi_MT(address1);
Spi_MT(address0);
data=Spi_MR();
CS_1;
return data;
}
/***************************************************************************************
剩余7页未读,继续阅读
jiujiaobusiniao
- 粉丝: 48
- 资源: 4
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- IMG_20240425_120538.jpg
- My Complete Genome_6k Base-Pairs of Phenotype SNPs_Complete Raw Data.zip
- qt 的mqtt测试demo
- 移动应用开发教程-zip.zip
- mosquitto-2.018-install-windows-x64
- FTPServer FTP 服务器,绿色免安装,单文件
- 梦畅语音点名软件,上课点名
- 利用ADNI数据集和标签,在tensorflow框架上使用tensorlayer接口,通过架构u-net实现海马体的分割
- Kutools for Word v9.0 office word 插件
- 修复Windows 10 LTSC 2021资源占用率高
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
- 1
- 2
前往页