使能和初始化IO口:
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOD,ENABLE);
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA,ENABLE);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_2;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOD,&GPIO_InitStructure);
GPIO_SetBits(GPIOD,GPIO_Pin_2);
GPIO_InitStructure.GPIO_Mode=GPIO_Mode_Out_PP;
GPIO_InitStructure.GPIO_Pin=GPIO_Pin_8;
GPIO_InitStructure.GPIO_Speed=GPIO_Speed_50MHz;
GPIO_Init(GPIOA,&GPIO_InitStructure);
GPIO_SetBits(GPIOA,GPIO_Pin_8);12345678910111213
操作IO口:
库函数:
GPIO_SetBits(GPIOD,GPIO_Pin_2);//置位GPIO_ResetBits(GPIOD,GPIO_Pin_2);//复位12
位操作:
PAout(8)=1;
PAout(8)=0;
关键字:STM32系列 GPIO初始化
引用地址:
STM32系列第3篇--GPIO初始化
推荐阅读最新更新时间:2024-03-16 15:38
意法半导体新型STM32系列获ARM RealView微控制器开发工具包支持
中国上海,2007年6月27日 —— ARM公司(伦敦证交所:ARM;纳斯达克:ARMHY)宣布即日起,RealView微控制器开发工具包将支持意法半导体基于ARM Cortex-M3处理器的全新 STM32F1xx系列器件。 STM32F101 (接入行)和STM32F103 (性能行)将是意法半导体首个基于ARM Cortex-M3处理器的器件系列,兼具卓越的高性能和低功耗,待机功耗仅为2?A。该系列器件拥有高达72MHz的CPU时钟速度、128Kbyte片上闪存ROM及20Kbyte片上RAM,还包括A/D、CAN、USB、SPI、I2C等众多外设及多达80个GPIO。 RealView微控制器开发工具包3.1可
[新品]
STM32系列之SPI_NSS的理解
之前也是对SPI的NSS一头雾水,看其他手册上说的NSS就是片选信号。大多数的SPI从机的片选有效为低电平,当某一从机的NSS引脚为低电平时,该机被选中,就可以和主机通过SPI通信了。所有的主机和从机其实都有片选信号,只有片选了,才能工作。但是主机的片选是通过软件配置完成的,读完下面的几段,希望能给您说清楚。 在STM32中,当要配置为slave时,只要将它的NSS引脚配置为低电平即可。那么如果要SPI配置为master时,也要配置这个NSS,但此时配置为SPI_NSS_Soft。究竟什么是SPI_NSS_Soft和SPI_NSS_Hard呢?我们来看一下数据手册的说明吧:在stm32的spi.h文件里面是这么定义的 #defin
[单片机]
STM32开发笔记47:STM32F4+DP83848以太网通信指南系列(一)
单片机型号:STM32F407VGT 本章为系列指南第一章,主要是介绍一下项目思路,并且尽可能列出从零开始着手开发这个项目过程中,所需要理解的各类知识点,关于这些知识点,如果需要更详细的介绍,请列为看官自行百度谷歌。 STM32F407简介 STM32F407主频168MHz,主频这个数值的意义可以这么理解:每秒执行168,000,000步简单指令,也就是每毫秒168,000次,每微秒168次。我们工业以太网进入实时通信后的数据传输周期大概每2ms交互4次,每次60个Byte,最差的算法复杂度计算下来需要每毫秒4 / 2 * 60byte = 120步(事实上用不了这么多步),而这颗STM32F07的芯片提供每毫秒168,00
[单片机]
【STM32 Cotex-M3处理器系列编程】串口调试
#include stm32f10x.h //#include stm32f10x_lib.h void Delay(unsigned int x); void UART_Init(void); int main(void) { while (1) { Delay(300000); UART_Init(); //初始化串口 USART_SendData(USART1,0x1A); //从串口发送数据到计算机 while(USART_GetFlagStatus(USART1,USART_FLAG_TXE)==RESET);//RESET是0,等待发送完毕
[单片机]
STM32入门系列-STM32时钟系统,时钟初始化配置函数
在前面推文的介绍中,我们知道STM32系统复位后首先进入SystemInit函数进行时钟的设置,然后进入主函数main。那么我们就来看下SystemInit()函数到底做了哪些操作,首先打开我们前面使用库函数编写的LED程序,在system_stm32f10x.c文件中可以找到SystemInit()函数,SystemInit()代码如下: void SystemInit (void) { /* Reset the RCC clock configuration to the default reset state(for debug purpose) */ /* Set HSION bit */ RCC- CR |= (ui
[单片机]
STM32 基础系列教程 2 - GPIO 按键输入
前言 学习stm32 GPIO 的使用,实现简单的按键输入功能,用按键的高低来控制LED的亮灭! 示例详解 基于硬件平台: STM32F10C8T6最小系统板, MCU 的型号是 STM32F103c8t6, 使用stm32cubemx 工具自动产生的配置工程,使用KEIL5编译代码。将PA0引脚设置成输入引脚,程序得到PA0引脚的(按键操作)输入状态,并根据其输入电平的高低来控制PC13输出,来控制LED,实现按一次LED亮,再按一下,LED灭的功能。 本示例所用的最小系统板原理图: 新建STM32 CUBEMX 工程, 双击桌面STM32CubeMX工具 在CubeMX中菜单中点 File à New
[单片机]
基于STM32从零写操作系统系列---将printf指向串口输出
为什么需要printf? 首先,这个printf不是标准C中的printf,这个printf是自己参考标准库实现的。只是简单地完成了打印输出int,long long int, unsigned int, unsigned long long int, float, double和十六进制数等功能。主要用于在以后的学习中,输出变量、寄存器等的数据,便于调试程序。 1.函数调用中的参数传递 根据《Procedure Call Standard for the ARM ® Architecture》(文章结尾有下载分享)这个文档可知,标准规定在寄存器(r0-r3)和堆栈中传递参数。对于采用少量参数的子程序,仅使用寄存器,大大减少了
[单片机]
STM32系列ADC采样频率及相应时间的确定
一、采样频率的确定 1.首先确定ADC 的时钟,这里需要看你的RCC的设置。在采用固件库的基础上,设定ADC的采样频率相对来说是很容易的。 (1)由时钟控制器提供的ADCCLK 时钟和PCLK2(APB2 时钟)同步。CLK 控制器为ADC 时钟提供一个专用的可编程预分频器。 (2) 一般情况下在程序 中将 PCLK2 时钟设为 与系统时钟 相同 RCC_HCLKConfig(RCC_SYSCLK_Div1); RCC_PCLK2Config(RCC_HCLK_Div1); RCC_PCLK1Config(RCC_HCLK_Div2); (3)在时钟配置寄存器(RCC_C
[单片机]