問題タブ [68hc12]
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 - C で数値の範囲を縮小する
0 ~ 1023 の範囲の数値を生成するために回転できるポテンショメータから値を読み取っています。これらの数値を LCD 画面に横棒グラフで表示できるようにしたいと考えています。LCD 画面の幅は 20 ブロックなので、0 ~ 1023 を 0 ~ 20 に縮小する必要があります。棒グラフを作成するために使用したい文字は、使用可能な 20 個のブロックのうち 1 個全体を埋めるブロックです。このブロックのビット パターンは0b11110001
.
これを達成する方法と、ポテンショメータの値を縮小するための最良の方法を誰かが説明してくれることを望んでいました.
c - C の棒グラフの方向を逆にする
上昇と沈下をメートル/秒で表す独自のバージョンのバリオメータをプログラムしたいと考えています。値は LCD モジュール画面に表示されます。上昇値と下降値は、プログラムの実行中に回転して値を変更できるポテンショメータから縮小されます。表示されるクライム値はclimb: 0 m/s
~climb: 300 m/s
で、シンク値はsink: 0 m/s
~sink: -300 m/s
です。このビットは問題ありません。
私が今やりたいことは、これらを中心にゼロ点を持つ棒グラフの形で表示することです. 300 まで増加するとclimb
、ゼロ点の右側のブロックが左から右に塗りつぶされます。値が -300 に減少するsink
と、ゼロ点の左側にあるブロックを右から左に塗りつぶし、基本的に右側の方向を逆にします。
DELVAL
ポテンショメータから読み取ったデータです。棒グラフの右側は機能しますが、左側は機能しません。誰でも私のコードの問題を知らせて、左側を機能させるための最良の方法を説明できますか?
私のコードで機能していない部分は、を含む for ループですcharacter2
。
timer - HCS12 組み込み: カウンター タイマーと計算された出力コンペア値
HCS12 のタイマー出力コンペア割り込みに問題があります。問題は、計算された値を即値ではなく出力比較レジスタに書き込んでいることです。つまり...
OCval = x + y ; ldd OC1、OCval ; // 私は何をする必要がありますか
ldd OC1、#3000; //何が機能するか
計算された値では、タイマー割り込みは不安定で、私のアプリケーションでは受け入れられません。この問題は、タイマーと OC レジスタに 1 サイクルでアクセスするという文書化された要件にしっかりと突き止められており、即時書き込み以外はこれに違反します。また、Web 上のサンプル コードはすべて即時操作を使用していることにも注意してください。
ソフトウェアの回避策があるかどうか疑問に思っています。アクションを継続する必要がある即時書き込みと比較する他の出力があるため、カウンターをフリーラン (つまり、リセットなし) にする必要があります。計算する必要がある割り込みは 2 つだけです。
私が見ることができる唯一の他のオプションは、動的タイミングを処理するための追加のハードウェアを必要とするため、ソフトウェアの修正は素晴らしいでしょう。ティア