欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 10638|回復: 5
收起左側

error C231: 'RCLK': redefinition關于單片機8*8_LED點陣點亮第一個燈報錯問題

[復制鏈接]
ID:704738 發表于 2020-3-21 21:22 | 顯示全部樓層 |閱讀模式
大佬們 我想請問為什么我老是出現一個報錯:..\user\includes.h(20): error C231: 'RCLK': redefinition代碼示例:
自己定義的文件:
#ifndef _INCLUDES_H_
#define _INCLUDES_H_

#include<reg52.h>
#include<intrins.h>

sbit SRCLK = P3^6;
sbit RCLK = P3^5;
sbit SER = P3^4;

#define GPIO_LIGHT P0
#define GPIO_KEY P1

typedef unsigned char u8;
typedef unsigned int u16;

u8 code smgduan[16] = {0x3F,0x06,0x5B,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x6F,0x77,0x7C,0x39,0x5E,0x79,0x71};
//共陰數碼管
void Hc595SendByte(u8 dat1, u8 dat2);

void Hc595SendByte(u8 dat1, u8 dat2)
{
        u8 i;
        SRCLK = 1;
        RCLK = 1;
        for(i = 0; i< 8;i++)
        {
                SER = dat1>>7;
                dat1<<=1;
               
                SRCLK = 0;
                _nop_();
                _nop_();
                SRCLK = 1;
        }
        for(i = 0; i< 8;i++)
        {
                SER = dat2>>7;
                dat2<<=1;
               
                SRCLK = 0;
                _nop_();
                _nop_();
                SRCLK = 1;
        }

        RCLK = 0;
        _nop_();
        _nop_();
        RCLK = 1;
}

#endif


我的主函數:
#include"includes.h"

/*
        函數名稱:主函數
        函數功能:運行程序入口
*/

void main()
{
        while(1)
        {
                Hc595SendByte(0xfe,0x01);
        }
}


--------------------------------------------------------------------------------------------------------------------------------------------
以下是我買的開發板的原理圖:
51hei圖片_20200321212108.png 51hei圖片_20200321212126.png

回復

使用道具 舉報

ID:235200 發表于 2020-3-22 02:58 | 顯示全部樓層
把程序中的所有RCLK改為SRCLK就行了
回復

使用道具 舉報

ID:704738 發表于 2020-3-24 16:32 | 顯示全部樓層
csmyldl 發表于 2020-3-22 02:58
把程序中的所有RCLK改為SRCLK就行了

請問為什么?RCLK用的是P3^5 ,如果都改成了SRCLK 那P3^5誰用?不是出現重復定義嗎
回復

使用道具 舉報

ID:213173 發表于 2020-3-24 17:43 | 顯示全部樓層
程序中sbit RCLK = P3^5;需要重新命名,因為與頭文件#include<reg52.h>里的寄存器命名重名sbit RCLK   = T2CON^5;,沙發的建議行不通,會導致595工作不正常。建議改為sbit LCLK = P3^5;,程序中的名稱也要一道改成LCLK。
回復

使用道具 舉報

ID:704738 發表于 2020-3-25 17:27 | 顯示全部樓層
wulin 發表于 2020-3-24 17:43
程序中sbit RCLK = P3^5;需要重新命名,因為與頭文件#include里的寄存器命名重名sbit RCLK   = T2CON^5;, ...

謝謝!
回復

使用道具 舉報

ID:796099 發表于 2020-7-2 23:04 | 顯示全部樓層
你的<reg52.h>改為<reg51.h>應該就可以了。
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術交流QQ群281945664

Powered by 單片機教程網

快速回復 返回頂部 返回列表