- 749 名前:774ワット発電中さん [2008/03/09(日) 22:31:49 ID:UUq7y5pb]
- mikroCの挙動が怪しいので、マイクロチップ純正C18コンパイラ(Student
Ed. Ver.3.16)を試したんだけど、変数にvolatile宣言しているにも関わ らず、ちゃんと正しいコードが出ていない悪寒がするんだが、こんなもん? volatile char s_chrTestData; として宣言した変数を使って、EUSARTの送信割込で... s_chrTestData+=1; if(s_chrTestData>'Z') s_chrTestData='A'; TXREG1=s_chrTestData; てなコードを書いたが、出力される送信データは、0x00の連続。 試しに、上記を TXREG1=0x55; と書き換えると、ちゃんと0x55('U')が連続で送信される。 ちなみに、デバイスはPIC18F8722(PIC18F8720)でつ。CONFIGのXINSTと ビルド設定をExtendedでやってみたけど変わらず。orz あと、romとか、near/farを指定する必要があるのかもしれんけど、C18 では関数ポインタがうまくコンパイルされていないっぽい。 結局、mikroCの方がまだマシという結論に至ったんだけど、騙しながら 使うしかないのか?
|
|