(MSP430のための)ポインタIAR社とCコンパイラのヘルプ

M

m_t_blind

Guest
こんにちは私は、"(2.21.2.2)MSP430のV2.21B/W32 [キックスタート]用IAR Cコンパイラ"の問題でコンテンツ配信へのポインタを持っている:私はそれを代入しようとunsigned char型(unsigned char型* p)のポインタを持っている。エラー[Pe513]を::タイプ"int型"の値を"unsigned char *は"型のエンティティに割り当てることはできませんアドレス(pは= 0x0192)私は、エラーメッセージを取得する(iはpは(はunsigned short int)0x0192 =試してみてください)または[Pe513]エラー:型の値を"unsigned short型"なぜプログラムはmsp430f149用にコンパイルされた"unsigned char *は"型のエンティティに割り当てることはできますか??
 
コンパイラが文句を言うことは満足するべきだ!まあはい、これは正しいpされていないすべてのコンパイラで問題が発生します=(はunsigned short int)0x0192)、ポインタはunsigned char * pのように宣言されている場合は、アドレス0x0192を指すようにする場合は、このP値=(unsigned char型*を行う)0x0192を、そしてあなたは、そのアドレスに格納されているデータのバイトを取得したい場合は、= *(unsigned char型*)0x0192このvalを行う;非常に単純な..あなたは、それ以外の場合は数だけ、ポインタアドレスになるように番号を0x0192にキャストする必要がありますASCII文字はint型で! (これはint型として宣言されてbeedことはありません)。コンパイラは何をしたい分かっていない。覚えておきたいことは、ポインタがアドレスだけではないことアドレスを使用してヘッダーとして実装されています。特別なメモリ空間が多いmicronctrollersで(定数フラッシュは、RAMは、EPROM等)があるときには、それをキャストする必要があることです例えばconst char *をのFLASH_PTRのメモリ空間のも入力して、文字* myRAM_ptrしかし、あなたが他に1つのアドレスを渡す場合:myRAMは= FLASH_PTR ...コンパイラは、(良い)COPMPLAINされます
 
ポインタの説明、あなたの詳細な回答いただきありがとうございます。いくつかの書籍を私に彼らは、ポインタについては、この事をクリアいけない読んで....
 

Welcome to EDABoard.com

Sponsor

Back
Top