109e7cdad35b001d10a3a07352b3548b
来自「altera DE1 SD_CARD带写入一个扇区功能的程序」· 代码 · 共 65 行
TXT
65 行
#include <stdio.h>
#include <unistd.h>
#include "system.h"
#define clk *(unsigned int*)PIO_CLK_BASE
#define dat *(unsigned int*)PIO_DATA_BASE
void wrPS(int C)
{
int i,reg,cnt=0;
(&clk)[1]=1;
(&dat)[1]=1;
dat=1;
clk=0;
usleep(102);
dat=0;
clk=1;
(&clk)[1]=0;
reg=0x200+C;
usleep(50);
for(i=0;i<10;i++)
{
while(clk);
dat=reg%2;
cnt+=dat;
if(8==i) dat=!(cnt%2);
reg>>=1;
usleep(50);
}
usleep(100);
(&dat)[1]=0;
}
int main()
{
printf("Hello from Nios II!\n");
int i,reg;
while(1)
{
wrPS(0xff);
usleep(1000000);
}
// wrPS(0xf7);
(&clk)[1]=0;
(&dat)[1]=0;
while(1)
{
while(clk);
reg=0;
usleep(50);
for(i=0;i<8;i++)
{
while(clk);
reg>>=1;
if(dat) reg+=0x80;
usleep(50);
}
usleep(200);
printf("%x\n",reg);
usleep(100);
}
return 0;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?