Renesas Rulz - Japan
Renesas Rulz - Japan
  • User
    Join or sign in
  • Site
  • Search Japan.RenesasRulz.com
  • User
  • Renesas Rulz
  • FAQ
  • パートナー
  • 半導体セミナ
  • eラーニング
  • ヘルプ
  • More
  • Cancel
  • かふぇルネ
  • がじぇるね
  • English Community
  • More
  • Cancel
がじぇっとるねさすコミュニティ
がじぇっとるねさすコミュニティ
GR-SAKURA フォーラム GR-SAKURAの Serial2.end()でポートが解放されない。
  • Forums
  • Blog
  • Files
  • がじぇっとるねさす ゆーざー会 - Wiki
  • Tags
  • More
  • Cancel
  • New

 

 GR-SAKURA

 GR-KURUMI

 GR-COTTON

 GR-CITRUS

 GR-PEACH

 GR-KAEDE

 GR-ADZUKI

 GR-LYCHEE

 GR-ROSE

 GR-MANGO(*)

 SNShield

 Web Compiler

 IDE for GR

 TOPPERS関連

 女子美コラボ

 その他

 ※プロデューサミーティング中

 作り方使い方資料

 イベント関連

 作品記事

 体験記事

 その他

 

 ライブラリ

 ツール

 その他・過去ファイル

  • Replies 5 replies
  • Subscribers 279 subscribers
  • Views 7021 views
  • Users 0 members are here
Options
  • Share
  • More
  • Cancel
Related Tags
  • Ehternet
  • ethernet
  • gr-sakura
  • GR-SAKURA GR-KURUMI I2C
  • gr-sakura rtc
  • GR-SAKURA SDMMC
  • GR-SAKURA 液晶 aitendo
  • i2c
  • lcd
  • mruby
  • sd_card
  • sdmmc
  • SDカード
  • serial
  • spi
  • udp
  • USB仮想シリアル
  • Windows8 serial com driver
  • がじぇっとルネサス
  • がじぇるね
  • シリアル
  • タイマ割込み
  • ネットワーク
  • ライブラリ
  • 割り込み
Related

GR-SAKURAの Serial2.end()でポートが解放されない。

sam
sam over 2 years ago
受信ポートはシリアル受信して送信に割り付けられているポートで応答を接点出力したいのですが
変則的ですが、他にポートが余っていないので・・。
シリアル受信してからSerial2.end();pinMode(6,OUTPUT);digitalWrite(6,LOW);で
どうもポートが解放されない様です。この後、シリアル受信はしなくなるのでシリアル割込は
止まっているようなんですが・・。
 

  • Reply
  • Cancel
  • Cancel
Parents
  • sam
    sam over 2 years ago
    検証対応、本当に感謝します。
    結論・・うまく行きました!
    (1) Serial2.beginをしないとテキスト出力ができなくなる。
    (2) Serial2.beginをするとIOができなくなる。
    (3) Serial2.beginするとpinModeしてもIOができなくなる。
    (4) 再度BCLRが必要。
    (5) pinModeとSerial2.endは不要。

    上記(1)-(5)を纏めて以下で動確がとれました。
    ありがとうございました。

    void setup()
    {
    Serial2.begin(9600);
    BCLR(portModeRegister(digitalPinToPort(6)), digitalPinToBit(6));
    digitalWrite(6, LOW);
    }

    void loop()
    {
    if(Serial2.available())
    {
    Serial2.read();
    BCLR(portModeRegister(digitalPinToPort(6)), digitalPinToBit(6));
    for (int i=0;i<10;i++)
    {
    digitalWrite(6, HIGH);
    delay(200);
    digitalWrite(6, LOW);
    delay(200);
    }
    Serial2.begin(9600);
    }
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Reply
  • sam
    sam over 2 years ago
    検証対応、本当に感謝します。
    結論・・うまく行きました!
    (1) Serial2.beginをしないとテキスト出力ができなくなる。
    (2) Serial2.beginをするとIOができなくなる。
    (3) Serial2.beginするとpinModeしてもIOができなくなる。
    (4) 再度BCLRが必要。
    (5) pinModeとSerial2.endは不要。

    上記(1)-(5)を纏めて以下で動確がとれました。
    ありがとうございました。

    void setup()
    {
    Serial2.begin(9600);
    BCLR(portModeRegister(digitalPinToPort(6)), digitalPinToBit(6));
    digitalWrite(6, LOW);
    }

    void loop()
    {
    if(Serial2.available())
    {
    Serial2.read();
    BCLR(portModeRegister(digitalPinToPort(6)), digitalPinToBit(6));
    for (int i=0;i<10;i++)
    {
    digitalWrite(6, HIGH);
    delay(200);
    digitalWrite(6, LOW);
    delay(200);
    }
    Serial2.begin(9600);
    }
    • Cancel
    • Up 0 Down
    • Reply
    • Cancel
Children
No Data
サイト使用条件
プライバシーポリシー
お問い合わせ
© 2010-2020 Renesas Electronics Corporation. All rights reserved.