ROS主控讀取stm32發(fā)送的數(shù)據(jù)
之后便可以通過
Stm32_Serial.read(Receive_Data_Pr,sizeof(Receive_Data_Pr));
read函數(shù)讀取串口接收到的字節(jié),之后通過定義的通信協(xié)議再進行和校驗與數(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ù)失敗,打印錯誤信息
}
聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。
舉報投訴
-
數(shù)據(jù)
+關(guān)注
關(guān)注
8文章
7337瀏覽量
94820 -
STM32
+關(guān)注
關(guān)注
2310文章
11166瀏覽量
373585 -
ROS
+關(guān)注
關(guān)注
1文章
294瀏覽量
18754
發(fā)布評論請先 登錄
相關(guān)推薦
熱點推薦
LV接收stm32f407發(fā)送的數(shù)據(jù)
最近用LV作為接收端來接收stm32f407通過串口發(fā)出的連續(xù)數(shù)據(jù),通過串口調(diào)試助手發(fā)現(xiàn)stm32發(fā)送是正常的可以用十六進制顯示,但用LV卻接收不到,沒什么顯示,哪位大神給指點下。
發(fā)表于 04-12 17:43
STM32F407發(fā)送數(shù)據(jù)有的時候發(fā)送不全
使用STM32F407發(fā)送數(shù)據(jù),數(shù)據(jù)有的時候發(fā)送不全,部分內(nèi)容在串口助手顯示不出來
發(fā)表于 11-02 17:13
stm32接受不到51發(fā)送的數(shù)據(jù)
本人用stm32與51進行藍牙通訊,51側(cè)為主機,藍牙已經(jīng)配對成功。但是stm32接受不到51發(fā)送的數(shù)據(jù),用電腦串口+藍牙,stm32就能收
發(fā)表于 04-12 06:11
ROS與STM32之間的聯(lián)系
ROS與STM32之間的聯(lián)系簡介ROS主要實現(xiàn)的功能STM32主要實現(xiàn)的功能兩者之間的關(guān)系兩者之間的通信簡介1、如何實現(xiàn)ROS與
發(fā)表于 06-28 07:49
下位機STM32發(fā)送的數(shù)據(jù)格式與串口參數(shù)
多線程的串口通信1 下位機STM32發(fā)送的數(shù)據(jù)格式與串口參數(shù)1.1下位機上傳的數(shù)據(jù)格式:1.2串口參數(shù)2 上位機程序2.1Future:~~2.2串口參數(shù)同上~~3 QT程序設(shè)計QT走
發(fā)表于 08-24 07:19
ROS如何在代碼層面去接收stm32發(fā)送過來的數(shù)據(jù)?
如何實現(xiàn)ROS與stm32之間的通信?ROS對stm32發(fā)送過來的數(shù)據(jù)做了哪些處理?
發(fā)表于 10-12 08:17
如何解決STM32發(fā)送的數(shù)據(jù)與串口助手上面顯示數(shù)據(jù)不一致的問題?
如何解決STM32發(fā)送的數(shù)據(jù)與串口助手上面顯示數(shù)據(jù)不一致的問題?
發(fā)表于 12-09 06:59
如何使用stm32發(fā)送結(jié)構(gòu)體中的數(shù)據(jù)?
如何使用stm32發(fā)送結(jié)構(gòu)體中的數(shù)據(jù)?
發(fā)表于 12-09 06:42
STM32F103的內(nèi)存是怎樣通過DMA向串口1發(fā)送數(shù)據(jù)的
STM32F103的內(nèi)存是怎樣通過DMA向串口1發(fā)送數(shù)據(jù)的?
發(fā)表于 12-14 07:26
STM32發(fā)送數(shù)據(jù)時可以用中斷進行發(fā)送嗎
單片機普通發(fā)送和中斷發(fā)送的區(qū)別在哪?STM32發(fā)送數(shù)據(jù)時可以用中斷進行發(fā)送嗎?
發(fā)表于 01-19 07:21
我用stm32通過RS485發(fā)送數(shù)據(jù)到串口,串口收到數(shù)據(jù)是亂碼是怎么回事啊?
我用stm32通過RS485發(fā)送數(shù)據(jù)到串口,串口收到數(shù)據(jù)是亂碼是怎么回事???就是從AB端讀取的數(shù)據(jù)
發(fā)表于 11-08 09:57
STM32F103ZET6基于RS485發(fā)送接收簡單例程
這是一個STM32F103ZET6基于HAL庫的RS485發(fā)送接收簡單例程,如需后期開發(fā)只需要添加自己的串口協(xié)議。
發(fā)表于 08-29 16:08
?306次下載
stm32f407+485發(fā)送modbus RTU協(xié)議 適合初學(xué)者
任務(wù)內(nèi)容用485發(fā)送modbus TCP協(xié)議,用modbus調(diào)試軟件modsim32 查看發(fā)送及響應(yīng)的數(shù)據(jù)。用的是正點原子的開發(fā)板,stm32f407.任務(wù)實現(xiàn)485
發(fā)表于 12-24 19:16
?63次下載
485發(fā)送接收切換問題討論
485發(fā)送接收切換導(dǎo)致最后一位數(shù)據(jù)停止位丟失)現(xiàn)象現(xiàn)象單片機485發(fā)送接收常規(guī)做法是在發(fā)送完成中斷控制485芯片的DE/RE腳電平來切換為接收狀態(tài)。在中斷中直接切換,波形如下:上訴串口
發(fā)表于 01-14 13:20
?6次下載
ROS主控讀取stm32發(fā)送的數(shù)據(jù)
評論