下列程序报错出现的问题如何修改

img


无论怎么修改p1.0口前面的字符都会报错,到底是哪里有问题,题干是周期十秒,要从p1.0口输出一个占空比为百分之三十的方波

是不是缺少变量类型声明?

不知道你这个问题是否已经解决, 如果还没有解决的话:
  • 你可以看下这个问题的回答https://ask.csdn.net/questions/6899169
  • 这篇博客你也可以参考下:利用定时器使P1^0口输出指定占空比、周期矩形脉冲。
  • 除此之外, 这篇博客: 打印素数和两个小游戏 C语言从入门到入土(入门篇)(算法篇p1)中的 3.猜数字游戏 部分也许能够解决你的问题, 你可以仔细阅读以下内容或者直接跳转源博客中阅读:
    //电脑随机生成一个1~100之间的数字
    //猜数字
    //玩家猜小了,电脑会告诉:猜小了
    //玩家猜大了,电脑会告诉:猜大了
    //玩家猜对了,电脑会告诉:恭喜你,猜对了
    
    //C语言中生成的随机数的方式是rand函数
    //0~RAND_MAX 0x7fff
    //0~32767
    #include <stdlib.h>
    #include <time.h>
    #include<stdio.h>
    void menu()
    {
    	printf("***************************\n");
    	printf("*****    1. play     ******\n");
    	printf("*****    0. exit     ******\n");
    	printf("***************************\n");
    }
    
    
    void game()
    {
    	int guess = 0;
    	//猜数字游戏的过程
    	//生成随机数
    	int r = rand()%100+1;//0~99-->1~100
    	//猜数字
    	while (1)
    	{
    		printf("猜数字:>");
    		scanf("%d", &guess);
    		if (guess < r)
    		{
    			printf("猜小了\n");
    		}
    		else if (guess > r)
    		{
    			printf("猜大了\n");
    		}
    		else
    		{
    			printf("恭喜你,猜对了\n");
    			break;
    		}
    	}
    }
    
    int main()
    {
    	int input = 0;
    	srand((unsigned int)time(NULL));//时间-设置随机数的生成器
    
    	do
    	{
    		//打印菜单
    		menu();
    		printf("请选择:>");
    		scanf("%d", &input);
    		switch (input)
    		{
    		case 1:
    			game();
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("选择错误\n");
    			break;
    		}
    
    	} while (input);
    	return 0;
    }

    咳咳!也少一个#include<stdio.h>

    到此今天的内容就结束了哈!今天的内容还是不多的,但是可能需要更多的理解,之后可以在自己的编译器上面尝试一下哈!熟能生巧!

    最后的最后!感谢大家的观看!

    要是觉得对你有一点用的话!就来一个点赞加关注吧!

    谢谢!!!

  • 以下回答来自chatgpt:

    由于题目中没有给出代码和出错提示,不知道具体报错是什么。因此无法给出具体解决方法。关于周期为十秒、占空比为百分之三十的方波输出,可以使用定时器自动输出。具体方法如下:

    1. 初始化定时器,让定时器在每个10秒中断一次。可以使用定时器的预分频器和自动重载寄存器来实现。根据具体的芯片型号和开发板,寻找对应的参考手册,找到定时器的具体配置方法。

    2. 在定时器中断服务函数中,设置一个占空比为30%的计数器,每次中断时进一。当计数器小于3时输出高电平,否则输出低电平。

    3. 将输出口设置为推挽输出,连接到外部LED或蜂鸣器等设备上,即可实现每10秒输出一次占空比为30%的方波。


如果你已经解决了该问题, 非常希望你能够分享一下解决方案, 写成博客, 将相关链接放在评论区, 以帮助更多的人 ^-^