📄 main.c
字号:
/************************
CA-M8X SPI口测试at45db161d程序
文件名:main.c
编译:WinAVR-20070525
硬件环境:CA-M8X 外接AT45DB161D电路
时钟:外部4MHz
打开的开关如下
S6(1,2) - 外部4MHz晶振连接
S5(5,6) - UART通信开关打开
芯艺设计室 2004-2007 版权所有
转载请保留本注释在内的全部内容
WEB: http://www.chipart.cn
Email: changfutong@sina.com
*******************************/
#include <avr/io.h>
#include <util/delay.h>
#include <avr/pgmspace.h>
#include <stdio.h>
#include "dataflash.h"
#define SET_YEL_LED PORTB&=~_BV(PB0)
#define SET_RED_LED PORTB&=~_BV(PB1)
#define CLR_YEL_LED PORTB|=_BV(PB0)
#define CLR_RED_LED PORTB|=_BV(PB1)
void IoInit(void); //debugprint.c
void DelayMs(uint16_t t)
{
uint16_t i;
for(i=0;i<t;i++)
_delay_loop_2(250 * 4);
}
uint8_t xx[128];
int main(void)
{
uint16_t i,j;
DDRB|=_BV(PB0);
for(i=0;i<128;i++)
xx[i]=i+5;
IoInit();
df_init();
printf_P(PSTR("\n开始测试AT45DB161D!\n"));
/* //测试写
df_write_open(8000);
for(i=0;i<5;i++)
df_write(xx,128);
df_write_close();
*/
//测试读
df_read_open(8000);
for(j=0;j<5;j++)
{
df_read(xx,128);
for(i=0;i<128;i++)
{
if(i%16 == 0)
printf("\n");
printf("%x ",xx[i]);
}
}
df_read_close();
printf("\n");
/* //测试读器件ID
df_read_deviceid(xx);
for(i=0;i<4;i++)
printf("0x%x ",xx[i]);
*/
while(1)
{
DelayMs(300);
PORTB^=_BV(PB0); //测试完后进入LED闪烁死循环
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -