http://www.qu-bot.comで qu-bot からデータを受信しようとしています。ロボットには、ATML atmega16 マイクロコントローラーが搭載されています。シリアルポートにデータを出力するロボット上で実行されるプログラムを作成しました。ただし、コントローラーに接続するたびにプログラムが停止します。beep ステートメントを追加して、これをテストしました。プログラムが実行されている限り、ロボットはビープ音を鳴らします。ロボットに接続するとビープ音が止まります。qu-bo サポートを試してみたところ、シリアル ポートの dtr フラグを無効にすることが提案されました。私はそれをしましたが、喜びはありませんでした。
他に試せることはありますか?[qu-bot で実行されているコードの開始] 注: これは、quick c と呼ばれるある種の独自の C バリアントで記述されています。// このコードは uart 関数を表示します。
int main(void)
{
INIT();
UART_INIT(57600);
UART_PRINT("HELLO!!\n");
DELAYS(1);
UART_PRINT("MY NAME IS QU-BOT.\n");
DELAYS(1);
UART_PRINT("HELLO!!\n");
UART_PRINT("YOU ARE USING UART SAMPLE CODES.\n");
while(1)
{
UART_PRINT("test\n");
BEEP();
DELAYS(60);
}
}
今度は私のpythonシリアルポート読み取りプログラムです。このプログラムは、raspbian と Windows 7 64 ビットの両方で試しました。Windows版を貼り付けています。raspbian バージョンは、Linux とは別の名前です。
import serial
import time
ser=serial.Serial()
ser.port=8
ser.baudrate=57600
ser.setDsrDtr(False)
print 'initialized'
flag = ser.isOpen()
if flag:
print 'port already open.'
pass
else:
ser.open() # opening the port 'ser' that was just created to receive data
time.sleep(0.5)
print 'ready to read'
print ser
ser.write('a')
s=ser.read(4)
print s
ser.close()
Pranav
PS私はとりわけ次のリンクを調べました。
<https://learn.sparkfun.com/tutorials/terminal-basics/all>
<http://www.plainlystated.com/2013/06/raspberry-pi-serial-console/>
<http://elinux.org/RPi_Serial_Connection>
<https://learn.sparkfun.com/tutorials/terminal-basics/all>