国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網

這篇具有很好參考價值的文章主要介紹了Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

最近使用JDY-10M藍牙組網,需要Arduino收發(fā)數據,將遇到的一些問題與最終解決方法分享給大家,如果內容有問題,還請大家指點。

1、JDY-10M組網

關于如何JDY-10M如何組網網上介紹,這里不做介紹,這里貼一個鏈接。

(16條消息) JDY-10M藍牙簡易組網教程_jdy–10m 命令_小明ohhh的博客-CSDN博客

使用串口助手的時候,收發(fā)數據都正常,所以問題就是完成下圖的功能:①波特率115200②以HEX16進制發(fā)送數據③數據開頭帶AAFBFFF(后面為數據內容)。

Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網

2、發(fā)送16進制數據

#include <SoftwareSerial.h>
SoftwareSerial JDY(8,9);
char a[] = {0xAA,0XFB,0xFF,0xFF,0x2D,0x31,0x32,0x2E,0x33,0x34};
String str;

void setup() {
    JDY.begin(115200);
}
void loop() {
    JDY.write(a,10);
    delay(500);
}

之前代碼用的硬串口Serial.write(),就出現了兩個問題:①接收數據時對時錯②接收數據的時間不確定(不是500ms)。改為軟串口后就好了,上面發(fā)送的為-12.34。

之前接收是左邊這樣的(發(fā)的82),現在是右邊這樣(發(fā)的-12.34)

Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網←自帶串口發(fā)(時對時錯)?Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網←軟串口發(fā)(沒有問題)?

如果需要發(fā)兩組或多組數據,不能連續(xù)使用.write(),中間需要delay()一下,否則串口沒法接收,代碼如下:

(我使用模塊發(fā)送數據時,發(fā)送數據長度不能超過14,否則串口接收不到數據,不清楚為什么)

#include <SoftwareSerial.h>
SoftwareSerial JDY(8,9);
char a[] = {0xAA,0XFB,0xFF,0xFF,0x2D,0x31,0x32,0x2E,0x37,0x38,0x35,0x36,0x31,0x31};
char b[] = {0xAA,0XFB,0xFF,0xFF,0x2D,0x31,0x31,0x2E,0x31,0x31,0x31,0x31,0x31,0x31};
String str;

void setup() {
  Serial.begin(115200);
  JDY.begin(115200);
}
void loop() {
    JDY.write(a,14);
    delay(500);
    JDY.write(b,14);
    delay(500);
}

3、接收16進制數據

byte variable[80];
byte index = 0;
char data[10];
String a;
void setup()
{
Serial.begin(115200); 
}
void loop(){
  while( Serial.available()>0 ){
    byte serialData = Serial.read();
    variable[index++] = serialData;

    if(index==13){
   for (int i=3;i<13;i++){
     if(variable[i]==48){
      data[i-3]='0';}
      else if(variable[i]==49){
      data[i-3]='1';}
      else if(variable[i]==50){
      data[i-3]='2';}
      else if(variable[i]==51){
      data[i-3]='3';}
      else if(variable[i]==52){
      data[i-3]='4';}
      else if(variable[i]==53){
      data[i-3]='5';}
      else if(variable[i]==54){
      data[i-3]='6';}
      else if(variable[i]==55){
      data[i-3]='7';}
      else if(variable[i]==56){
      data[i-3]='8';}
      else if(variable[i]==57){
      data[i-3]='9';}
      else if(variable[i]==45){
      data[i-3]='-';}
      else if(variable[i]==46){
      data[i-3]='.';}
     delay(10);
     }
  for (int i=0;i<10;i++){
  a+=data[i];}
  Serial.print(a);
  a="";
  index = 0;
  String data="";
  Serial.println("");
}
}
}

因為我接收的數據總共13位,所以index=13,有用的數據從第四位開始的,所以i=3,大家根據自己情況調整。

這里面serialData為接收的原始數據,是ASCII對應的值,所以后面給改成了對應的字符,存在了a里面。

這樣就可以正常接收數據了,并且沒有亂碼。

下面是之前用的代碼,但是顯示數據也是時對時錯,并且時間上對不上,不建議大家使用,或者大家可以看看問題出在那里。

//此代碼有問題
#include <String.h>
String comdata = "";

void setup()
{Serial.begin(115200);
BT.begin(115200);}
void loop()
{
    while (BT.available() > 0)  
    {
      comdata += char(BT.read());
      delay(2);
    }
    if (comdata.length() > 0)
    {
      Serial.println(comdata);
      comdata = "";
    }
}

以上就是最近幾周本人的學習分享,如果有哪里不對還請大家擔待指正!謝謝!文章來源地址http://www.zghlxwxcb.cn/news/detail-461741.html

