我正在尝试从http://www.qu-bot.com的 qu-bot 接收数据。该机器人有一个 ATML atmega16 微控制器。我编写了一个在机器人上运行的程序,它将数据输出到其串行端口。但是,只要我连接到控制器,程序就会停止。我通过添加哔声语句对此进行了测试。只要程序正在运行,机器人就会发出哔哔声。当我连接到机器人时,哔哔声停止。我尝试了 qu-bo 支持,他们建议禁用串行端口上的 dtr 标志。我这样做了,但没有快乐。
还有什么我可以尝试的吗?[在 qu-bot 上运行的代码开始] 注意:这是用 C 的某种专有变体编写的,他们称之为 quick 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 64bit 上都试过这个程序。我正在粘贴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>