久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 12505|回復: 14
打印 上一主題 下一主題
收起左側

求助:我用stm32f103串口接收數(shù)據(jù),怎么處理接收后的數(shù)據(jù)呢?

  [復制鏈接]
跳轉到指定樓層
樓主
ID:331360 發(fā)表于 2018-8-16 18:41 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
5黑幣
我用stm32f103串口接收數(shù)據(jù),怎么處理接收后的數(shù)據(jù)呢?
比如說,串口接收數(shù)據(jù)為數(shù)字1,stm32怎么樣識別這個數(shù)字1

分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發(fā)
ID:387026 發(fā)表于 2018-8-16 19:49 | 只看該作者
可以通過顯示屏,或者LED亮暗來識別吧
回復

使用道具 舉報

板凳
ID:387033 發(fā)表于 2018-8-16 20:25 | 只看該作者
void Init_NVIC(void) {                  NVIC_InitTypeDef NVIC_InitStructure;                        //定義一個NVIC向量表結構體變量          NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);        //設置中斷組 為2             NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;                                //配置串口1為中斷源         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;           //設置占先優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                               //設置副優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                        //使能串口1中斷         NVIC_Init(&NVIC_InitStructure);                                                                                //根據(jù)參數(shù)初始化中斷寄存器                  NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel6_IRQn;                                //配置串口1為中斷源         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;           //設置占先優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                               //設置副優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                        //使能串口1中斷         NVIC_Init(&NVIC_InitStructure);                                                                                //根據(jù)參數(shù)初始化中斷寄存器                  NVIC_InitStructure.NVIC_IRQChannel = DMA1_Channel7_IRQn;                                //配置串口1為中斷源         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 3;           //設置占先優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;                               //設置副優(yōu)先級         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                        //使能串口1中斷         NVIC_Init(&NVIC_InitStructure);                                                                                //根據(jù)參數(shù)初始化中斷寄存器                   }
回復

使用道具 舉報

地板
ID:364278 發(fā)表于 2018-8-16 21:29 | 只看該作者
pc機和單片機通信的話發(fā)送的默認接收到的實際是1的ascll碼,你可以上網(wǎng)搜搜如何轉換,將接收的處理一下就能轉換了
回復

使用道具 舉報

5#
ID:384109 發(fā)表于 2018-8-16 21:48 | 只看該作者
用判斷語句,或SWITCH語句,串口通訊都是由協(xié)議的,接收到數(shù)據(jù)后根據(jù)協(xié)議格式和內(nèi)容進行判斷就行了
回復

使用道具 舉報

6#
ID:308437 發(fā)表于 2018-8-16 23:29 | 只看該作者
原子歷程直接有呢,還是識別數(shù)組的呢。你去看下。
回復

使用道具 舉報

7#
ID:387162 發(fā)表于 2018-8-17 13:54 | 只看該作者
一般是16進制的
回復

使用道具 舉報

8#
ID:174087 發(fā)表于 2018-8-17 14:32 | 只看該作者
使用串口助手發(fā)送的“1”其實是字符“1”,在接收判斷的時候注意變量類型就可以了
回復

使用道具 舉報

9#
ID:331360 發(fā)表于 2018-8-17 18:46 | 只看該作者
yousunny 發(fā)表于 2018-8-16 23:29
原子歷程直接有呢,還是識別數(shù)組的呢。你去看下。

可以給發(fā)一下嗎?謝謝
回復

使用道具 舉報

10#
ID:331360 發(fā)表于 2018-8-17 19:02 | 只看該作者
人中狼 發(fā)表于 2018-8-16 21:48
用判斷語句,或SWITCH語句,串口通訊都是由協(xié)議的,接收到數(shù)據(jù)后根據(jù)協(xié)議格式和內(nèi)容進行判斷就行了

這個while應該怎么改一下呢
while(1)
    {       
       if(USART_RX_STA&0x8000)
                {                                          
                        len=USART_RX_STA&0x3fff;//
                        printf("\r\nÄú·¢ËíμÄÏûÏ¢Îa:\r\n");
                        HAL_UART_Transmit(&UART1_Handler,(uint8_t*)USART_RX_BUF,len,1000);        //·¢Ëí½óêÕμ½μÄêy¾Y
                        while(__HAL_UART_GET_FLAG(&UART1_Handler,UART_FLAG_TC)!=SET);                //μè′y·¢Ëí½áêø
                        printf("\r\n\r\n");//2åèë»»DD
                        USART_RX_STA=0;
                }else
                {
                        times++;
                        if(times%5000==0)
                        {
                                printf("\r\nALIENTEK MiniSTM32¿a·¢°å ′®¿úêμÑé\r\n");
                                printf("ÕyμãÔ-×ó@ALIENTEK\r\n\r\n\r\n");
                        }
                        if(times%200==0)printf("Çëêäèëêy¾Y,òÔ»Ø3μ¼ü½áêø\r\n");  
                        if(times%30==0)LED0=!LED0;//éá˸LED,ìáê¾Ïμí3ÕyÔúÔËDD.
                        delay_ms(10);   
                }
    }
回復

使用道具 舉報

11#
ID:383525 發(fā)表于 2018-8-17 21:13 | 只看該作者
看你定義的是用什么類型接收,如果是char型就是字符,如果你用的是int型接收,那就可以直接當做int的使用,其實還是看傳輸協(xié)議兩邊的人是怎么定義的,只要對應好關系就可以的
回復

使用道具 舉報

12#
ID:280876 發(fā)表于 2018-8-23 20:12 | 只看該作者
這是我寫modbus串口中斷處理函數(shù),你看一下

#if EN_USART1_RX                   //如果使能了接收             

void USART1_IRQHandler(void)
{
  u8 res;          
  if((__HAL_UART_GET_FLAG(&USART1_RS485Handler,UART_FLAG_RXNE)!=RESET))  //接收中斷
  {                
    HAL_UART_Receive(&USART1_RS485Handler,&res,1,1000);
    if(RS485_RX_CNT<2047)
    {
      RS485_RX_BUFF[RS485_RX_CNT]=res;                //記錄接收到的值
      RS485_RX_CNT++;                              //接收數(shù)據(jù)增加1
      __HAL_TIM_CLEAR_IT(&htim3, TIM_IT_UPDATE);  //清除中斷標志
      __HAL_TIM_SetCounter(&htim3,0);  //當接收到一個新的字節(jié),將定時器3復位為0,重新計時(相當于喂狗)
      __HAL_TIM_ENABLE(&htim3);       //啟動定時器
      
      
    }
  }
}   
#endif
回復

使用道具 舉報

13#
ID:381818 發(fā)表于 2018-8-24 09:35 | 只看該作者
如果你是16進制發(fā)送的話,直接if判斷接收是否為1就可以了,如果不是的話你就判斷是否位字符“1”
回復

使用道具 舉報

14#
ID:389529 發(fā)表于 2018-8-24 10:25 | 只看該作者
讀出來存在相應的數(shù)組里,有空就去處理,怎么處理要看需求
回復

使用道具 舉報

15#
ID:389552 發(fā)表于 2018-8-24 10:27 | 只看該作者
C語言的標準庫里有一個函數(shù)叫int atoi(const char *nptr);
頭文件, #include <stdlib.h>
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 久久九九色 | 亚洲成人一区二区三区 | 日韩欧美一二三区 | 欧美老少妇一级特黄一片 | 91精品国产日韩91久久久久久 | 午夜视频在线免费观看 | 五月激情六月婷婷 | 国产成人福利 | 国产一级视屏 | 日本aa毛片a级毛片免费观看 | 黑人巨大精品欧美一区二区免费 | 不卡欧美 | 羞羞视频网站在线观看 | 免费一级淫片aaa片毛片a级 | 最近日韩中文字幕 | 免费国产黄网站在线观看视频 | 国产欧美日韩在线播放 | 黄色免费三级 | 成人a免费 | 欧美在线国产精品 | 精品网站999www| 久久久成人免费一区二区 | 99热这里都是精品 | 免费黄色网址视频 | 超碰97人人人人人蜜桃 | 欧美极品少妇xxxxⅹ免费视频 | 国产精品1区| 久久精品国产久精国产 | 尤物视频在线免费观看 | 6080亚洲精品一区二区 | 色婷婷国产精品综合在线观看 | 欧美亚洲国语精品一区二区 | 色婷婷久久久久swag精品 | 欧美性大战xxxxx久久久 | 亚洲成人精品一区 | 国产在线小视频 | 欧美色综合网 | 国产激情视频网 | 国产网站在线免费观看 | 色综合99 | 四季久久免费一区二区三区四区 |