到了這里,關于Arduino串口發(fā)送與接收16進制數據(HEX)(數據亂碼)-JDY-10M組網的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯(lián)網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • python發(fā)送16進制數據

    可以使用Python的內置函數 bytes.fromhex() 來將一個16進制字符串轉換為字節(jié)序列,然后將字節(jié)序列發(fā)送到指定的位置。 以下是一個示例代碼,假設要將16進制字符串 \\\"0A0B0C0D\\\" 發(fā)送到IP地址為 192.168.0.100 ,端口號為 8080 的設備上:

    2024年02月12日
    瀏覽(14)
  • 串口通信-發(fā)送和接收數據

    串口通信-發(fā)送和接收數據

    目錄 通信方式 硬件電路 軟件部分 USART外設(同步/異步收發(fā)器) 波特率 引腳復用 初始化基本流程 發(fā)送 接收 語言簡述 常用的函數 使用的結構體 引腳模式 打印數據的三種方法 使用printf 在實際的串口中,只能發(fā)送二進制數,也就是十六進制的最直接數據。如果想發(fā)送字符,

    2024年02月12日
    瀏覽(94)
  • 【前端】WebSocket接收二進制數據轉JSON并解決中文亂碼問題(ArrayBuffer轉json)

    【前端】WebSocket接收二進制數據轉JSON并解決中文亂碼問題(ArrayBuffer轉json)

    WebSocket與mqtt服務器通信,接收二進制數據并將其轉為Json使用。一般方式都會出現中文亂碼問題。

    2024年01月22日
    瀏覽(21)
  • stm32串口自定義協(xié)議接收一串十六進制數據(將其中兩個字節(jié)轉化為十進制數據)+部分串口基礎知識

    stm32串口自定義協(xié)議接收一串十六進制數據(將其中兩個字節(jié)轉化為十進制數據)+部分串口基礎知識

    位(bit): 二進制數中的一個數位,可以是0或者1,是計算機中數據的最小單位。 字節(jié)(Byte): 計算機中數據的基本單位,每8位組成一個字節(jié)。各種信息在計算機中存儲、處理至少需要一個字節(jié)。 例如,一個ASCII碼用一個字節(jié)表示,一個漢字用兩個字節(jié)表示。 字(Word):

    2023年04月08日
    瀏覽(27)
  • 串口發(fā)送數據,只接收到00的原因之一

    串口發(fā)送數據,只接收到00的原因之一

    1、環(huán)境: STM32F103RCT6 KEIL 5 2、現象: 不管我發(fā)送任何類型的數據,在串口助手上顯示接收到的都是00, 我頭很大,去網上找了別人的代碼對比檢查。 終于,細心的我發(fā)現,原來粗心的我少了一行代碼。 3、解決方案1 RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1,ENABLE); 好了,加上這一行

    2024年02月12日
    瀏覽(108)
  • 最詳細STM32,cubeMX串口發(fā)送,接收數據

    最詳細STM32,cubeMX串口發(fā)送,接收數據

    這篇文章將詳細介紹 串口 發(fā)送數據,接受數據。 實驗開發(fā)板:STM32F103C8T6。 所需軟件:keil5 , cubeMX 。 實驗目的:了解 串口的基礎知識,掌握串口如何發(fā)送,接收數據 。 實驗:串口發(fā)送數據點亮 led。 如果想了解串口的基礎知識可以參考我之前的文章: STM32Cube串口USART發(fā)送

    2024年02月04日
    瀏覽(126)
  • C#與松下PLC串口通訊發(fā)送,接收數據

    C#與松下PLC串口通訊發(fā)送,接收數據

    記錄與學習 第一次跟PLC打交道,C#與松下plc交互讀寫功能,很多東西都是自己在網上找的,整理了下做個記錄 ?引入“Panasonic.dll”文件 下載地址 百度盤百度網盤 請輸入提取碼? 提取碼:8vnm ?public Panasonic.PLC Sp_PLC;? ?Sp_PLC.WCS(\\\"R\\\", \\\"1\\\", true);//提示PLC軟件初始化完成,可以正常工

    2023年04月12日
    瀏覽(97)
  • STM32實現三個串口同時開啟發(fā)送接收數據

    STM32實現三個串口同時開啟發(fā)送接收數據

    ????????實現STM32開通三個串口,每個串口都可以實現接收和發(fā)送數據。 ???????? 編程時,嚴禁在中斷函數中寫入發(fā)送串口數據代碼,否則會出錯,具體原因不清楚(有大佬知道的話幫我指出),可能原因是DR寄存器沖突導致。 ? ? ? ? RX,TX連接到A9,A10使用串口1,使

    2024年04月13日
    瀏覽(89)
  • C#串口通信從入門到精通(26)——多個串口多個線程發(fā)送數據和接收數據

    C#串口通信從入門到精通(26)——多個串口多個線程發(fā)送數據和接收數據

    我們在開發(fā)串口程序的過程中有時候會遇到多個串口,并且多個串口也需要在多個線程進行操作,本文就來講解如何實現多個串口在多線程下的安全發(fā)送與接收。 我們首先使用虛擬串口助手虛擬COM1、COM2這一對串口;COM3、COM4這一對串口,然后使用代碼操作COM1,然后打開一個

    2024年02月11日
    瀏覽(90)
  • P27[9-3]STM32:串口通信(串口發(fā)送)(內含:1.接線圖+2.實物圖+3.代碼部分+4.解決串口發(fā)送數據,數據是漢字,結果發(fā)送結果為亂碼的現象)

    P27[9-3]STM32:串口通信(串口發(fā)送)(內含:1.接線圖+2.實物圖+3.代碼部分+4.解決串口發(fā)送數據,數據是漢字,結果發(fā)送結果為亂碼的現象)

    1.接線圖如下: 跳線帽接在4~5引腳,2,3引腳連接PA9和PA10引腳。下圖也可得出USART接PA9和PA10引腳。 TX和RX是交叉連接。PA9(黃線)是TX,接RXD。PA9(綠線)是RXD,接TX. 圖中的串口模塊和STINK都接電腦上,使之擁有獨立供電。 2.實物圖: 黃色為跳線帽,接4~5引腳。

    2024年02月09日
    瀏覽(23)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包