我想编写自己的代码来管理一个Arduino串口(9位串行),所以我需要绕过Serial1 TX的预编程arduino ISR矢量。我可以通过修改HardwareSerial1.cpp来实现这一点,但我不喜欢这样一个事实:我的代码变得不可移植,并且可能成为库更新的牺牲品。
你知道如何编程一个不同的ISR向量而不干扰库代码吗?我在我自己的代码中尝试了这一点,但没有结果:
//bypass arduino library for serial 1 and use this ISR instead
ISR(UART1_UDRE_vect)
{
9bitSerial.interrupt();
我的工作是机器人,它必须控制使用无线串行通信。机器人在微控制器上运行(通过燃烧一个.hex文件)。我想用我的Linux () PC来控制它。我是新来的串口编程。我能够发送数据,但我不能读取数据。
在微控制器上运行的几段代码:
函数发送数据:
void TxData(unsigned char tx_data)
{
SBUF = tx_data; // Transmit data that is passed to this function
while(TI == 0) // Wait while data is being transmitted
;
}
我是新来的,所以我需要你们的帮助。在玩串行端口时,我想为什么不使用我的ubuntu15.04笔记本电脑上的/dev/ttyS*串口,从一个终端回显,另一个使用cat/侦听。当我执行cat /dev/ttyS0时,它会给我输入输出错误。然后我尝试在python上使用pyserial来完成它。当我这么做
import serial
ser = serial.Serial('/dev/ttyS0')
它给了我SerialException: Could not configure port: (5, 'Input/output error')
在查看了堆栈溢出之后,我