メディア

「MAX 10 NEEK」でストップウォッチを開発し、内蔵メモリから起動する(ソースコード)(3/4 ページ)

» 2016年09月09日 10時00分 公開
[PR/MONOist]
PR

List 3

  1. List 3:
  2. #include <stdio.h>
  3. #include "system.h"
  4. #include "altera_avalon_pio_regs.h"
  5. long HEXtable[10] = {0x40, // 0:1000000
  6. 0x79, // 1:1111001
  7. 0x24, // 2:0100100
  8. 0x30, // 3:0110000
  9. 0x19, // 4:0011001
  10. 0x12, // 5:0010010
  11. 0x02, // 6:0000010
  12. 0x78, // 7:1111000
  13. 0x00, // 8:0000000
  14. 0x10 // 9:0010000
  15. };
  16. void LEDR_out(int num)
  17. {
  18. if((num < 0)||(num > 9)) return;
  19. IOWR_ALTERA_AVALON_PIO_DATA(LEDR_BASE, 1 << num);
  20. }
  21. void HEX_out(int digit, int num)
  22. {
  23. if((num < 0)||(num > 9)) return;
  24. if((digit < 0)||(digit > 2)) return;
  25. if(digit)
  26. IOWR_ALTERA_AVALON_PIO_DATA(HEX1_BASE, HEXtable[num]);
  27. else
  28. IOWR_ALTERA_AVALON_PIO_DATA(HEX0_BASE, HEXtable[num]);
  29. }
  30. int main()
  31. {
  32. long cnt=0, lpCnt;
  33. while(1)
  34. {
  35. LEDR_out(cnt);
  36. HEX_out(0, cnt);
  37. HEX_out(1, cnt);
  38. cnt++;
  39. if(cnt == 10) cnt=0;
  40. for(lpCnt=0; lpCnt<300000; lpCnt++);
  41. }
  42. return 0;
  43. }
List 3

提供:日本アルテラ株式会社
アイティメディア営業企画/制作:MONOist 編集部/掲載内容有効期限:2016年10月10日

Copyright © ITmedia, Inc. All Rights Reserved.