タグ付けされた質問 「uart」

UART(Universal Asynchronous Receiver Transmitter)は、シリアルポートでデータを送受信するロジックの一部です。

2
PIC12F675 GP4が機能しない
プロジェクトにPIC12F675を使用していますが、1つの点を除いてすべて正常に動作します。GP4はデジタルIOとして機能しません。設定とコードをよく見てきましたが、何も見つかりませんでした。 構成: #pragma config FOSC = INTRCCLK #pragma config WDTE = OFF #pragma config PWRTE = OFF #pragma config MCLRE = OFF #pragma config BOREN = ON #pragma config CP = OFF #pragma config CPD = OFF コード: #include <xc.h> #include <math.h> #include "config.h" #define _XTAL_FREQ 4000000 void delay(unsigned int …
9 pic  c  embedded  programming  audio  oscillator  spark  dc-dc-converter  boost  charge-pump  eagle  analog  battery-charging  failure  humidity  hard-drive  power-supply  battery-charging  charger  solar-energy  solar-charge-controller  pcb  eagle  arduino  voltage  power-supply  usb  charger  power-delivery  resistors  led-strip  series  usb  bootloader  transceiver  digital-logic  integrated-circuit  ram  transistors  led  raspberry-pi  driver  altium  usb  transceiver  piezoelectricity  adc  psoc  arduino  analog  pwm  raspberry-pi  converter  transformer  switch-mode-power-supply  power-electronics  dc-dc-converter  phase-shift  analog  comparator  phototransistor  safety  grounding  current  circuit-protection  rcd  batteries  current  battery-operated  power-consumption  power-electronics  bridge-rectifier  full-bridge  ethernet  resistance  mosfet  ltspice  mosfet-driver  ftdi  synchronous  fifo  microcontroller  avr  atmega  atmega328p  verilog  error  modelsim  power-supply  solar-cell  usb-pd  i2c  uart 

2
RS232経由でメッセージを正常に送信できないのはなぜですか?
先週、私はSTM32F407からUARTメッセージを送信し、シロアリを使用したugreen RS232-USBケーブルを介してラップトップでそれを読み取ることに取り組んできました。 私はSTMCubeを使用してコードを生成し、「stm32f4xx_hal_uart.c」ファイルの上部にある関連する説明を読んで(そして、たくさんのビデオを見てオンラインで読んで)、コードを追加しました。 送信されたメッセージをオシロスコープで確認したところ、ASCII表現と一致しています。 たとえば、0101 0001である「Q」を送信し、0101 0111である「W」を受信します。スコープの読み取り値は、 オシロスコープに表示されるのと同じ信号のシロアリ出力。 私は、ボーレート/パリティ/ HWcontrolがシロアリと私のコードで一致していることを確認しました。 正しい文字を受け取るために、ボーレートを下げたり上げたりしてみました。 間違った文字が表示される原因となるパターンを見つけるために、さまざまな文字セットを試しました。 さらに、PuttyやTeratermなどの別の端末を試しました。
9 stm32  uart  rs232 

2
SPIスレーブは全二重モードで送信を開始できますか?
私の知る限り、SPIスレーブのSPI送信は以下のように機能します。 マスターはSSピンを使用してスレーブを選択します マスターとスレーブが同時にデータを互いに送信する マスターはクロックとデータ送信を同時に開始します(書き込み操作の前にクロックはありません) スレーブは送信するデータがまだある場合でも、マスターは必要に応じていつでも(書き込み操作とクロック生成を停止することにより)送信を停止します。 スレーブがマスターの許可なしにデータを送信できるようにするSPIスレーブ構成はありますか? 大声で考えているだけです。スレーブが1つだけあり、マスターなどから連続クロックが提供されていると仮定します。 SPIのスタートストップビットがないため、想定されたステートメントがtrueであっても、マスターとスレーブはバイト同期を失いません(つまり、ビットストリームを受信しません)。 このドキュメントの次のセクションを読んだので、私はそのような質問をしています。 2.2 SPIの例 添付のSPIの例は、同期モードでのUSARTの使用を示しています。USART2がマスターであるのに対し、USART1はスレーブとして構成されています。以下のトランザクションが行われます。 マスターからスレーブへのデータ送信。 スレーブからマスターへのデータ送信。 マスターからスレーブへのデータ送信とスレーブからマスターへのデータ送信を同時に行います。 このドキュメントではSPIの例を示していますが、USARTデバイスを使用して例を実現しています。そして私は、USARTスレーブがマスターの許可なしに送信を開始できることを理解しています。 ドキュメントで参照されているソースコードが見つかりませんでした。

