找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1624|回复: 7
收起左侧

c(10): error C231: 'PWM': redefinition单片机编译报错怎么解决?

[复制链接]
ID:1028987 发表于 2022-5-28 15:19 | 显示全部楼层 |阅读模式
#include"reg51.h"
#include"intrins.h"
#define uchar unsigned char
#define uint unsigned int
sbit INC=P3^4;
sbit DEC=P3^5;
sbit DIR=P3^6;
sbit PWM=P3^7;
void de1ay(uint);
int PWM= 900;
void main (void)
{
DIR=1;
while(1)
{
if(!INC)
PWM=PWM>0?PWM-1:0;
if(!DEC)
    PWM=PWM<1000?PWM+1:1000;
PWM=1;
delay(PWM);
PWM=0;
delay(1000-PWM);
   }
}
void delay(unit j)
{
    for(;j>0;j--)
    {
        _nop_();
    }
}
回复

使用道具 举报

ID:883242 发表于 2022-5-28 17:07 | 显示全部楼层
sbit PWM=P3^7;
void de1ay(uint);
int PWM= 900;

这么明显的自相矛盾都看不出来?
回复

使用道具 举报

ID:1031095 发表于 2022-5-30 22:24 | 显示全部楼层
你的PWM不是3.7脚吗?为什么又要定义一个900
回复

使用道具 举报

ID:1049551 发表于 2022-10-28 14:23 来自手机 | 显示全部楼层
所以最后的代码是什么样的?
回复

使用道具 举报

ID:1049551 发表于 2022-10-28 14:24 来自手机 | 显示全部楼层
heiheihei_1 发表于 2022-5-30 22:24
你的PWM不是3.7脚吗?为什么又要定义一个900

那怎么改呀?
回复

使用道具 举报

ID:1058056 发表于 2022-12-17 20:24 来自手机 | 显示全部楼层
请问最后怎么改的 急求
回复

使用道具 举报

ID:513507 发表于 2022-12-27 18:08 | 显示全部楼层
mian后的函数void delay(unit j),要声明才能调用
回复

使用道具 举报

ID:513507 发表于 2022-12-27 18:10 | 显示全部楼层
函数void delay(unit j)置于main之前,或者前面声明
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表