这程序什么意思啊,前两行根本不懂,求大神赐教

2019-03-23 17:34发布

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++);
         }         
}


此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
Bingqi23
1楼-- · 2019-03-24 01:36
/ 前两行,你是指
main()
{
还是
        unsigned long i,count=80000;
        unsigned char x=0;

这个提问方式让想帮你的人都无从下手。

第一个前两行是main函数体的实现语法,第二个前两行是变量i,count和x的声明及count和x的初始化
KCP
2楼-- · 2019-03-24 05:38
Bingqi23 发表于 2017-8-15 09:34
前两行,你是指
main()
{
还是
        unsigned long i,count=80000;
        unsigned char x=0;
...

这整个程序啥意思呢  为什么设置为count=80000,后面if语句count=20000又是啥意思
littleshrimp
3楼-- · 2019-03-24 05:57
 精彩回答 2  元偷偷看……
柠檬酸钠
4楼-- · 2019-03-24 08:49
楼上正解,频率应该不是很准
KCP
5楼-- · 2019-03-24 12:20
柠檬酸钠 发表于 2017-8-15 14:01
楼上正解,频率应该不是很准

#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++);
         }         
}
这是完整程序给解释下
柠檬酸钠
6楼-- · 2019-03-24 17:51
 精彩回答 2  元偷偷看……

一周热门 更多>