1、主程序
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "led.h"
//#include "beep.h"
#include "key.h"
#include "exti.h"
//#include "iwdg.h"
//#include "pwm.h"
#include "magnetic.h"
#include "stdio.h"
#include "timer.h"
extern int a[9];
int main(void)
{
delay_init(168); //延时初始化
uart_init(115200); //串口初始化波特率为115200
magnetic_IO_Init();
SystemInit();
while(1)
{
if(SW1==0)
{printf("
SW1==%d:
",SW1);
delay_ms(100);}
if(SW2==0)
{printf("
SW2==%d:
",SW2);
delay_ms(100);}
if(SW3==0)
{printf("
SW3==%d:
",SW3);
delay_ms(100);}
if(SW4==0)
{printf("
SW4==%d:
",SW4);
delay_ms(100);}
if(SW5==0)
{printf("
SW5==%d:
",SW5);
delay_ms(100);}
if(SW6==0)
{printf("
SW6==%d:
",SW6);
delay_ms(100);}
if(SW7==0)
{printf("
SW7==%d:
",SW7);
delay_ms(100);}
if(SW8==0)
{printf("
SW8==%d:
",SW8);
delay_ms(100);}
}
}
2、磁导航端口配置
#ifndef __MAGNETIC_H
#define __MAGNETIC_H
#include "sys.h"
//位带操作 读取磁导航IO口数据
#define SW1 PBin(1)
#define SW2 PAin(4)
#define SW3 PCin(5)
#define SW4 PAin(12)
#define SW5 PAin(11)
#define SW6 PAin(6)
#define SW7 PCin(4)
#define SW8 PCin(1)
//初始化
void magnetic_IO_Init(void);
//float magnetic_Init(float p);
#endif
#include "magnetic.h"
#include "stm32f4xx_rcc.h"
#include "delay.h"
//磁导航传感器端口初始化函数
void magnetic_IO_Init(void)
{
GPIO_InitTypeDef GPIO_Initstruct;
RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOA|RCC_AHB1Periph_GPIOB|RCC_AHB1Periph_GPIOC,ENABLE);
//GPIOA-4 6 11 12 端口初始化
GPIO_Initstruct.GPIO_Pin=GPIO_Pin_4|GPIO_Pin_6|GPIO_Pin_11|GPIO_Pin_12;
GPIO_Initstruct.GPIO_Mode=GPIO_Mode_IN;
GPIO_Initstruct.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Initstruct.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_Init(GPIOA,&GPIO_Initstruct);
//GPIOB-1 端口初始化
GPIO_Initstruct.GPIO_Pin=GPIO_Pin_1;
GPIO_Initstruct.GPIO_Mode=GPIO_Mode_IN;
GPIO_Initstruct.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Initstruct.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_Init(GPIOB,&GPIO_Initstruct);
//GPIOC-1 4 5 端口初始化
GPIO_Initstruct.GPIO_Pin=GPIO_Pin_1|GPIO_Pin_4|GPIO_Pin_5;
GPIO_Initstruct.GPIO_Mode=GPIO_Mode_IN;
GPIO_Initstruct.GPIO_PuPd=GPIO_PuPd_UP;
GPIO_Initstruct.GPIO_Speed=GPIO_Speed_100MHz;
GPIO_Init(GPIOC,&GPIO_Initstruct);
}
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
一周热门 更多>