jetson nano端采用python,其他博主的有许多相关通信代码,例如与pc机通信,
#!/usr/bin/python3 import time import serial print("NVIDIA Jetson Nano Developer Kit") serial_port = serial.Serial( port="/dev/ttyUSB0", baudrate=9600, timeout = 2 # 超时时间 ) # Wait a second to let the port initialize time.sleep(1) try: # Send a simple header serial_port.write("A".encode('ascii')) while True: if serial_port.inWaiting() > 0: data = serial_port.read() print(data) serial_port.write(data) except KeyboardInterrupt: print("Exiting Program") except Exception as exception_error: print("Error occurred. Exiting Program") print("Error: " + str(exception_error)) finally: serial_port.close() pass在这里我特别强调四点,首先由于普中科技这款51单片机自带USB转ttl串口模块,所以可以直接用数据线(一定要能传数据的)将两者直接连接,第二点注意port,由于我们jetson端用的USB串口,所以port必须要写成USBx,x具体是多少,可以在插上usb后,输入ls -l /dev/tty* 来查看。第三点在于用.write("".encode('ascii'))函数向串口发送数据时一定要采用ascii编码方式,因为51本事不支持utf-8解码,具体不阐述了。最后51端一定一定要对上自己单片机的晶振是多少,否则绝对通信不成功。
#include <REGX52.H>
#include "UART.h"
unsigned char a,b;
void main()
{
UART_Init();
while(1)
{
}
}
void UART_Routine() interrupt 4
{
if(RI==1)
{
RI=0;
a=SBUF;
UART_SendByte(a);
if(a=='A')
{
P2=0x0F;
UART_SendByte(SBUF);
}
else
{
P2=0xaa;
}
}
}
(没展示全部代码,需要的找我要)最后实验现象就是当运行python端时,51会接受字符A,然后P2端8个小灯会一半亮一半灭。
本文介绍了如何使用Python在NVIDIAJetsonNano上通过USB与51单片机进行通信,包括设置串口参数、数据传输以及51单片机的接收和处理。重点提到了ASCII编码的使用和51单片机晶振匹配的重要性。
2038

被折叠的 条评论
为什么被折叠?



