main()
{
unsigned long i,count=80000;
unsigned char x=0;
Init_Clock();
Init_GPIO();
while (1)
{
if(GPIO_ReadInputPin(GPIOG, GPIO_PIN_2)==0x04)
x=0;
else if(x==0)
{
x=1;
if(count==80000)count=20000;
else count=80000;
}
GPIO_WriteReverse(GPIOI, GPIO_PIN_0);
for(i=0;i<count;i++);
}
}
此帖出自
小平头技术问答
main()
{
还是
unsigned long i,count=80000;
unsigned char x=0;
这个提问方式让想帮你的人都无从下手。
第一个前两行是main函数体的实现语法,第二个前两行是变量i,count和x的声明及count和x的初始化
这整个程序啥意思呢 为什么设置为count=80000,后面if语句count=20000又是啥意思
#include "stm8s_lib.h"
void Init_GPIO(void)
{
//led PI0口配置为推挽输出模式
GPIO_Init(GPIOI, GPIO_PIN_0,GPIO_MODE_OUT_PP_LOW_FAST);
//KEY PG2口配置为悬浮输入模式
GPIO_Init(GPIOG, GPIO_PIN_2, GPIO_MODE_IN_FL_NO_IT);
}
void Init_Clock(void)
{
//系统主时钟配置为内部16M
CLK_SYSCLKConfig(CLK_PRESCALER_HSIDIV1);
}
main()
{
unsigned long i,count=80000;
unsigned char x=0;
Init_Clock(); //初始化时钟配置
Init_GPIO(); // 初始化GPIO配置
while (1)
{
if(GPIO_ReadInputPin(GPIOG, GPIO_PIN_2)==0x04)//PG2按键检测为高电平
x=0;
else if(x==0) //PG2按键检测为下降沿,认为有一次按键
{
x=1;
if(count==80000)count=20000; //输出频率切换
else count=80000;
}
GPIO_WriteReverse(GPIOI, GPIO_PIN_0);//LED按指定频率闪烁
for(i=0;i<count;i++);
}
}
这是完整程序给解释下
一周热门 更多>