久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

 找回密碼
 立即注冊(cè)

QQ登錄

只需一步,快速開(kāi)始

搜索
查看: 2355|回復(fù): 25
打印 上一主題 下一主題
收起左側(cè)

Keil報(bào)錯(cuò)C247,是不是數(shù)值不能直接賦予變量值

  [復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:298743 發(fā)表于 2024-5-9 10:48 | 只看該作者 回帖獎(jiǎng)勵(lì) |倒序?yàn)g覽 |閱讀模式
keil報(bào)錯(cuò),是不能直接賦予數(shù)組dat[5]={dat1,dat2,dat3,dat4,datL};這樣的變量值嗎?
void led_hc595_drive(unsigned char dat1,unsigned char dat2,unsigned char dat3,unsigned char dat4,unsigned char datL)
{
unsigned char dat[5]={dat1,dat2,dat3,dat4,datL};
unsigned char i,j;

for(j = 0;j < 5;j++)
{
unsigned char temp = dat[j];
for(i=0;i<8;i++)
{
HC595_DS=(temp&0x80)?1:0;
HC595_SH_CP=0;
HC595_SH_CP=1;
temp<<=1;
}
}
HC595_ST_CP = 0;//上升沿 移位寄存器的數(shù)據(jù)移到存儲(chǔ)寄存器
HC595_ST_CP = 1;


HC595_SH_CP = 0;//拉低,提高抗干擾
HC595_ST_CP = 0;
HC595_DS = 0;

}
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報(bào)

沙發(fā)
ID:277550 發(fā)表于 2024-5-9 12:59 | 只看該作者
unsigned char dat[5]={dat1,dat2,dat3,dat4,datL};改成定義和賦值分開(kāi)
回復(fù)

使用道具 舉報(bào)

板凳
ID:161164 發(fā)表于 2024-5-9 13:23 | 只看該作者
是數(shù)組不能直接用變量初始化
回復(fù)

使用道具 舉報(bào)

地板
ID:298743 發(fā)表于 2024-5-9 13:24 | 只看該作者
devcang 發(fā)表于 2024-5-9 12:59
unsigned char dat[5]={dat1,dat2,dat3,dat4,datL};改成定義和賦值分開(kāi)

把定義和賦值分開(kāi)也不行
回復(fù)

使用道具 舉報(bào)

5#
ID:1109793 發(fā)表于 2024-5-9 14:08 | 只看該作者
你這綠色背景怎么弄的啊
回復(fù)

使用道具 舉報(bào)

6#
ID:77589 發(fā)表于 2024-5-9 14:15 | 只看該作者
unsigned char dat[5]={dat1,dat2,dat3,dat4,datL}; 不能在函數(shù)內(nèi)部這樣寫。
回復(fù)

使用道具 舉報(bào)

7#
ID:607298 發(fā)表于 2024-5-9 15:09 | 只看該作者
這樣試試吧
unsigned char dat[5];
dat[0] = dat1;
dat[1] = dat2;
dat[2] = dat3;
dat[3] = dat4;
dat[4] = datL;
回復(fù)

使用道具 舉報(bào)

8#
ID:1109793 發(fā)表于 2024-5-9 15:12 | 只看該作者
asdadqw2 發(fā)表于 2024-5-9 13:24
把定義和賦值分開(kāi)也不行

要這樣,dat[0] = dat1;dat[1]=……
回復(fù)

使用道具 舉報(bào)

9#
ID:1119939 發(fā)表于 2024-5-9 15:47 | 只看該作者
unsigned char dat[5]={dat1,dat2,dat3,dat4,datL};
回復(fù)

使用道具 舉報(bào)

10#
ID:1119939 發(fā)表于 2024-5-9 15:49 | 只看該作者
unsigned char dat[5]={0}; dat[0]=dat1;dat[1]=dat2;dat[2]=dat3;dat[3]=dat4;dat[4]=datL;
回復(fù)

使用道具 舉報(bào)

11#
ID:883242 發(fā)表于 2024-5-9 16:20 | 只看該作者
不能這樣賦值,回去看c語(yǔ)言教材。
回復(fù)

使用道具 舉報(bào)

