標題:
stm32f103串口采集程序
[打印本頁]
作者:
kongtiao1
時間:
2020-8-10 14:43
標題:
stm32f103串口采集程序
STM32F013實際項目
#include "stdio.h"
#include "stm32f10x.h"
#include "systick.h"
#include "USART.h"
#define KEY1 GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_1)//讀取按鍵1
char Temp;
char Temp1;
char i;
/*! GPIO Configuration */
void GPIO_Configuration(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
// Configure the all GPIO port pins in Analog Input Mode(Floating input
RCC_APB2PeriphClockCmd(RCC_APB2Periph_USART1 | RCC_APB2Periph_GPIOA | RCC_APB2Periph_GPIOB |
RCC_APB2Periph_GPIOC | RCC_APB2Periph_GPIOD | RCC_APB2Periph_GPIOE, ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_AFIO, ENABLE);
GPIO_PinRemapConfig(GPIO_Remap_SWJ_JTAGDisable , ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0|GPIO_Pin_1|GPIO_Pin_2|GPIO_Pin_3;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_ResetBits(GPIOB,GPIO_Pin_12); //復位低電平關(guān)閉
}
void idscan()//idSET
{
Temp1=GPIO_ReadInputData(GPIOB)&0X0F;
}
void sankey()
{
if((KEY1==1)&&(i==0))
{
delay_ms(20);//大約10m秒采集一次
if((KEY1==1)&&(i==0))
{
i=1;
Temp=0;
GPIO_SetBits(GPIOA,GPIO_Pin_3); //復位低電平關(guān)閉
}
}
if((KEY1==0)&&(i==1))
{
delay_ms(20);//大約10m秒采集一次
if((KEY1==0)&&(i==1))
{
Temp=1;
i=0;
GPIO_ResetBits(GPIOA,GPIO_Pin_3); //復位低電平關(guān)閉
}
}
}
int main()
{
delay_init();//初始化延時功能函數(shù)
GPIO_Configuration();
USART1_Init();//初始化串口1
IWDG_ReloadCounter();//reload
delay_ms(2000);//大約1秒采集一次
delay_ms(3000);//大約1秒采集一次
while(1)
{
idscan();//idSET
GPIO_ResetBits(GPIOA,GPIO_Pin_6); //復位低電平關(guān)閉
printf("{\"id\":\"");
printf("%d",Temp1);//因為分辨率是12,所以乘上0.0625
printf("\",");
printf("\"Temp\":\"");
printf("%d",Temp);//因為分辨率是12,所以乘上0.0625
printf("\"}");
IWDG_ReloadCounter();//reload
GPIO_SetBits(GPIOA,GPIO_Pin_6); //復位低電平關(guān)閉
delay_ms(1000);//大約1秒采集一次
sankey();
}
}
復制代碼
chengxu.7z
2020-8-14 01:08 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
168.81 KB, 下載次數(shù): 14, 下載積分: 黑幣 -5
作者:
新手121111115
時間:
2021-10-21 14:33
這和DTU有什么關(guān)系?
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1