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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1684|回復: 21
打印 上一主題 下一主題
收起左側

一個數組影響指示燈的閃爍是什么原因

  [復制鏈接]
跳轉到指定樓層
樓主
本帖最后由 liyago 于 2022-8-9 00:16 編輯

#include "STC15Fxxxx.h"
#include "intrins.h"
#define uint unsigned int


sbit lamp=P3^7; //指示燈
uint i,k=0;
uint led_pinlu=50;//
uint  remotedata[800];//這個數組設900以上就不閃燈了
void Timer1Init(void);


/******主函數****/                                                                                                                                                                        
void main()
{  
                Timer1Init();
                EA=1; //開總中斷
                while(1)
                {
                                if(k>led_pinlu)//上電正常慢閃燈,計數大于頻率和頻率不等于0是閃
                                {        
                                                k=0;
                                                lamp=!lamp;
                                }
                }
}


void Timer1Init(void)               
{
        AUXR &= 0x7F;                //定時器時鐘12T模式
        TMOD &= 0xF0;                //設置定時器模式
        TH0=(65535-9000)/256;        //10毫秒一次
        TL0=(65535-9000)%256;
        ET0=1;//開T0中斷
        TR0 = 1;                //定時器0開始計時               
        
}

void time0()interrupt 1
{
        k++;
}


全部程序如上,當定義數組uint  remotedata[800];為800以下時程序運行后LED燈閃,當定義數組為900以上時LED燈就不閃了,求各位大俠指點迷津,謝謝了!!!
用的芯片型號 : STC15F2K08S2


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

使用道具 舉報

沙發
ID:95375 發表于 2022-8-9 00:16 | 只看該作者
用的芯片型號 : STC15F2K08S2
回復

使用道具 舉報

板凳
ID:213173 發表于 2022-8-9 06:38 | 只看該作者
內存容量有限,remotedata[ ];雖然沒有被使用,但它把茅坑占滿了,別人無處拉便便
回復

使用道具 舉報

地板
ID:624769 發表于 2022-8-9 08:23 來自手機 | 只看該作者
不用900,只有896以上就出問題了吧?溢出了!

評分

參與人數 1黑幣 +15 收起 理由
wpppmlah + 15 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

5#
ID:161164 發表于 2022-8-9 09:02 | 只看該作者
liyago 發表于 2022-8-9 00:16
用的芯片型號 : STC15F2K08S2

此芯片有2048Byte SRAM
其中128Byte是data
下128Byte是idata
最后的1792Byte是xdata
900個uint 有1800個Byte
內存溢出了

評分

參與人數 1黑幣 +15 收起 理由
wpppmlah + 15 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

6#
ID:509408 發表于 2022-8-9 09:20 | 只看該作者
RAM不夠了唄! 這個芯片只有2kRAM, 減去固定idata256字節  排外RAM區還有1800字節不到 那個數組i是nt型數據占了1800字節 你編譯器應該也已經警告過你了

評分

參與人數 1黑幣 +15 收起 理由
wpppmlah + 15 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

7#
ID:509408 發表于 2022-8-9 09:27 | 只看該作者
如果只是固定不變的數據就存放在ROM區,用const code修飾。如非有必要存儲那么大的數字 可以把數組類型改為unsigned char型,否則只有更換更大ram型號芯片了
回復

使用道具 舉報

8#
ID:248705 發表于 2022-8-9 09:48 | 只看該作者
一共2k sram,900*2=1800差不多到臨界了,可能是sram用超了?編譯器沒報啥警告嗎

評分

參與人數 1黑幣 +15 收起 理由
wpppmlah + 15 回帖助人的獎勵!

查看全部評分

回復

使用道具 舉報

9#
ID:123289 發表于 2022-8-9 09:49 | 只看該作者
你有對數組操作嗎?
程序中沒有看到對數組的操作的部分。
回復

使用道具 舉報

10#
ID:1034262 發表于 2022-8-9 09:53 | 只看該作者
數組定義沒有加xdata,你看看是不是這個問題?
回復

使用道具 舉報

11#
ID:203661 發表于 2022-8-9 11:18 | 只看該作者
溢出了
回復

使用道具 舉報

12#
ID:95375 發表于 2022-8-9 11:55 | 只看該作者
wulin 發表于 2022-8-9 06:38
內存容量有限,remotedata[ ];雖然沒有被使用,但它把茅坑占滿了,別人無處拉便便

一直沒留意內存的影響,謝謝了!
回復

使用道具 舉報

13#
ID:95375 發表于 2022-8-9 11:57 | 只看該作者
188610329 發表于 2022-8-9 08:23
不用900,只有896以上就出問題了吧?溢出了!