5
ストップバイトとしての\ n \ rフェイルセーフはどのくらいですか?
私のUART通信では、送信されたメッセージの開始バイトと停止バイトを知る必要があります。スタートバイトは簡単ですが、ストップバイトはそれほどではありません。メッセージの最後に2つのストップバイト、つまり\ nと\ r(10進数で10と13)を実装しました。UARTはバイト0〜255の値でのみ機能するので、これはフェイルセーフですか?確率は低いですが、メッセージにストップバイトではない場合、メッセージに「10と13」という値が次々に含まれる可能性があると想像できます。 これを実装するより良い方法はありますか?

1
UART経由の予期しないAtmega16応答
UART経由の予期しないAtmega16応答 問題の概要 私はコードではATmega16を点滅している必要があります私は端子を介してそれを送るどんなキャラクターはATmega16送信バックにつながります。返事はもらえますが、送ったキャラクターはめったにありません。ボーレートを変更すると正しい出力が表示されますが、正しいボーレートが機能する理由がわかりません。 もっと詳しく 私はかなり楽しんでいるので、自分の時間にファームウェアプログラミングについてもっと学びたいと思っています。これまでに私がuniで行ったファームウェアプログラミングでは、ペリフェラルインターフェースの多くを実行してセットアップするスケルトンコードファイルが提供されましたが、これを自分で学びたいと思います。私がここで何をしているのかについていくつか質問がありますが、最後に項目ごとに説明します。私の知識の誤解や潜在的なギャップを見つけたら、私はあなたが持っているかもしれないどんなインプットにも大いに感謝します。 コード 私のAtmega16にフラッシュしたコードは、このページにある「AVR-GCCでのUSARTの使用」チュートリアルからほぼ一行ずつ取得されています。追加したのは、F_CPUの#defineだけです。元のコードにはF_CPUの#defineがなかったため、コードがAtmelStudio 7でコンパイルされませんでした。作成者が元のファイルでF_CPUを定義しなかった理由を誰かが説明できますか?彼らはAtmel Studio 7以外のツールやコンパイラーを使用していたのではないかと思いますが、確かなことは言えません。 #include <avr/io.h> #define F_CPU 7372800 //this was chosen because the tutorial states this is the frequency we want to operate at #define USART_BAUDRATE 9600 #define BAUD_PRESCALE (((( F_CPU / 16) + ( USART_BAUDRATE / 2)) / ( USART_BAUDRATE )) - …

7
UARTラインを見つける方法は送信データのために無料です
Rs485と通信するボードがいくつかあります。彼らは持っているATMegaようなシリーズのマイクロコントローラをatmega168pかatmega8。各ボードはいつでもデータを自由に送信でき、私はModbusの使用につながる制限があります。ボードの数は5〜10の範囲で指定できます。 私の問題は次のとおりです。ボードは、UARTラインが自由にデータを送信できるかどうかを確認し、バスがビジーであることを検出した場合、バスが空くまで待ってから独自のデータを送信できますか? 自動または手動で変更し、他のボードに回線がビジーであることを検出させる特別なフラグまたはレジスタはありますか?
8 atmega  uart  rs485  bus 

