新手入门
- 积分
- 18
- 金钱
- 18
- 注册时间
- 2020-3-25
- 在线时间
- 5 小时
|
我是STM32F103mini板子,用PC4和PC5能用 ,改到PC11和PC12就不行了,是咋回事。修改代码如下:
PC4和PC5设置:(此方法可行)
//IO方向设置
//#define FDC_SDA_IN() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=8<<4*5;}
//#define FDC_SDA_OUT() {GPIOC->CRL&=0XFF0FFFFF;GPIOC->CRL|=3<<4*5;}
//IO操作函数
//#define FDC_IIC_SCL PCout(4) //SCL
//#define FDC_IIC_SDA PCout(5) //输出SDA
//#define FDC_READ_SDA PCin(5) //输入SDA
//初始化IIC I/O口
//void FDC_IIC_Init(void)
//{
// GPIO_InitTypeDef GPIO_InitStructure;
// RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);//先使能外设IO PORTC时钟
//
// GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4|GPIO_Pin_5;//端口配置
// GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
// GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //IO口速度为50MHz
// GPIO_Init(GPIOC, &GPIO_InitStructure); //根据设定参数初始化GPIO
//
// GPIO_SetBits(GPIOC,GPIO_Pin_4|GPIO_Pin_5); //PC.4,PC.5 输出高
//}
PC12和PC11设置:(此方法不可行)
//IO方向设置
#define FDC_SDA_IN() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=8<<12;}
#define FDC_SDA_OUT() {GPIOC->CRH&=0XFFFF0FFF;GPIOC->CRH|=3<<12;}
//IO操作函数
#define FDC_IIC_SCL PCout(12) //SCL
#define FDC_IIC_SDA PCout(11) //SDA
#define FDC_READ_SDA PCin(11) //输入SDA
void FDC_IIC_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
//RCC->APB2ENR|=1<<4;//先使能外设IO PORTC时钟
RCC_APB2PeriphClockCmd( RCC_APB2Periph_GPIOC, ENABLE );
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12|GPIO_Pin_11;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP ; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC,GPIO_Pin_11|GPIO_Pin_12); //PC.11,PC.12 输出高
}
32新手 还请大家多多指教,谢谢!
|
|