新手入门
- 积分
- 15
- 金钱
- 15
- 注册时间
- 2021-2-2
- 在线时间
- 12 小时
|
10金钱
本帖最后由 MrShuaibi 于 2021-10-2 10:26 编辑
想请问一下大家。我现在想获得磁导航传感器的8路信号,然后串口打印,然后现在编写了下面的代码,用的是正点原子的F103芯片,里面用自带的开关测试了可行性,但是发现开关的信号是可以检测到的,磁导航传感器的8路信号一直获取不到,请问是什么原因呢?以下是代码,附件里是这个传感器的原理和接线示意图,感谢大神们帮忙,如果解决了,可以再另付酬劳,感谢!!!
#include "stm32f10x.h"
#include "sys.h"
#include "delay.h"
#include "usart.h"
#include "lcd.h"
#define SW1 PDin(0)
#define SW2 PDin(1)
#define SW3 PDin(2)
#define SW4 PDin(3)
#define SW5 PDin(4)
#define SW6 PDin(5)
#define SW7 PDin(6)
#define SW8 PDin(7)
#define key0 PEin(4)
void Magnetic_navigation_Init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD, ENABLE); //开启时钟,使能GPIOD时钟
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_InitStruct.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2 | GPIO_Pin_3 | GPIO_Pin_4 | GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStruct.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOD, &GPIO_InitStruct); //初始化PD0-PD7
}
void key_init(void)
{
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOE,ENABLE); //使能PE时钟
GPIO_InitTypeDef GPIO_InitStruct;
GPIO_InitStruct.GPIO_Mode = GPIO_Mode_IPU; //设置成上拉输入
GPIO_InitStruct.GPIO_Pin =GPIO_Pin_4;
GPIO_Init(GPIOE, &GPIO_InitStruct); //初始化PE4
}
int main()
{
key_init();
delay_init();
Magnetic_navigation_Init();
uart_init(115200); //初始化串口1
while(1)
{
printf("SW1=%d\r\n",SW1);
printf("key0=%d:\r\n",key0);
delay_ms(1000);
}
}
|
|