kinuko hayashi
/
Register_set_completed2
adf7021
Diff: main.cpp
- Revision:
- 1:58b02b3d2cb0
- Parent:
- 0:a1b45e5da2af
- Child:
- 2:e97ec9bc9b77
diff -r a1b45e5da2af -r 58b02b3d2cb0 main.cpp --- a/main.cpp Sat Feb 06 05:55:53 2021 +0000 +++ b/main.cpp Tue Feb 09 05:09:27 2021 +0000 @@ -51,11 +51,14 @@ int l = 1;//行数 uint32_t _register = 0;//最終的に欲しいレジスタの値.32ビット while ( fscanf(fp,"%[^,],%d,%d%d",name, ®ister_data,&length,&buf) != EOF ) { - if(l == 1 || l == 9 || l == 19 || l == 24 || l == 31) continue; + if(l == 1 || l == 9 || l == 19 || l == 24 || l == 31){ + printf("%d\n",l); + l++; + + }else{ printf("%d %d \r\n",register_data, length ); - //size += length; - l++; - //caalsatから受け取った値を格納するとき + + //calsatから受け取った値を格納するとき if(register_num == 3 && size == 4 ) { Shift_bit(_register, binary(command), 4); size = 27; @@ -63,17 +66,22 @@ //テキストファイルから受け取った値を格納するとき Shift_bit(_register, register_data, size); - + size += length; if(size == 32) { //これで一つ完成.この値をどういう風にやるかは未定show()みたいなのを作るか? + printf("regnum =%d ",register_num); show(_register); + register_num++; + _register = 0; size = 0; - _register = 0; - register_num++; + if(register_num == 5) + size = 6; + } //printf("%s %d %d\n",name,register_data,length); - size += length; - + //size += length; どこにおけばいいかわからん + l++; + }//else 閉じる } /* ファイルのクローズ */ fclose(fp); @@ -93,12 +101,12 @@ Fractional_N = Fractional_N / 2; } int l = 15; - /*2進数の出力 + //2進数の出力 while( l>0 ) { printf(" %d", decbin[--l]); } printf("\r\n"); - */ + uint32_t dec = 0; for(int i = 0; i < l; i++ ) { dec |= (decbin[i] << i); @@ -109,12 +117,12 @@ Integer_N = Integer_N / 2; } int k = 8; - /* + while( k>0 ) { printf(" %d", intbin[--k]); } printf("\r\n"); - */ + uint32_t inte = 0; for(int i = 0; i < k; i++ ) { inte |= (intbin[i] << i); @@ -159,7 +167,7 @@ while(1) { char c = device.getc(); if(c == 0xfe) { //FEコマンドがきたらdataが始まる - //printf("fe!!"); + char command[128] = {}; while(1) { command[0] = c;