ESP32開発基板のUART1,2信号

このQ&Aのポイント
  • ESP32開発基板のUART1,2信号について
  • UART1,2の信号は使用できないのか?
  • UART1,2の信号を他のGPIOのPINに割り当てることが可能か?
回答を見る
  • ベストアンサー

ESP32開発基板のUART1,2信号

ESP32 Dev Board PINMAPを見ていて思ったのですが、 https://scrapbox.io/hada/ESP32_DEVKIT_%E3%83%94%E3%83%B3%E9%85%8D%E7%BD%AE UART0の信号はPINMAP表では TX0(GPIO1) RX0(GPIO3) にアサインと表示されていますが、 UART1、UART2のアサインが表示されていません。 このESP32開発基板ではUART1、UART2の信号は使用できないということでしょうか? 下記のESP32のデータシートを読んでみたところ、 https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf UARTの信号のPINは”Any GPIO Pins”と表記されているのですが、 何かプログラミングでUART1,UART2の信号を好きなGPIOのPINに割り当てることがかのうということでしょうか? その方法など、ご教示の程よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

https://docs.espressif.com/projects/esp-idf/en/latest/api-reference/peripherals/uart.html#_CPPv412uart_set_pin11uart_port_tiiii esp_err_t uart_set_pin(uart_port_t uart_num, int tx_io_num, int rx_io_num, int rts_io_num, int cts_io_num); こいつで、UARTのポートごとに任意のピン番号を入れて初期化すればいいようです。 OKですかな?

techhouse
質問者

お礼

回答頂きありがとうございます。esp_err_t uart_set_pinというのもあるのですね。