12#
ID:298743 發(fā)表于 2024-5-9 17:36 | 只看該作者
小H丶 發(fā)表于 2024-5-9 15:49
unsigned char dat[5]={0}; dat[0]=dat1;dat[1]=dat2;dat[2]=dat3;dat[3]=dat4;dat[4]=datL;

試過(guò)了,不行
回復(fù)

使用道具 舉報(bào)

13#
ID:298743 發(fā)表于 2024-5-9 17:36 | 只看該作者
xiaobendan001 發(fā)表于 2024-5-9 14:08
你這綠色背景怎么弄的啊

不清楚
回復(fù)

使用道具 舉報(bào)

14#
ID:298743 發(fā)表于 2024-5-9 17:37 | 只看該作者
試過(guò)這樣寫,還是不行
unsigned char dat[5]={0};
dat[0] = dat1;
dat[1] = dat2;
dat[2] = dat3;
dat[3] = dat4;
dat[4] = datL;
回復(fù)

使用道具 舉報(bào)

15#
ID:883242 發(fā)表于 2024-5-9 19:10 | 只看該作者
asdadqw2 發(fā)表于 2024-5-9 17:37
試過(guò)這樣寫,還是不行
unsigned char dat[5]={0};
dat[0] = dat1;

報(bào)什么錯(cuò)?
回復(fù)

使用道具 舉報(bào)

16#
ID:624769 發(fā)表于 2024-5-9 19:22 | 只看該作者
為啥要弄個(gè)數(shù)組 給自己找不痛快呢? 直接用指針不香么?

void led_hc595_drive(unsigned char dat1,unsigned char dat2,unsigned char dat3,unsigned char dat4,unsigned char datL)
{
        unsigned char *p;
        unsigned char i;
       
        p        = &dat1;
        while(p <= &datL)
        {
                for(i=0;i<8;i++)
                {
                        HC595_DS=(*p&0x80)?1:0;
                        HC595_SH_CP=0;
                        HC595_SH_CP=1;
                        *p<<=1;
                }
                p++;
        }
        HC595_ST_CP = 0;//上升沿 移位寄存器的數(shù)據(jù)移到存儲(chǔ)寄存器
        HC595_ST_CP = 1;
       
        HC595_SH_CP = 0;//拉低,提高抗干擾
        HC595_ST_CP = 0;
        HC595_DS = 0;
}
回復(fù)

使用道具 舉報(bào)

17#
ID:1118092 發(fā)表于 2024-5-9 19:46 | 只看該作者
看著同問(wèn)題
回復(fù)

使用道具 舉報(bào)

18#
ID:712493 發(fā)表于 2024-5-9 20:49 | 只看該作者
unsigned char dat1,unsigned char dat2,unsigned char dat3,unsigned char dat4,unsigned char datL這個(gè)會(huì)自己變成連續(xù)地址?
回復(fù)

使用道具 舉報(bào)

19#
ID:624769 發(fā)表于 2024-5-9 22:17 | 只看該作者
fj51hei 發(fā)表于 2024-5-9 20:49
unsigned char dat1,unsigned char dat2,unsigned char dat3,unsigned char dat4,unsigned char datL這個(gè)會(huì) ...

你可以看一下關(guān)于傳參的設(shè)定,只要傳參超過(guò)3個(gè)就一定是獨(dú)立的連續(xù)地址。
回復(fù)

使用道具 舉報(bào)

20#
ID:879348 發(fā)表于 2024-5-10 08:51 | 只看該作者
定義變量賦值是編譯的時(shí)候完成的,所以不能賦值變量
回復(fù)

使用道具 舉報(bào)

21#
ID:1109793 發(fā)表于 2024-5-10 10:44 | 只看該作者
asdadqw2 發(fā)表于 2024-5-9 17:37
試過(guò)這樣寫,還是不行
unsigned char dat[5]={0};
dat[0] = dat1;

定義要寫在前邊,賦值要寫函數(shù)里面的吧。
main(){
dat[0] = dat1;
……
while(1);
}
回復(fù)

使用道具 舉報(bào)

22#
ID:77589 發(fā)表于 2024-5-10 17:37 | 只看該作者
asdadqw2 發(fā)表于 2024-5-9 17:37
試過(guò)這樣寫,還是不行
unsigned char dat[5]={0};
dat[0] = dat1;

