脉冲电位器编程
Posted yitx
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了脉冲电位器编程相关的知识,希望对你有一定的参考价值。
u8 BUFFER=0xFF,data,WZ1,WZ2;
void IO_Init(void)
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB,ENABLE);
GPIO_InitStructure.GPIO_Pin = GPIO_Pin_9 | GPIO_Pin_8;
GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU;
GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
GPIO_Init(GPIOB,&GPIO_InitStructure);
}
int main( void )
{
IO_Init();
while(1)
{
WZ1=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_8);//脉冲电位器3脚,2脚接地
WZ2=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_9);//脉冲电位器1脚
if ((BUFFER&0x02)!=(WZ2<<1) || (BUFFER&0x01)!=WZ1) //状态有变化时处理
{
BUFFER=(BUFFER<<2) | (WZ2<<1) | WZ1;//更新状态值
if ((BUFFER==0x4B )&&(data>0)) data--; //逆时针旋转
if ((BUFFER==0x87)&&(data<100)) data++;//顺时针旋转
}
}
}
以上是关于脉冲电位器编程的主要内容,如果未能解决你的问题,请参考以下文章
如何编程实现51单片机每隔 t 时间发出一个脉冲?求C语言详细编程。。。