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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 2802|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

霍爾傳感器接下位機版縱撕代碼 STM32三串口通信加網(wǎng)絡(luò)通信代碼

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:224255 發(fā)表于 2017-8-3 09:03 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
STM32三串口通信加網(wǎng)絡(luò)通信代碼


霍爾傳感器接下位機版縱撕代碼單片機源程序如下:
  1. #include <stm32f10x.h>
  2. #include <string.h>
  3. #include "includes.h"
  4. #include "timer.h"
  5. #include <stdio.h>

  6. u8 volatile  rcv_usart1_str_flag   = 0;                //串口數(shù)據(jù)接收啟動標(biāo)記
  7. u8 volatile  rcv_usart1_end_flag   = 0;                //串口數(shù)據(jù)接收結(jié)束標(biāo)記                                    
  8. u8 volatile  rcv_usart1_over_count = 0;                //數(shù)據(jù)接收時間溢出標(biāo)記
  9. u8  inRx1Buf[50];                                                        //接收緩存
  10. u16 inRx1Length = 0;                                                  //接收字節(jié)長度
  11. u16 PD_Length=0;
  12. extern u8 kt_flag;
  13. u8 SD_flag=0;
  14. u8 zero_data[4]={0x87,0xff,0xff,0x0a};
  15. unsigned char txt_buf[8]= {0xA5,0x5A,0x05,0x82,0x00,0x02,0x00,0x00};
  16. unsigned char on_off_data[3]={0x88,0x00,0x0a};
  17. unsigned char ceshi_data[3]={0x00,0x00,0x00};

  18. //========
  19. char test[UART1BUF_LEN];
  20. //-=======

  21. u8 uart1RxBuf[UART1BUF_LEN];
  22. u8 uart1RxStart = 0;
  23. u8 uart1RxEnd = 0;

  24. u8 uart2RxBuf[UART2BUF_LEN];
  25. u8 uart2RxStart = 0;
  26. u8 uart2RxEnd = 0;


  27. u8 uart3RxBuf[UART1BUF_LEN];
  28. u8 uart3RxStart = 0;
  29. u8 uart3RxEnd = 0;

  30. void LED_ON(void);
  31. void LED_OFF(void);
  32. void InitLedIO(void);
  33. void USART1_Init(void);
  34. int WriteString(u8 *text, FIL *file);

  35. extern u8 bootup_adjust;
  36. extern u8 bootup_font_update;

  37. #if ICO_TO_SD==0
  38. extern u8 bootup_ico_update;
  39. #endif
  40. u8 wlSendBuf[32];

  41. int res = -1;
  42. u8 rt_flag=0;
  43. UINT byte_read = 0;  
  44. int volatile isFileOpen = -1;
  45. //unsigned char *txt_buf0;
  46. int readok=0;

  47. void NVIC_Configuration(void)
  48. {
  49.         NVIC_InitTypeDef NVIC_InitStructure;
  50.         GPIO_InitTypeDef GPIO_InitStructure;
  51.         EXTI_InitTypeDef EXTI_InitStructure;

  52.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA, ENABLE);
  53.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);
  54.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC, ENABLE);
  55.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  56.         
  57.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;               
  58.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
  59.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  60.     GPIO_Init(GPIOA, &GPIO_InitStructure);
  61.         
  62.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;               
  63.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
  64.     //GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  65.     GPIO_Init(GPIOA, &GPIO_InitStructure);        
  66.         
  67.         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;        
  68.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;      
  69.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  70.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  71.           GPIO_ResetBits(GPIOB, GPIO_Pin_1);
  72.                
  73.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6;        
  74.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  75.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  76.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  77.         GPIO_ResetBits(GPIOB, GPIO_Pin_6);
  78.         
  79.                         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_7;        
  80.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  81.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  82.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  83.           GPIO_ResetBits(GPIOB, GPIO_Pin_7);
  84.         
  85.         
  86.         //GPIOA.0          中斷線以及中斷初始化配置 上升沿觸發(fā) PA0  WK_UP
  87.            GPIO_EXTILineConfig(GPIO_PortSourceGPIOA,GPIO_PinSource0);

  88.            EXTI_InitStructure.EXTI_Line=EXTI_Line0;
  89.           EXTI_InitStructure.EXTI_Mode = EXTI_Mode_Interrupt;        
  90.           EXTI_InitStructure.EXTI_Trigger = EXTI_Trigger_Rising;
  91.                 EXTI_InitStructure.EXTI_LineCmd = ENABLE;
  92.           EXTI_Init(&EXTI_InitStructure);                //根據(jù)EXTI_InitStruct中指定的參數(shù)初始化外設(shè)EXTI寄存器

  93.          
  94.     NVIC_PriorityGroupConfig(NVIC_PriorityGroup_2);
  95.                
  96.                 NVIC_InitStructure.NVIC_IRQChannel = EXTI0_IRQn;                        //使能按鍵WK_UP所在的外部中斷通道
  97.           NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;        //搶占優(yōu)先級2,
  98.           NVIC_InitStructure.NVIC_IRQChannelSubPriority = 1;                                        //子優(yōu)先級3
  99.           NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;                                                                //使能外部中斷通道
  100.           NVIC_Init(&NVIC_InitStructure);

  101.           NVIC_InitStructure.NVIC_IRQChannel = TIM2_IRQn;
  102.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  103.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 0;
  104.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  105.     NVIC_Init(&NVIC_InitStructure);
  106.         
  107.                 NVIC_InitStructure.NVIC_IRQChannel = USART1_IRQn;
  108.                 NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority=3 ;
  109.                 NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;               
  110.                 NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;               
  111.                 NVIC_Init(&NVIC_InitStructure);                                       
  112.         
  113.           NVIC_InitStructure.NVIC_IRQChannel = USART2_IRQn;
  114.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  115.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 2;
  116.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  117.     NVIC_Init(&NVIC_InitStructure);
  118.                
  119.                         NVIC_InitStructure.NVIC_IRQChannel = USART3_IRQn;
  120.     NVIC_InitStructure.NVIC_IRQChannelPreemptionPriority = 0;
  121.     NVIC_InitStructure.NVIC_IRQChannelSubPriority = 3;
  122.     NVIC_InitStructure.NVIC_IRQChannelCmd = ENABLE;
  123.     NVIC_Init(&NVIC_InitStructure);
  124.                
  125.                         GPIO_InitStructure.GPIO_Pin = GPIO_Pin_5;        
  126.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;      
  127.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  128.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  129.           //GPIO_SetBits(GPIOB, GPIO_Pin_5);
  130.                 GPIO_ResetBits(GPIOB, GPIO_Pin_5);
  131. }

  132. void App_Init(void)
  133. {                                          
  134.         delay_init(72);
  135.         NVIC_Configuration();
  136.         USART_Configuration();
  137.         delay_ms(1500);
  138.         Timer_Configuration();
  139.         InitLedIO();
  140. }


  141. void reflus()
  142. {
  143.         int i;
  144.         for(i=0;i<60;i++)
  145.                 {
  146.                          test[i]=0;
  147.                          uart1RxEnd=0;
  148.                 }
  149. }
  150. int main(void)
  151. {        
  152.         int i;

  153.         u8 s[20];
  154.         SystemInit();
  155.         App_Init();        
  156.         delay_ms(10);        
  157.         PD_Length=0;        
  158.         USART1_Put_Data(ceshi_data,3);
  159.   USART3_Put_Data(ceshi_data,3);
  160.   txt_buf[6]=PD_Length>>8;        
  161.   txt_buf[7]=PD_Length&0x00ff;               
  162.   //USART1_Put_Data(txt_buf,8);               
  163. //        GPIO_SetBits(GPIOB, GPIO_Pin_6);         
  164. //        GPIO_SetBits(GPIOB, GPIO_Pin_7);         
  165.                 USART1_Put_Data(zero_data,4);
  166.         USART3_Put_Data(zero_data,4);
  167.         delay_ms(1000);        
  168.         if(kt_flag==1)
  169.         {
  170.                 SD_flag=0;
  171.     on_off_data[1]=0x06;
  172.           GPIO_ResetBits(GPIOB, GPIO_Pin_1);
  173.           USART1_Put_Data(on_off_data,3);
  174.                 USART3_Put_Data(on_off_data,3);
  175.         }
  176.         else
  177.         {
  178.                   SD_flag=1;
  179.       on_off_data[1]=0x05;
  180.             GPIO_SetBits(GPIOB, GPIO_Pin_1);           
  181.             USART1_Put_Data(on_off_data,3);
  182.                   USART3_Put_Data(on_off_data,3);
  183.         }
  184.         while(1)
  185.         {
  186.    if(kt_flag==1&&SD_flag==1)
  187.    {
  188.     delay_ms(1500);
  189.     if(kt_flag==1)
  190.           {
  191.     SD_flag=0;
  192.     on_off_data[1]=0x06;
  193.           GPIO_ResetBits(GPIOB, GPIO_Pin_1);
  194.           USART1_Put_Data(on_off_data,3);
  195.                 USART3_Put_Data(on_off_data,3);
  196.     }
  197.    }
  198.                 uart1RxEnd=0;
  199.           uart3RxEnd=0;
  200.         
  201.         }
  202. }

  203. ……………………

  204. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼

所有資料51hei提供下載:
霍爾傳感器接下位機版縱撕.7z (841.73 KB, 下載次數(shù): 18)




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

使用道具 舉報

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 99爱在线免费观看 | 99久久国产综合精品麻豆 | 免费人成在线观看网站 | 国产一区二 | 国产在线一区二 | 激情国产 | 蜜臀久久 | 午夜影院在线观看版 | 2022国产精品 | 亚洲综合色 | 亚洲综合色 | 国产精品一区二区av | 欧美一级二级视频 | 免费a国产 | 精品国产欧美 | 欧美一级在线免费观看 | 四虎影院美女 | 国产精品亚洲一区 | 久久久做 | 亚洲 欧美 另类 日韩 | 剑来高清在线观看 | 亚洲国产精品自拍 | 午夜看片网站 | 亚洲一区二区免费看 | 国产美女精品视频 | 亚洲一二三区av | 日韩亚洲视频 | 久久精彩 | 91久久综合 | 国产情侣啪啪 | 日韩欧美国产电影 | 国产农村妇女毛片精品久久麻豆 | 成人av网站在线观看 | 精品亚洲一区二区三区 | 亚洲成av| 日韩精品无码一区二区三区 | 东京av男人的天堂 | 日韩不卡视频在线观看 | 操久久| 国产乱码高清区二区三区在线 | 国产欧美精品区一区二区三区 |