實測是887就不行了,真是內存小的問題
回復

使用道具 舉報

14#
ID:95375 發表于 2022-8-9 12:07 | 只看該作者
lkc8210 發表于 2022-8-9 09:02
此芯片有2048Byte SRAM
其中128Byte是data
下128Byte是idata

謝謝了,一直沒注意這方面的問題。
回復

使用道具 舉報

15#
ID:95375 發表于 2022-8-9 12:12 | 只看該作者
tzs233 發表于 2022-8-9 09:20
RAM不夠了唄! 這個芯片只有2kRAM, 減去固定idata256字節  排外RAM區還有1800字節不到 那個數組i是nt型數據 ...



STC15Fxx.7z (2.17 KB, 下載次數: 3)

STC15Fxxxx.7z (7.38 KB, 下載次數: 2)

用STC15Fxx.H會出現警告,用STC15Fxxxx.H就算數組是幾萬都不警告。

回復

使用道具 舉報

16#
ID:95375 發表于 2022-8-9 12:14 | 只看該作者
tzs233 發表于 2022-8-9 09:27
如果只是固定不變的數據就存放在ROM區,用const code修飾。如非有必要存儲那么大的數字 可以把數組類型改為 ...

這個數組要寫入數據的,unsigned char不是比unsigned int還小嗎?
回復

使用道具 舉報

17#
ID:95375 發表于 2022-8-9 12:15 | 只看該作者
祖國的花朵 發表于 2022-8-9 09:48
一共2k sram,900*2=1800差不多到臨界了,可能是sram用超了?編譯器沒報啥警告嗎

是超了,用錯了頭文件。
回復

使用道具 舉報

18#
ID:95375 發表于 2022-8-9 12:20 | 只看該作者
yzwzfyz 發表于 2022-8-9 09:49
你有對數組操作嗎?
程序中沒有看到對數組的操作的部分。

這里數組沒操作,純屬占坑的,所以沒考慮運行內存,STC15F2K08S2程序空間有8K都不行,換STC15F2K32S2有32K程序空間也是一樣,所以還是SRAM小的問題。
回復

使用道具 舉報

19#
ID:95375 發表于 2022-8-9 12:24 | 只看該作者
coody_sz 發表于 2022-8-9 09:53
數組定義沒有加xdata,你看看是不是這個問題?

加xdata也不行
回復

使用道具 舉報

20#
ID:95375 發表于 2022-8-9 12:53 | 只看該作者
SOP28封裝的沒有比這更大內存的了
回復

使用道具 舉報

21#
ID:624769 發表于 2022-8-9 19:25 | 只看該作者
liyago 發表于 2022-8-9 12:12
用STC15Fxx.H會出現警告,用STC15Fxxxx.H就算數組是幾萬都不警告。

你沒出警告,不是頭文件的問題,是你KEIL設置問題。
KEIL 如下,選擇正確的芯片型號,并且在 XRAM 這里打勾,超出了就會出警告了。反之則不會警告。


回復

使用道具 舉報

22#
ID:95375 發表于 2022-8-10 18:34 | 只看該作者
188610329 發表于 2022-8-9 19:25
你沒出警告,不是頭文件的問題,是你KEIL設置問題。
KEIL 如下,選擇正確的芯片型號,并且在 XRAM 這里 ...

確實是這樣,編譯器有好多坑是平時不留意的
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 日韩欧美在线观看 | www.色综合| 欧美第一区 | 91精品国产综合久久久久久漫画 | 在线观看av网站永久 | 久久久久国产精品一区 | 久久久久国产一区二区三区 | 蜜桃免费一区二区三区 | 天堂男人av | 欧美一区二区三区日韩 | 国产不卡在线观看 | 九色国产 | 精品国产18久久久久久二百 | 久久鲁视频 | 国产精品高潮呻吟久久 | 国产午夜精品视频 | 99精品国产一区二区三区 | 夜夜夜久久 | 国产成人网 | 在线2区| 欧美日韩亚洲一区 | 成人免费看片又大又黄 | 亚洲性人人天天夜夜摸 | 日韩免费毛片 | 成人一区二区三区视频 | 亚洲一区二区三区欧美 | 久久国产精品免费一区二区三区 | 久久久免费观看视频 | 亚洲精品天堂 | 国产精品一区二区在线 | 成人二区| 国产特黄一级 | 久久久久久看片 | 2020天天操 | 国产亚洲精品精品国产亚洲综合 | 亚洲国产精选 | 91久色| 一区二区三区亚洲 | 老外黄色一级片 | 亚洲精品99 | 美女131mm久久爽爽免费 |