問題タブ [codevisionavr]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c - エラー関数は宣言されているが定義されていない
codeVision AVR の C プロジェクトにライブラリを追加しました。その関数を使用したい場合、このエラーが発生します。関数 '関数名' は宣言されていますが、定義されていません。ここに私のコードがあります:
pid.h:
および pid.c:
エラー:
関数 'PID_Compute' が宣言されていますが、定義されていません。
問題はどこだ?
編集:
ライブラリをプロジェクトに追加するために、.c および .h ライブラリ ファイルをメイン プロジェクト ファイルと同じフォルダに配置しました。
次に #include "pid.h" をメイン ファイルに追加します。
EDIT2:コードを簡略化し、コード全体を表示できるようになりました:メインコード:
pid.h:
pid.c:
c - コントローラーがビジー状態でデータを受信した
プロテウスのコード ビジョンで割り込みを使用しようとしています。カウンタ値を増加させる場合は INT0、減少させる場合は INT1 です。その目的のために2つの関数を宣言しましinterrupt [EXT_INT0] void ext_int0_isr(void)
たinterrupt [EXT_INT1] void ext_int1_isr(void)
が、コードを実行すると機能せず、プロテウスで「コントローラーがビジー状態でデータを受信しました」という無限の警告が表示されます。お役に立てれば幸いです。
c - キーパッド関数が間違った番号を返す
キーパッド 3*4 用の ScanKey 関数では、数字の長さが 4 未満になるまでうまく機能しますが、このように機能しますnumber = (number * 10)
が、4 つ以上の数字を持つこの 123456 のような数字の場合、他の数字が表示されます。私のプログラムは、整数を使用する int で動作します。555555 のような数値を入力すると、31267 に変わります。 IDE CodeVisionAVR
ATmega16a用のC言語