找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 2336|回复: 1
打印 上一主题 下一主题
收起左侧

stm32f103串口采集程序

[复制链接]
跳转到指定楼层
楼主
ID:282776 发表于 2020-8-10 14:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM32F013实际项目
  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);   //复位低电平关闭
  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);   //复位低电平关闭
  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);   //复位低电平关闭
  70.                 }
  71.         }
  72. }
  73.         
  74. int main()
  75.         {

  76.   delay_init();//初始化延时功能函数
  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);   //复位低电平关闭               
  86.         printf("{\"id\":\"");               
  87.   printf("%d",Temp1);//因为分辨率是12,所以乘上0.0625
  88.         printf("\",");                                
  89.         printf("\"Temp\":\"");                                
  90.         printf("%d",Temp);//因为分辨率是12,所以乘上0.0625               
  91.         printf("\"}");                                
  92.         IWDG_ReloadCounter();//reload                                
  93.         GPIO_SetBits(GPIOA,GPIO_Pin_6);   //复位低电平关闭                                
  94.         delay_ms(1000);//大约1秒采集一次
  95.   sankey();
  96.                   
  97.                         
  98.           }
  99.         
  100. }
复制代码

chengxu.7z

168.81 KB, 下载次数: 14, 下载积分: 黑币 -5

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享淘帖 顶 踩
回复

使用道具 举报

沙发
ID:74815 发表于 2021-10-21 14:33 | 只看该作者
这和DTU有什么关系?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表