最近在看原子哥的教学,本来以为自己搞明白了端口复用时如何设置GPIO的工作模式,就是完全对照下面的图1进行设置。
这样的话,如果我想使用TIM5CH1的输入捕获模式,我应该将对应的GA0的工作模式设置为浮空输入模式,但是再输入捕获实验中,实验的代码中timer的初始初始化函数中的相应代码是[mw_shl_code=c,true]GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPD;
GPIO_Init(GPIOA, &GPIO_InitStructure);
GPIO_ResetBits(GPIOA,GPIO_Pin_0); -[/mw_shl_code]
对应的工作模式为下拉输入而且只有在这种情况下实验现象才能正常。正在疑惑难道在端口复用时GPIO工作模式可能不是完全对照的时候,又看到了后面的电容触摸开关实验中,也用到了TIM5的输入捕获,这里用的是PA1,设置的GPIO工作模式就是输入浮空模式。
现在我是真的搞不懂了,希望有高手能解答一些,谢谢!
(偷偷
@正点原子 )
所以,上下拉输入,可以很好的解决这个问题。
另外,手册写的也有不完全的地方,比如上下拉输入,可以正常做捕获。
哦是这样啊,那这样子就没有和端口复用有关的特别操作了么?直接把这个端口的工作模式设定好,就直接用作TIMx_CH了。
谢谢原子哥
一周热门 更多>