📄 60ca6ed7394c001a1fc19f0d7ed4936c
字号:
#include "system.h"
#include "altera_avalon_pio_regs.h"
#define uchar unsigned char
uchar receivedata;
void shortdelay()
{
int i;
for(i=0;i<30;i++);
}
void longdelay(int m)
{
int i;
for(i=0;i<m;i++);
}
void initial7289()
{
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CS_BASE, 0X01);
}
//??????j?8??8?????16??16???
void send(unsigned int senddata,uchar j)
{
uchar i;
uchar sendlast;
IOWR_ALTERA_AVALON_PIO_DIRECTION(A7289_DIO_BASE, 0X01);
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CS_BASE, 0X00);//?????a7289_dio???
longdelay(80);// T1 75us
if(j==8)
for(i=0;i<8;i++)
{
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X00);
shortdelay();
if(senddata&0x80)
IOWR_ALTERA_AVALON_PIO_DATA(A7289_DIO_BASE, 0X01);
else
IOWR_ALTERA_AVALON_PIO_DATA(A7289_DIO_BASE, 0X00);
senddata=senddata<<1;
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X01);
shortdelay();
}
if(j==16)
for(i=0;i<16;i++)
{
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X00);
shortdelay();
if(senddata&0x8000)
IOWR_ALTERA_AVALON_PIO_DATA(A7289_DIO_BASE, 0X01);
else
IOWR_ALTERA_AVALON_PIO_DATA(A7289_DIO_BASE, 0X00);
senddata=senddata<<1;
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X01);
shortdelay();
}
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X00);
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CS_BASE, 0X01);
}
uchar receive()
{
uchar i,j,rebuf=0;
IOWR_ALTERA_AVALON_PIO_DIRECTION(A7289_DIO_BASE, 0X00);//?????a7289_dio???
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CS_BASE, 0X00);
longdelay(80);// T1 75us
for(i=0;i<8;i++)//??????
{
rebuf<<=1;
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X00);
shortdelay();
rebuf|= IORD_ALTERA_AVALON_PIO_DATA(A7289_DIO_BASE);
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X01);
shortdelay();
}
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CS_BASE, 0X01);
IOWR_ALTERA_AVALON_PIO_DATA(A7289_CLK_BASE, 0X00);
return rebuf;//??????
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -