新手上路
- 积分
- 23
- 金钱
- 23
- 注册时间
- 2017-9-14
- 在线时间
- 2 小时
|
3金钱
原子哥的例程:实验29 三轴加速度计实验,我想把实验里面的引脚改为我自己外接的ADXL_345的传感器,是不是只要改掉下面两段文件就行了?我改了之后为什么读不了,逻辑分析仪显示两条线均保持低电平(逻辑分析仪连线可以保证没问题,)以下是原子哥的
myiic.h里面的:
//IO方向设置
#define SDA_IN() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=8<<12;}
#define SDA_OUT() {GPIOB->CRH&=0XFFFF0FFF;GPIOB->CRH|=3<<12;}
//IO操作函数
#define IIC_SCL PBout(10) //SCL
#define IIC_SDA PBout(11) //SDA
#define READ_SDA PBin(11) //输入SDA
myiic.c里面的:
void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//先使能外设IO PORTB时钟
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOB, ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_10|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
GPIO_SetBits(GPIOB,GPIO_Pin_10|GPIO_Pin_11);
IIC_SCL=1;
IIC_SDA=1;
}
下面是我改成的:
myiic.h里面的:
#define SDA_IN() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=8<<12;}
#define SDA_OUT() {GPIOA->CRH&=0XFFFF0FFF;GPIOA->CRH|=3<<12;}
#define IIC_SCL PBout(10) //SCL
#define IIC_SDA PBout(11) //SDA
#define READ_SDA PBin(11) //输入SDA
//IO操作函数
#define IIC_SCL PAout(12) //SCL
#define IIC_SDA PAout(11) //SDA
#define READ_SDA PAin(11) //输入SDA
//IO操作函数
#define IIC_SCL PBout(6) //SCL
#define IIC_SDA PBout(6) //SDA
#define READ_SDA PBin(7) //输入SDA
myiic.c里面的:
void IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//先使能外设IO PORTB时钟
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOA, ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_11|GPIO_Pin_12;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_11|GPIO_Pin_12);
IIC_SCL=1;
IIC_SDA=1;
}
谢谢大家
|
|