找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

stm32f103串口采集程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
#
ID:282776 發(fā)表于 2020-8-10 14:43 | 只看該作者 回帖獎勵 |正序?yàn)g覽 |閱讀模式
STM32F013實(shí)際項(xiàng)目
  1. #include "stdio.h"
  2. #include "stm32f10x.h"
  3. #include "systick.h"

  4. #include "USART.h"
  5. #define KEY1  GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)//讀取按鍵1
  6. char Temp;
  7. char Temp1;
  8. char i;
  9. /*! GPIO Configuration */
  10. void GPIO_Configuration(void)
  11. {
  12.     GPIO_InitTypeDef GPIO_InitStructure;
  13.     // Configure the all GPIO port pins in Analog Input Mode(Floating input


  14.     RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
  15.                            RCC_APB2Periph_GPIOC  | RCC_APB2Periph_GPIOD  | RCC_APB2Periph_GPIOE, ENABLE);

  16.   
  17.         
  18.          RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
  19.    GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
  20.         
  21.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
  22.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
  23.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  24.     GPIO_Init(GPIOB, &GPIO_InitStructure);

  25.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_3;
  26.     GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
  27.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  28.     GPIO_Init(GPIOA, &GPIO_InitStructure);
  29.         
  30.         
  31.     GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
  32.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  33.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  34.     GPIO_Init(GPIOB, &GPIO_InitStructure);
  35.                
  36.                 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
  37.     GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
  38.     GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
  39.     GPIO_Init(GPIOA, &GPIO_InitStructure);
  40.                
  41.                 GPIO_ResetBits(GPIOB,GPIO_Pin_12);   //復(fù)位低電平關(guān)閉
  42.                
  43.                
  44.                
  45.         }
  46. void idscan()//idSET
  47. {


  48. Temp1=GPIO_ReadInputData(GPIOB)&0X0F;



  49. }
  50.          void sankey()
  51. {         
  52.         if((KEY1==1)&&(i==0))
  53.         {
  54.                         delay_ms(20);//大約10m秒采集一次
  55.                         if((KEY1==1)&&(i==0))
  56.                 {
  57.       i=1;
  58.                         Temp=0;
  59.                         GPIO_SetBits(GPIOA,GPIO_Pin_3);   //復(fù)位低電平關(guān)閉
  60.                 }
  61.         }
  62.         if((KEY1==0)&&(i==1))
  63.         {
  64.         delay_ms(20);//大約10m秒采集一次
  65.                         if((KEY1==0)&&(i==1))
  66.                 {
  67.                         Temp=1;
  68.       i=0;
  69.                         GPIO_ResetBits(GPIOA,GPIO_Pin_3);   //復(fù)位低電平關(guān)閉
  70.                 }
  71.         }
  72. }
  73.         
  74. int main()
  75.         {

  76.   delay_init();//初始化延時(shí)功能函數(shù)
  77.   GPIO_Configuration();
  78.         USART1_Init();//初始化串口1         
  79.   IWDG_ReloadCounter();//reload               
  80.         delay_ms(2000);//大約1秒采集一次
  81.         delay_ms(3000);//大約1秒采集一次

  82.         while(1)
  83.                 {
  84.          idscan();//idSET
  85.         GPIO_ResetBits(GPIOA,GPIO_Pin_6);   //復(fù)位低電平關(guān)閉               
  86.         printf("{\"id\":\"");               
  87.   printf("%d",Temp1);//因?yàn)榉直媛适?2,所以乘上0.0625
  88.         printf("\",");                                
  89.         printf("\"Temp\":\"");                                
  90.         printf("%d",Temp);//因?yàn)榉直媛适?2,所以乘上0.0625               
  91.         printf("\"}");                                
  92.         IWDG_ReloadCounter();//reload                                
  93.         GPIO_SetBits(GPIOA,GPIO_Pin_6);   //復(fù)位低電平關(guān)閉                                
  94.         delay_ms(1000);//大約1秒采集一次
  95.   sankey();
  96.                   
  97.                         
  98.           }
  99.         
  100. }
復(fù)制代碼

chengxu.7z

168.81 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5

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

使用道具 舉報(bào)

樓主
ID:74815 發(fā)表于 2021-10-21 14:33 | 只看該作者
這和DTU有什么關(guān)系?
回復(fù)

使用道具 舉報(bào)

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

本版積分規(guī)則

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

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

快速回復(fù) 返回頂部 返回列表