
如何学习stm32 GPIO 10
最近刚开始学习STM32单片机,从GPIO开始,但是看应用手册的时候根本就看不懂,哪位高手能否指点一下?...
最近刚开始学习STM32单片机,从GPIO开始,但是看应用手册的时候根本就看不懂,哪位高手能否指点一下?
展开
3个回答
展开全部
学习STM32应从最简单的GPIO开始,这一点楼主做对了。可以先点亮二极管、读取按键来熟悉编程环境和语句、器件用法。
最好的方法是从例程入手,固件函数库和应用手册一起看,编程初期看的较多的是固件函数库。
如果你买的开发板,那他的光盘里会有例程,从循环点亮二极管开始。
如果你只是买了芯片,那就从keil安装目录下的Example文件夹找到GPIO文件夹,从这里的C语言程序开始学习。
主要是看使用一个GPIO时,需要做哪些配置,如何配置,有多少种配置模式、如何启用他的时钟等。
最好的方法是从例程入手,固件函数库和应用手册一起看,编程初期看的较多的是固件函数库。
如果你买的开发板,那他的光盘里会有例程,从循环点亮二极管开始。
如果你只是买了芯片,那就从keil安装目录下的Example文件夹找到GPIO文件夹,从这里的C语言程序开始学习。
主要是看使用一个GPIO时,需要做哪些配置,如何配置,有多少种配置模式、如何启用他的时钟等。
展开全部
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_5 | GPIO_Pin_6 | GPIO_Pin_7;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //上拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | 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_InitStructure.GPIO_Pin = GPIO_Pin_8 //推拉输出备用功能
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure GPIOB OUTPUT */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //开漏输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
每组GPIO的每一位都可以按照自己的需求设置成特定的功能。可以参照一些列程来看
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD; //上拉输入
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_4 | 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_InitStructure.GPIO_Pin = GPIO_Pin_8 //推拉输出备用功能
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AF_PP;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOA, &GPIO_InitStructure);
/* Configure GPIOB OUTPUT */
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1; //开漏输出
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_OD;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB, &GPIO_InitStructure);
每组GPIO的每一位都可以按照自己的需求设置成特定的功能。可以参照一些列程来看
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
推荐买个万利的开发板,我正在用的EK-STM3210E,一些基本外设都有的。
在学习开发板的同时学习STM32,遇到问题的时候,看DEMO代码不明白的时候再找资料比较好,这是最快的入门方法,比看几百页的资料有效的多。我最近也在学,刚调完串口。
在学习开发板的同时学习STM32,遇到问题的时候,看DEMO代码不明白的时候再找资料比较好,这是最快的入门方法,比看几百页的资料有效的多。我最近也在学,刚调完串口。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询