打印

奇怪的初始化结构,你们懂么?

[复制链接]
321|0
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
棋王高手|  楼主 | 2018-7-16 09:50 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
pi, GPIO, IO, gp, ni
下面是oled初始化的一段程序:
                                          在#if OLED_MODE==1 下面的这段程序,
                                                                        它C口赋值0xff怎么就是推挽输出了?
                                                                           如果说他是借用一开始GPIO初始化部分的程序
                                                                         那他怎么能初始化的整个C口,而不是3,6两个口呢?
                                              GPIO_InitStructure.GPIO_Pin =0xFF; //PC0~7 OUT 推挽输出
                                              GPIO_Init(GPIOC, &GPIO_InitStructure);
                                              GPIO_SetBits(GPIOC,0xFF); //PC0~7 输出高

void OLED_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC|RCC_APB2Periph_GPIOD|
RCC_APB2Periph_GPIOG, ENABLE);//使能 PC,D,G 端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_3|GPIO_Pin_6;  //PD3,PD6 推挽输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP; //推挽输出
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz; //速度 50MHz
GPIO_Init(GPIOD, &GPIO_InitStructure); //初始化 GPIOD3,6
GPIO_SetBits(GPIOD,GPIO_Pin_3|GPIO_Pin_6);  //PD3,PD6 输出高
#if OLED_MODE==1
GPIO_InitStructure.GPIO_Pin =0xFF; //PC0~7 OUT 推挽输出
GPIO_Init(GPIOC, &GPIO_InitStructure);
GPIO_SetBits(GPIOC,0xFF); //PC0~7 输出高
//PG13,14,15 OUT 推挽输出
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15;
GPIO_Init(GPIOG, &GPIO_InitStructure);
//PG13,14,15 OUT 输出高
GPIO_SetBits(GPIOG,GPIO_Pin_13|GPIO_Pin_14|GPIO_Pin_15);

使用特权

评论回复

相关帖子

发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

378

主题

378

帖子

0

粉丝