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

標題: PIXY視覺追蹤程序 [打印本頁]

作者: 湘江舊跡秋心    時間: 2019-6-29 11:29
標題: PIXY視覺追蹤程序
pixy視覺追蹤模塊,使用串口通信,只需在主程序調(diào)用即可。

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


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

  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 數(shù)據(jù)格式配置
  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);//開啟相關(guān)中斷

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




  55. void USART2_IRQHandler(void)                                  //Pixy_Uart_ReadData
  56. {
  57.         int i;
  58.        
  59.   if(USART_GetITStatus(USART2, USART_IT_RXNE) != RESET)       //等待讀取數(shù)據(jù)寄存器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;                                             //重新回數(shù)組頭
  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循環(huán)
  78.                                         }
  79.                         }
  80.                
  81.                 }
  82.         }
  83. }
復(fù)制代碼

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







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 日韩欧美视频免费在线观看 | 在线观看中文字幕 | 黄色毛片网站在线观看 | 日韩一区二区三区视频在线观看 | 国产精品色一区二区三区 | 国产成人精品免费视频大全最热 | 999热视频| av片免费 | 欧美理论在线观看 | 国产精品无码永久免费888 | 理论片午午伦夜理片影院 | 欧美日韩一区二区三区在线观看 | 免费中文字幕日韩欧美 | japanhd成人| 精品国产一区二区三区观看不卡 | 亚洲精品一区二区 | 我要看一级片 | 久久久久九九九女人毛片 | 亚洲免费在线观看 | 黑人中文字幕一区二区三区 | 成人免费看黄 | 精品九九| 亚洲第一色站 | 日本三级网站在线 | 久久国产亚洲 | 国产精品久久久久免费 | a国产视频 | 精品久久久一区 | 青青草这里只有精品 | 成人福利电影 | 日韩中文字幕一区二区 | 日韩av电影院 | 在线国产一区二区三区 | 亚洲一区二区视频在线观看 | 欧美精品久久久久 | 午夜小电影| 狠狠狠干| 日韩精品一区二区三区在线观看 | 亚洲啊v在线 | 99国内精品 | 日韩精品视频在线免费观看 |