Special
「MAX 10 NEEK」でストップウォッチを開発し、内蔵メモリから起動する(ソースコード)(3/4 ページ)
連載「MAX 10 FPGAで学ぶFPGA開発入門」の第11回、「MAX 10 NEEKでストップウォッチを開発し、内蔵メモリから起動する」のソースコード(List 1〜4)です。
PR
List 3
List 3:
#include <stdio.h>
#include "system.h"
#include "altera_avalon_pio_regs.h"
long HEXtable[10] = {0x40, // 0:1000000
0x79, // 1:1111001
0x24, // 2:0100100
0x30, // 3:0110000
0x19, // 4:0011001
0x12, // 5:0010010
0x02, // 6:0000010
0x78, // 7:1111000
0x00, // 8:0000000
0x10 // 9:0010000
};
void LEDR_out(int num)
{
if((num < 0)||(num > 9)) return;
IOWR_ALTERA_AVALON_PIO_DATA(LEDR_BASE, 1 << num);
}
void HEX_out(int digit, int num)
{
if((num < 0)||(num > 9)) return;
if((digit < 0)||(digit > 2)) return;
if(digit)
IOWR_ALTERA_AVALON_PIO_DATA(HEX1_BASE, HEXtable[num]);
else
IOWR_ALTERA_AVALON_PIO_DATA(HEX0_BASE, HEXtable[num]);
}
int main()
{
long cnt=0, lpCnt;
while(1)
{
LEDR_out(cnt);
HEX_out(0, cnt);
HEX_out(1, cnt);
cnt++;
if(cnt == 10) cnt=0;
for(lpCnt=0; lpCnt<300000; lpCnt++);
}
return 0;
}
List 3
提供:日本アルテラ株式会社
アイティメディア営業企画/制作:MONOist 編集部/掲載内容有効期限:2016年10月10日
Copyright © ITmedia, Inc. All Rights Reserved.