• 締切済み

pic

pic16F877をC言語で利用しています.unsigned longでも格納できないサイズの正の整数を扱う場合どうすればいいでしょうか.

みんなの回答

noname#137556
noname#137556
回答No.2

組み込みの型で扱えなければ,自分で作るしか無いですね。 http://www5.airnet.ne.jp/tomy/cpro/longint.htm

cappuuuuuu
質問者

お礼

回答ありがとうございます. やってみます.

全文を見る
すると、全ての回答が全文表示されます。
  • paspas
  • ベストアンサー率52% (47/90)
回答No.1

お使いのCコンパイラのlongがどのサイズかはわかりませんが、 CCS-C であれば int32 という型があります。 CCS-Cはlong が16bitなので、int32は32bit int型になります。

cappuuuuuu
質問者

お礼

回答ありがとうございます. int32は使うと上手くいかなかったので多倍長演算に挑戦してみます.

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • PICのAD変換場所

    PIC16F819のAD変換したデータをPIC内に格納する際の格納場所ってどこなんでしょうか?例えばアナログの『ピ~』という音をAD変換してPICに格納する場合などです。。 もしくはPIC16F819に関する詳しいサイト・書籍などを知っている方いましたら教えて下さい。 ネットで沢山探しましたが16F819の情報があまりありませんでした。よろしくお願いします。

  • メモリを0クリアする方法について

    組み込み系のc言語でメモリを0クリアするには、どのようなプログラムにすればいいでしょうか?アドレス値を格納するポインタの型は、unsigned long型です。 仮に範囲は、0x1f00~0x2000とします。

  • PICのprintfで5桁の整数を表示させたい

    PIC 16F688、mplab xc8を使っています。 LCDにprintfで5桁の整数を表示させたいのですが、65536以上はうまく表示できません。 5桁で99999を表示させるにはどうすればいいでしょうか? 例えば、このように書くと99999以上の数字が表示されてしまいますが、65535までは正常に表示されます。また、0も5桁で正常に表示されています。 unsigned short long a; a=99999; printf("%05.5lu",a); SLEEP(); printfの%lが悪いのか、%uが悪いのか、他の指定が有るのか分かりません。

  • PICのプログラムについて質問です

    使用するPICは16F84Aで、MPLAB IDEv8.88を使ってこのようなプログラムを作りました。 #include"pic.h" static void pic_init(); static void Delay_ms(unsigned char ms); static void Delay_1ms(); void main(){ pic_init(); while(1) { RB0 = 1 ; Delay_ms(250); Delay_ms(250); Delay_ms(250); RB0 = 0 ; Delay_ms(250); Delay_ms(250); Delay_ms(250); } static void pic_init() { // GPIO = 0b00000000; TRISA = 0xFF ; TRISB = 0x00 } static void Delay_ms(unsigned char ms) { unsigned char c; for (c=ms ; c>0 ; c--) { Delay_1ms(); } } static void Delay_1ms() { unsigned int cnt; unsigned int i; cnt = 76; for (i=0 ; i<cnt ; i++) { NOP(); } } ポートB0の出力を0から1にするプログラムなのですが、実行すると Error [314] C:\Users\moriwaki\Desktop\PIC program\step_test2.c; 52.24 ";" expected Error [254] C:\Users\moriwaki\Desktop\PIC program\step_test2.c; 77.0 undefined variable: "pic_init" ********** Build failed! ********** というエラーが出ます。このようなエラーが出る原因を教えて頂けないでしょうか。お願いします。

  • PICで既定の時間数ループを回したい

    16f84aというPICを使っているんですけど あるループを約1秒間回す処理ってどうやって c言語で書けばよいでしょうか 教えてください c言語は結構理解してるつもりですけど PICは初心者です

  • C言語の変数の型がわかりません

    C言語の変数の型がわかりません [int]は4バイトを使って整数(-2147483648~2147483648)を格納できる. [long int]は4バイトを使って整数(-2147483648~2147483648)を格納できる. のようなことが書いてあります. [int]と[long int]の違いは何ですか?

  • PIC18F1320でwarningがでる

    PIC18F1320で MPLAB X IDE v3.26 XC 8です warningがでる warningがでてもプログラムは動く warningがでなくしたい LCD液晶表示装置を使うので8ビット符号なし整数型がいい 0から255の8ビット符号なし整数型しか使わない キャラクターコードをLATB(PORTB)に送るため プログラムで-1や256になったりしないよう制御してある #include <xc.h> CONFIG 省略 ほとんど省略 // EQU unsigned char TMRA=1; unsigned char TMRB=1;//など void main(void) { TMRA = TMRA - 20; TMRB = TMR+1;//など } newmain.c: warning: (xxx) conversion to shorter data type よろしくお願いします。

  • PICでつくりたいです

    今回PICでおもちゃを作ろうと思う初心者です。 ある程度のC言語はわかり、去年は簡単なPICを使ったライントレーサを作りました。そのときには参考となるプログラム、車自体があったので簡単につくることができました。 今回は、一からPICで光から逃げるねずみのようなものを作りたいのですが、まったくどう作っていいかわかりません。 具体的に説明すると、車の上に光センサを数個付け、光の強い方向から逃げるようなものを作る予定です。 ネットでPICなどの検索をいっぱいかけたり、多少本を探してみたのですが、全然参考になるようなものがありませんでした。去年はPICの16F84Aを使用しました。 よろしくお願いします

  • PIC ( 12F683 ) の命令について

    PIC (12F683、 HI-TECH C) を使った回路で、電源ON(手動) ➡ 一定時間経過 ➡ 電源OFF (PIC自身で) できるようなC言語の命令はありますか?

  • PIC18でのPWM制御について

    PICで充放電の制御をしているのですが、PICのPWMモードで12V、1kHzの信号を出す必要が出てきました。 PWMモードは触ったことがなく、調べながら作る時間も余りないので、厚かましいとは思いますが、 どなたかアセンブラまたはc言語でのプログラムを教えていただけませんでしょうか。 使用チップはPIC18F2580です。 よろしくお願いします。