関連するQ&A

  • ESP32の”Any GPIO Pins”の意味

    ESP32のデータシートを読んでいるのですが、 https://www.espressif.com/sites/default/files/documentation/esp32_datasheet_en.pdf このデータシートの35ページ目のPINに関する表のUARTの項目を見ていた時、”Pins”の部分に”Any GPIO Pins”という表示が出てくるのですが、これはどういう意味なのでしょうか? 例えば、ESP32の現在のPIN配置を自由に変えることも可能ということでしょうか? https://scrapbox.io/hada/ESP32_DEVKIT_%E3%83%94%E3%83%B3%E9%85%8D%E7%BD%AE どうぞ、ご教示の程よろしくお願い致します。

  • /devにTTL-232R-3V3のドライバが無い

    TTL-232R-3V3を使って、ESP32基板のUART通信を受信したいと思っています。 FTDI TTL-232R-3V3 USB TO SERIAL CONVERTER CABLE, 3.3V, 6WAY by FTDI FTDI https://www.amazon.co.jp/dp/B00DDF8TV6/ref=cm_sw_r_tw_dp_U_x_t6jsEbX8490BF @amazonJPさんから TTL-232R-3V3のUSBケーブルをMACに接続して、screenというターミナルで接続しようとしました。 Raspberry PiとMacBook Airをシリアル接続する http://blog.k-sakabe.com/2013/12/25/raspberry-pi%e3%81%a8macbook-air%e3%82%92%e3%82%b7%e3%83%aa%e3%82%a2%e3%83%ab%e6%8e%a5%e7%b6%9a%e3%81%99%e3%82%8b/ 接続のしかたは、上記のサイトに参考にして、 $ screen /dev/tty.usbserial-A70280KU 115200 このようにコマンドを打ち込んだのですが、”tty.usbserial-A70280KU”が無いというようなエラ~メッセージが出てきました。 $ ls -l /dev/tty.* とやってみると、 /dev/tty.AirPods-WirelessiAP-4 /dev/tty.Bluetooth-Incoming-Port この2つしかしか表示されませんでした。 TTL-232R-3V3のドライバとして https://www.ftdichip.com/Drivers/VCP.htm こちらのサイトより、 Mac OS X 10.9 and aboveのVer 2.4.2というドライバを選択してダウンロードインストールしたと思うのですが、これが表示されていないような気がします。 このような現象の解決方法をご教示頂きますよう、よろしくお願い致します。

    • 締切済み
    • Mac
  • PIC12F683 のULPW機能につきまして

    PIC12F683の機能のUltra Low-Power Wake-up の機能使おうとこちらhttp://www.picfun.com/pic26.htmlを参考にさせていただいて、GP0に抵抗と、コンデンサをR=200Ω、C=0.1μFで動かしてみました。 取りあえずは動作した(オシロできちんとのこぎりの波形を確認でました)のですが、しばらくすると、GP0がHiの状態のままになってしまいます。 このような現象を経験された方はいないでしょうか? 情報があれば助かります。 この動作を行うためのプログラムは以下のようにしてみました。 (MikroCを使っています) *****************************************************/ #define _ON 1 #define _OFF 0 #define _INPUT 1 #define _OUTPUT 0 #define SIG GPIO.F1 #define PWR GPIO.F5 void interrupt() { // 全体割り込み停止しているので、GPIO.1pin に変化があっても、ここの関数は呼び出されない if (INTCON.GPIF) { INTCON.GPIF = 0; // Port Change Interrupt Flag clear // GPIO.F1 = 1; // delay_ms(700); // 700ms LED ON // GPIO.F1 = 0; } } void opl_sleep() { INTCON.GIE = 0; //全体割り込みは停止 IOC = 0b00000001; // Interrupt pin GP0 only //1pinだけ検知する。 INTCON.GPIF = 0; // Port Change Interrupt Flag clear INTCON.GPIE = 1; //Enables the GPIO port change interrupt //ポート割り込み有効にすればsleepから復帰 TRISIO.F0 = _INPUT; // Input PCON.ULPWUE = _ON; SIG = _OFF; // Low sleep_start: asm{ nop nop nop nop sleep nop nop nop nop } INTCON.GPIE = 0; // disable GPIO port change interrupt INTCON.GPIF = 0; // Port Change Interrupt Flag clear //場合によっては、ここにチャタリング処理(wait)を入れると良い // INTCON.GIE = 1; } void _FloatValToStr( float val, char* str ) { unsigned char ch = 0x00; int val2; val2 = val * 1000; // val2 = val; ch = (val2 / 1000) % 10; // extract 1.0 volts digit str[0] = 48+ch; // write ASCII digit at cursor point str[1] = '.'; ch = (val2 / 100) % 10; // extract 0.1 volts digit str[2] = 48+ch; // write ASCII digit at cursor point ch = (val2 / 10) % 10; // extract 0.01 volts digit str[3] = 48+ch; // write ASCII digit at cursor point ch = val2 % 10; // extract 0.001 volts digit str[4] = 48+ch; // write ASCII digit at cursor point str[5] = 0x00; } void _CheckADC() { short i; double adc; double val = 0; char str[10]; //センサー信号取り込み ( Vref=3.0V : 実測値 ) adc = Adc_Read(2); val = (double)( adc * 300 ) / 1023; val = val / 100; // _FloatValToStr( val, str ); if ( val > 2.5 ) { // センサーに圧が掛かった! PWR = _ON; Delay_ms( 2000 ); PWR = _OFF; } } void main() { unsigned int co; ANSEL = 0b00100; // Configure AN pins as digital // CMCON = 7; // Turn off the comparators OSCCON = 0b01110000; // クロックを8Mhzに設定する。 CMCON0 = 0b00000111; // コンパレータ使用しない PCON = 0b00100000; // Ultra Low-Power Wake-up enabled TRISIO = 0b00000101; //GP0 pin input GPIO = 0; OPTION_REG.NOT_GPPU = 0; //GPIO pull-ups are enabled //内部弱プルアップに設定する WPU = 0b00000001; //PULL-UP REGISTER setting ,only GP0 pull-up SIG = _OFF; while( 1 ) { TRISIO.F0 = _OUTPUT; // Output GPIO.F0 = _ON; // Hi delay_ms(10); /*** for(co=0;co<10;co++){ //500ms だけLEDをピカピカッとやる GPIO.F1 = ~GPIO.F1; delay_ms(50); } **/ opl_sleep(); //SLEEPへ SIG = _ON; _CheckADC(); delay_ms(40); } }

  • UARTって何ですか?

    表題のとおりです。 UARTの機能がわかりません。 どなたかご存知でしたら、教えていただけませんか?

  • UARTを直接つないでもよい?

    マイコン(atmega328p Vcc=3.3V)とPCをUSB/UART変換ケーブル(TTL-232R-3V3 http://www.ftdichip.com/Support/Documents/DataSheets/Cables/DS_TTL-232R_CABLES.pdf) でつなごうとしています。 マイコンのVccは、このUSB/UART変換ケーブルのVccピン(5V)をレギュレータを使って3.3Vに落としてつくろうとしています。 この時、マイコンのUART用のピンと、ケーブルのピンは直接つないでもよいものでしょうか? マイコン側の3.3Vは、ケーブルの5Vから私の作っている回路にのせるレギュレータでつくっていて、 ケーブル側の3.3Vはケーブルに内蔵しているFT232RQを使ってつくっているので、 元の5Vが同じとはいえ微妙に異なる可能性がありますが、 これがどういう問題につながりえるのでしょうか? そして簡単な回路で問題なく通信できるようにするにはどういった回路を入れればよいのでしょうか? 教えてください。

  • UART通信で2つの信号を同時に伝送したい

    UART通信において,図に示すように,送信者A・Bからそれぞれ信号を同時に伝送し, 受信者Cに伝送したいと考えています。 現時点で考えている方法として,図(下)のように,送信者Aの信号を正,送信者Bの信号を負と して伝送し,受信者は,それを結合した信号を受け取ることで,同時に2つの信号を伝送しようと 考えています。しかしこの方法では,変調器をA/B/Cそれぞれに導入する必要があるため, コストがかかるというデメリットがあります。 そのため,このような操作をソフトウェアだけで実現できないかと模索しているのですが, 通信の知識が乏しいため,よい方法を思いつきません。 何かよい方法はないでしょうか? アドバイスお願いします。

  • 基板開発、設計

    はじめまして。 部署移動になり、基板の開発・設計を行っていかなくてはならなくなりましたが、当方、電気科の高校を卒業しただけで、在学中はあまり勉強していなかった為、電気のことに関しては一般の方より少し理解があるだけでほとんど素人に近いものがあります。 基板を作っていくには何を勉強していけば良いのでしょうか? オペアンプを自分なりに勉強したのですが全く理解できませんでした。 オペンアンプやチョッパー回路やデジタル回路などの設計を行いたいと思っています。

  • dspicからpicへのUARTでの信号送信

    現在,dspic33fj32mc202を使用して回路を作成しています。 ピンの都合から、UART機能を利用して、dspicのTXピンから,pic16f690のRXピンに信号を送りたいと考えています。 しかしdspic33fは3.3Vで、pic16f690は5Vです。 上記のようなことは可能なのでしょうか?

  • ESPで働きたい

    御覧頂きありがとうございます。 僕は昔からの夢、ギターが凄い好きなので、楽器屋で働く事です。 でも、そういう専門学校に行ってないと働けないと思っております。 そこで、質問です。 専門学校に行ってなくても、楽器屋で働きながら、ギターの事を色々勉強して、働けないでしょうか?子供も居るので、正社員希望です。 今システムエンジニアをしているので、そういう事にPC関係には詳しいので、その辺のバックアップもきっと出来ると思います。(例えばHPについてなど) 知ってる方居ましたら、アドバイスお願いします。

  • ESP

    私も良く分からないのですが(カテゴリもここでよいのでしょうか)、夫がESP R/3の使い方が分からなく困っている(誰も使えない。。。)ようです。今海外にいるので、How to本も身近になく、こちらから送って欲しいといわれました。 ESPの構築(?)うんぬんとかいうのではなく、もう本当にここをこうすると、これになる(このキーを押すと、こうなる)というような、本が欲しいようです。 どなたかこのような本を御存知の方がいらっしゃいましたら、教えて下さい。よろしくお願いします。