| |
对于刚学习arm来讲,什么都是未知的,有很多视频教程也有很多例程,但还是有点消化不良。
今天终于搞定了STM32的输入输出。
自己做的开发板上,接了继电器输出,和开关量输入,但是始终对测试不得法,不知如何下手。感觉自己笨笨的,很简单的东西,却没概念。
又看了遍视频,感觉输入输出应该就和GPIO相关。
无论使用什么,先进行GPIO设置
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOX, ENABLE); //使能端口时钟
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_N; //端口配置
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN; //设置端口模式
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOX, &GPIO_InitStructure);//根据设定参数初始化GPIOX.N
对于输出,主要应用GPIO_SetBits,GPIO_ResetBits,
进行设置后,继电器吸合断开过程会出现嗒嗒响声。
对于输入,主要应用GPIO_ReadInputDataBit,
开关量输入,配合LED进行测试,给开关一个状态,状态不同,LED显示不同。
先了解最基本原理。
回头看过来很简单,总结下以前一直没搞定的原因,一是对STM32的梳理过程没形成概念,二是不知道怎么测试,什么样的测试结果算正确。以后还需要多了解器件,多看程序,多看手册。