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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

PIXY視覺追蹤程序

[復制鏈接]
跳轉到指定樓層
樓主
ID:464977 發表于 2019-6-29 11:29 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
pixy視覺追蹤模塊,使用串口通信,只需在主程序調用即可。

源程序如下:
  1. #include "pixy/pixy.h"
  2. uint16_t a,b,c,d,e;


  3. uint8_t Raw_Data[40];//原始數據大包,為解串準備
  4. uint8_t counter;//計數用

  5. void usart2_init(u32 baudRate)
  6.         {
  7.                
  8.         GPIO_InitTypeDef    GPIO_InitStructure;
  9.   NVIC_InitTypeDef    NVIC_InitStructure;
  10.         USART_InitTypeDef   USART_InitStructure;

  11.         RCC_APB1PeriphClockCmd(RCC_APB1Periph_USART2, ENABLE);
  12.         RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD|RCC_APB2Periph_AFIO, ENABLE);
  13.                
  14.         GPIO_PinRemapConfig(GPIO_Remap_USART2,ENABLE);
  15.                
  16.         //UART2 GPIO  TX配置
  17.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;
  18.   GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  19.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
  20.   GPIO_Init(GPIOD, &GPIO_InitStructure);
  21.                
  22.   //UART2 GPIO  RX配置
  23.   GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;
  24.   GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IN_FLOATING;
  25.   GPIO_Init(GPIOD, &GPIO_InitStructure);

  26.         //UART 數據格式配置
  27.         USART_InitStructure.USART_StopBits = USART_StopBits_1;
  28.         USART_InitStructure.USART_Parity = USART_Parity_No;
  29.         USART_InitStructure.USART_WordLength = USART_WordLength_8b;
  30.         USART_InitStructure.USART_HardwareFlowControl = USART_HardwareFlowControl_None;
  31.         USART_InitStructure.USART_Mode = USART_Mode_Tx|USART_Mode_Rx;
  32.         USART_InitStructure.USART_BaudRate = baudRate;
  33.         USART_Init(USART2, &USART_InitStructure);
  34.        
  35.         //中斷配置
  36.   USART_ITConfig(USART2,USART_IT_RXNE,ENABLE);
  37.   NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  38.   NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 1;
  39.   NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  40.   NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  41.   NVIC_Init(&NVIC_InitStructure);

  42.        
  43.   USART_Cmd(USART2, ENABLE);  //使能串口
  44.        
  45.         USART_ClearFlag(USART2, USART_FLAG_TC);
  46.        
  47.         USART_ITConfig(USART2, USART_IT_RXNE, ENABLE);//開啟相關中斷

  48.         //Usart NVIC 配置
  49.   NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;//串口2中斷通道
  50.         NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=1;//搶占優先級1
  51.         NVIC_InitStructure.NVIC_IRQChannelSubPriority =0;                //子優先級0
  52.         NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                        //IRQ通道使能
  53.         NVIC_Init(&NVIC_InitStructure);        //根據指定的參數初始化VIC寄存器、
  54. }




  55. void USART2_IRQHandler(void)                                  //Pixy_Uart_ReadData
  56. {
  57.         int i;
  58.        
  59.   if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)       //等待讀取數據寄存器DR
  60.         {
  61.                 USART_ClearITPendingBit(USART2,USART_IT_RXNE);
  62.                 Raw_Data[counter] = USART_ReceiveData(USART2);
  63.                 counter++;
  64.                 if(counter == 40)
  65.                 {
  66.                         counter=0;                                             //重新回數組頭
  67.                
  68.                         for(i=0;i<40;i++)                                      //計算更新一次坐標
  69.                         {
  70.                                 if((Raw_Data[i] == 0x55)&&(Raw_Data[i+1] == 0xaa)&&(Raw_Data[i+2] == 0x55)&&(Raw_Data[i+3] == 0xaa))
  71.                                         {
  72.                                                 a= Raw_Data[i+6]  + Raw_Data[i+7]*256;           //   a   顏色代號
  73.                                                 b= Raw_Data[i+8]  + Raw_Data[i+9]*256;           //   b   X坐標
  74.                                                 c= Raw_Data[i+10] + Raw_Data[i+11]*256;          //   c   Y坐標
  75.                                                 d= Raw_Data[i+12] + Raw_Data[i+13]*256;          //   d   width
  76.                                                 e= Raw_Data[i+14] + Raw_Data[i+15]*256;          //   e   height
  77.                                                 break;                                           //   跳出for循環
  78.                                         }
  79.                         }
  80.                
  81.                 }
  82.         }
  83. }
復制代碼

所有資料51hei提供下載:
pixy.zip (1.67 KB, 下載次數: 13)


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

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 激情视频网站 | 最新超碰| 亚洲视频中文 | 午夜视频一区二区三区 | 日韩在线观看网站 | 精品国产一二三区 | 综合网伊人 | av在线免费观看不卡 | 中文字幕视频在线看 | 日韩日韩日韩日韩日韩日韩日韩 | 久久成人午夜 | 99热精品在线观看 | 中文在线а√在线8 | 午夜ww | 国产91网址 | 欧美一区二区三区 | 黄网站在线播放 | 中文字幕视频在线观看 | 国产高潮好爽受不了了夜色 | 男女av| 夜夜爽99久久国产综合精品女不卡 | 亚洲精品乱码8久久久久久日本 | 欧美乱淫视频 | 啪啪网页 | 国产成人精品久久 | 一区二区三区高清 | 国产精品久久久 | 欧美精品中文字幕久久二区 | www日本在线 | 国产精品永久免费 | 亚洲444eee在线观看 | 黑人成人网 | 国产视频久久久 | 成人黄色电影免费 | 在线观看午夜视频 | 成人中文字幕在线 | 免费在线一区二区 | 欧美一区二区三区在线播放 | 成人在线国产 | wwww.8888久久爱站网 | 黄在线免费观看 |