0

microblaze 用のザイリンクス SDK で AC コードを書いています。変数は次のように定義されました。

int xcoi;
int ycoi;
u16 mat[1280][720];

このコードは、DDR2 メモリに保存されている画像データを読み取り、変数に保存します。

if ((lBtnChanges & bitBtnD) && (lBtnStateNew & bitBtnD))
    {
        for(xcoi = 0; xcoi<1280; xcoi++)
        {
            for(ycoi = 0; ycoi<720; ycoi++)
            {
                mat[xcoi][ycoi] = Xil_In16(pFrame + ycoi*(lLineStride*2) + xcoi*2);
                xil_printf("\n\r xcoi = %d    ycoi = %d \n\r",xcoi,ycoi);
            }

        }
    }

コードが正常に動作しているかどうかを確認するために、x と y の座標をコンソールに出力しました。エラーが発生する出力の部分は次のとおりです。

xcoi = 11 ycoi = 253

xcoi = 11 ycoi = 254

xcoi = 11 ycoi = 255

xcoi = 11 ycoi = 256

xcoi = 11 ycoi = 257

xcoi = 11 ycoi = 258

xcoi = 11 ycoi = 259

xcoi = 11 ycoi = 260

xcoi = -547553269 ycoi = 261

xcoi = -547553269 ycoi = 262

xcoi = -547553269 ycoi = 263

xcoi = -547553269 ycoi = 264

xcoi = -547553269 ycoi = 265

xcoi = -547553269 ycoi = 266

xcoi = -547553269 ycoi = 267

xcoi = 11 ycoi = 260 の後に xcoi が変化するのはなぜですか? 代わりに、次の行で xcoi = 11 ycoi = 261 にする必要があります。

4

0 に答える 0