ROS與STM32串列埠通訊

2021-10-07 06:11:30 字數 940 閱讀 3152

serial安裝

sudo apt-get install ros--serial, 由於是ubuntu 18, 那麼就是:

sudo apt install ros-melodic-serial

安裝好後,在ros終端中輸入如下,建立ros_serial 功能包

mkdir -p ~/catkin_ws/src

cd ~/catkin_ws/src

catkin_create_pkg serial_port roscpp std_msgs serial

開啟 cd serial_port/src

將serial_port.cpp檔案新增進去,

//serial_port.cpp

#include

#include

#include

int main(int argc, char** ar**)

catch(serial::ioexception& e)

//判斷串列埠是否開啟成功

if(sp.isopen())

else

ros::rate loop_rate(500);

while(ros::ok())

; //讀出資料

n = sp.read(buffer, n);

for(int i=0; i儲存,編譯

在caktin_ws目錄下catkin_make

然後,重新開啟終端,執行roscore

然後在執行 $ rosrun serial_port serial_port

注意,如果usb埠不正確可能不成功,

此時可以通過$ ls -l /dev |grep ttyusb 來檢視usb的埠號,在serial.cpp裡面進行修改,修改儲存完畢後,進行編譯

再次執行$ rosrun serial_port serial_port

ROS與STM32串列埠通訊

嘗試了使用ubuntu與stm32控制板的串列埠通訊,走了不少彎路,記錄一下。上位機 ubuntu16.04 下位機 stm32 usb轉串列埠晶元 ch340g 後來又查到了ubuntu 16.04 ch340g驅動問題 還是使用沁恒的c檔案,做兩行修改,然後sudo make sudo make...

stm32串列埠通訊

通訊方式 1 同步通訊 帶時鐘同步訊號傳輸 spi,iic等 2 非同步通訊 不帶時鐘用途訊號 usrt,單匯流排 stm32串列埠引腳表 串口號 rxd txd 1 pa10 pa9 2 pa3pa2 3 pb11 pb10 4 pc11 pc10 5 pd2pc12 通訊過程 接收過程 由rx入...

STM32串列埠通訊

1.常用的串列埠相關暫存器 1 usart sr狀態暫存器,對應的庫函式 flagstatus usart getflagstatus usart typedef usartx,uint16 t usart flag 2 usart dr資料暫存器,對應的庫函式 void usart senddat...