2
STM32のUSART(UART)割り込みフラグをクリアしますか?
STM32F105を使用して、UARTを使用するLinx GPSチップと通信しています。 割り込みを使用しない場合(RXフラグをポーリングするだけの場合)、問題なく動作します。しかし、割り込みを使用しようとすると、予期しない結果が発生します。 たとえば、を使用してRXNE(「RX not empty」)割り込みのみを有効にする場合USART_ITConfig(USARTx, USART_IT_RXNE)、コードはこの1つの特定のイベントのISRにのみベクターする必要があります。ただし、割り込みはオーバーラン状態でもトリガーされます。 フラグをクリアする限り、メソッドはフラグに依存しているようです。オーバーランフラグ(USART_IT_ORE)をクリアするには、ユーザーマニュアルに、最初にUSARTx_SRレジスタを読み取ってからレジスタを読み取るべきと説明USARTx_DRされています。これは機能します。フラグはクリアされます。 USART_ClearITPendingBit()関数もありますが、フラグの小さなサブセットしか受け入れません。 選択的に有効にできる8つの異なる割り込みソースと、10の異なるフラグがあります。 これらのフラグをすべて管理する方法の概要はどこにありますか?

2
安全なUART通信プロトコルを作成するにはどうすればよいですか?
安全なUART / USB通信プロトコルを作成する方法を考えていました。マイコンとパソコンの通信に必要です。私は〜10個のコマンドを使用しており、それぞれに10個の個別の確認応答コマンドを使用すると思いました。 交換は次のようになります。 PCがUARTを介してウェイクアップコマンドを送信する µCはPCが接続されていることを認識し、そのコマンドをPCに送信します。 0x01 PCは要求された処理(一部のハードウェア関連)を実行し、~0x01完了時に応答します(2つの数の間に大きな「距離」を作成するために数を無視します)。 µC 0x01は送信したことを認識し~0x01、PCから期待しています。~0x01µCは、何か他のものが戻ってきた場合、何かがうまくいかなかったことを認識し、新しい要求またはエラーメッセージを送信します。 µCが送信する0x01場合、PCはそれを理解0x02して~0x02送り返しますが、~0x01ノイズによるµCの読み取りはかなり悪いでしょう。 送信に関してそれはどのくらい安全ですか、またはこれをより安全にするにはどうすればよいですか?

5
UARTエラーの原因は何ですか?
UARTエラーが発生する理由と、そのようなエラーをチェックするタイミングを知りたいのですが。ここに、オーバーラン、パリティなどの個々のエラーの処理について尋ねる投稿があります。データオーバーランが発生する理由、パリティエラーが発生する理由は明らかですが、根本的な原因を知りたいのですが。私の質問は、これらのエラーが発生する理由(物理的な理由)と、エラーチェックをアプリケーションの要因にすべき場合に焦点を当てています。 これまでのところ、私のプログラムは(エラーチェックなしで)うまく機能しているように見えますが、ノイズによって混乱が生じる可能性があることはわかっています。UART Rx / Txポートが失敗する原因となる条件をどのようにシミュレートできますか?

3
MISO / MOSIとTxD / RxDの違い
USARTとSPIの違いは何ですか?USARTには[TXD / RXD]、SPIには[MISO / MOSI / SCK / SS]があります。SPIは同期プロトコルですが、USARTはハードウェアです。しかし、USARTの同期部分とハードウェアの違いは何ですか?
8 spi  uart 

3
UARTエラーの処理
ほとんどのコントローラーの UART は同様のアーキテクチャーであるため、特定のMCUに集中していません。TxとRxの両方にFIFOがあります。 UARTによって生成される最も一般的なエラーは次のとおりです。-1.フレーミングエラー2.パリティエラー3.オーバーランエラー(Tx / Rx FIFOのオーバーフロー)4.受信ブレークエラー(ストップビットのあるエラー) 通信を適切に維持するには、これらのエラー条件をどのように処理する必要がありますか? 私はそれが漠然とした質問であることを理解していますが、ほとんどの場合、そのようなエラーが発生したときに何をすべきかについて人々は混乱し、最終的にエラービットをクリアすることになります。
8 uart 

2
FTDI FT2232H(USB <-> UART)ボーレート?
誰でもFTDI のFT2232Hチップの1つを使用しましたか? 具体的には、どのようにして許容ボーレートを把握しますか? データシートは漠然としており、1〜3 MBaudの範囲で何かを選択する必要がありますが、私の選択肢を知る必要があります。
8 usb  uart  ftdi 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.