ROS主控讀取stm32發(fā)送的數(shù)據(jù)
之后便可以通過
Stm32_Serial.read(Receive_Data_Pr,sizeof(Receive_Data_Pr));
read函數(shù)讀取串口接收到的字節(jié),之后通過定義的通信協(xié)議再進(jìn)行和校驗與數(shù)據(jù)解析即可stm32向ROS主控發(fā)送數(shù)據(jù)。
ROS主控向stm32發(fā)送數(shù)據(jù)
ROS主控向stm32發(fā)送數(shù)據(jù)的代碼如下:
將之前定義的發(fā)送數(shù)據(jù)的結(jié)構(gòu)體 Send_Data的tx 中填入要發(fā)送的字節(jié)
Send_Data.tx[0]=FRAME_HEADER; //frame head 0x7B //幀頭0X7B
Send_Data.tx[1] = 0; //set aside //預(yù)留位
Send_Data.tx[2] = 0; //set aside //預(yù)留位
填好字節(jié)后,直接通過下面代碼發(fā)送即可
try
{
Stm32_Serial.write(Send_Data.tx,sizeof (Send_Data.tx)); //Sends data to the downloader via serial port //通過串口向下位機發(fā)送數(shù)據(jù)
}
catch (serial::IOException& e)
{
ROS_ERROR_STREAM("Unable to send data through serial port"); //If sending data fails, an error message is printed //如果發(fā)送數(shù)據(jù)失敗,打印錯誤信息
}
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7170瀏覽量
89708 -
STM32
+關(guān)注
關(guān)注
2273文章
10926瀏覽量
357799 -
ROS
+關(guān)注
關(guān)注
1文章
281瀏覽量
17127
發(fā)布評論請先 登錄
相關(guān)推薦
LV接收stm32f407發(fā)送的數(shù)據(jù)
STM32F407發(fā)送數(shù)據(jù)有的時候發(fā)送不全
stm32接受不到51發(fā)送的數(shù)據(jù)
ROS與STM32之間的聯(lián)系
下位機STM32發(fā)送的數(shù)據(jù)格式與串口參數(shù)
ROS如何在代碼層面去接收stm32發(fā)送過來的數(shù)據(jù)?
如何解決STM32發(fā)送的數(shù)據(jù)與串口助手上面顯示數(shù)據(jù)不一致的問題?
如何使用stm32發(fā)送結(jié)構(gòu)體中的數(shù)據(jù)?
STM32F103的內(nèi)存是怎樣通過DMA向串口1發(fā)送數(shù)據(jù)的
STM32發(fā)送數(shù)據(jù)時可以用中斷進(jìn)行發(fā)送嗎
我用stm32通過RS485發(fā)送數(shù)據(jù)到串口,串口收到數(shù)據(jù)是亂碼是怎么回事???
STM32F103ZET6基于RS485發(fā)送接收簡單例程
stm32f407+485發(fā)送modbus RTU協(xié)議 適合初學(xué)者
![<b class='flag-5'>stm32</b>f407+485<b class='flag-5'>發(fā)送</b>modbus RTU協(xié)議 適合初學(xué)者](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
485發(fā)送接收切換問題討論
![485<b class='flag-5'>發(fā)送</b>接收切換問題討論](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評論