可能是編譯器的問(wèn)題,上面寫法,我用MDK就能編譯通過(guò)。
把unsigned char dat[5]={0};修改成unsigned char dat[5];試試。
回復(fù)

使用道具 舉報(bào)

23#
ID:883242 發(fā)表于 2024-5-11 22:08 | 只看該作者
Longan.Wang 發(fā)表于 2024-5-10 17:37
可能是編譯器的問(wèn)題,上面寫法,我用MDK就能編譯通過(guò)。
把unsigned char dat[5]={0};修改成unsigned cha ...

c99標(biāo)準(zhǔn)里面是可以隨用隨定義變量的。

c89標(biāo)準(zhǔn)變量定義必須在實(shí)體語(yǔ)句,比如賦值,前面才可以,有了實(shí)體語(yǔ)句就不能再定義變量了。

C51是永遠(yuǎn)都不可能支持c99標(biāo)準(zhǔn)了。
回復(fù)

使用道具 舉報(bào)

24#
ID:517951 發(fā)表于 2024-5-31 08:10 | 只看該作者
上面程序完全沒(méi)必要用到數(shù)組, 如果要HC595送20個(gè), 30個(gè),100個(gè)unsigned char 數(shù)據(jù)怎么辦, 單片機(jī)的棧空間要壓爆. 要送的數(shù)據(jù)長(zhǎng)度是可變的怎么辦? c51是不支持可變數(shù)組的.

可以考慮傳指針+數(shù)據(jù)長(zhǎng)度的方法/或者就傳一個(gè)unsigned char 參數(shù), 也是能解決問(wèn)題的.
回復(fù)

使用道具 舉報(bào)

25#
ID:421260 發(fā)表于 2024-5-31 09:34 | 只看該作者

這樣寫行
unsigned char dat[5]={0};//定義
unsigned char dat1,dat2,dat3,dat4,datL;
//下面幾行在程序中運(yùn)行
dat[0] = dat1;
dat[1] = dat2;
dat[2] = dat3;
dat[3] = dat4;
dat[4] = datL;
回復(fù)

使用道具 舉報(bào)

26#
ID:1121978 發(fā)表于 2024-5-31 10:55 | 只看該作者
這種錯(cuò)誤提示通常是因?yàn)樵贙eil中初始化數(shù)組時(shí),dat1, dat2, dat3, dat4等變量的值可能無(wú)法直接獲取或不符合數(shù)據(jù)類型要求。你可以嘗試分別給數(shù)組dat的各個(gè)元素賦值來(lái)避免這個(gè)問(wèn)題。你可以嘗試使用如下方式初始化數(shù)組:  dat[0] = dat1; dat[1] = dat2; dat[2] = dat3; dat[3] = dat4; dat[4] = datL; 這通常會(huì)避免一些編譯錯(cuò)誤,希望對(duì)你有幫助!
回復(fù)

使用道具 舉報(bào)

本版積分規(guī)則

手機(jī)版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機(jī)教程網(wǎng)

快速回復(fù) 返回頂部 返回列表
主站蜘蛛池模板: 欧美色欧美亚洲另类七区 | 精产国产伦理一二三区 | 伊色综合久久之综合久久 | 日韩和的一区二区 | 99这里只有精品视频 | 国产日韩一区二区三免费高清 | 久久久久国产一区二区三区 | 99久热 | 亚洲国产情侣自拍 | 福利片在线观看 | 91九色视频 | 免费a网| 国产午夜精品一区二区三区嫩草 | 亚洲成av片人久久久 | 国产999精品久久久久久 | 国产一级片一区二区三区 | 成人伊人| 亚洲欧美精品国产一级在线 | 在线视频91 | 99视频免费在线观看 | 色综合av | 国产一区二区观看 | 国产传媒| 九九热这里只有精品在线观看 | 高清亚洲 | 自拍第一页 | 日韩理论电影在线观看 | 国产乱码高清区二区三区在线 | 久久国产激情视频 | 激情三区| 久久亚洲一区 | 五月激情久久 | 欧美激情五月 | 一区在线视频 | 国产一区二区三区免费 | 天天综合国产 | 亚洲一区二区在线播放 | 一区精品视频 | 精久久久| 精品成人在线 | 精品一二区 |