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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

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

C語言for(i=0;i<120;i++)---i是什么含義 為什么從120改成500 LED一直是常亮了

  [復制鏈接]
跳轉到指定樓層
樓主
for(i=0;i<120;i++)---i是什么含義  為什么從120改成500  LED一直是常亮了

LED proteus (1).png (46.08 KB, 下載次數: 73)

LED proteus (1).png

LED proteus (2).png (36.55 KB, 下載次數: 55)

LED proteus (2).png
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復

使用道具 舉報

沙發
ID:546568 發表于 2021-11-3 16:40 | 只看該作者
因為你的i最大255
回復

使用道具 舉報

板凳
ID:57657 發表于 2021-11-3 16:43 | 只看該作者
unsigned char范圍0~255
回復

使用道具 舉報

地板
ID:587810 發表于 2021-11-3 16:53 | 只看該作者
建議,學習一下各種類型得定義,以及范圍
回復

使用道具 舉報

5#
ID:624769 發表于 2021-11-3 16:54 | 只看該作者
因為,i++ 到255之后又變回0,所以, 你的  i 永遠小于500,因此,for(i=0;i<500;i++) 可以近似的看成 while(1); 進了循環之后不會出來。程序就卡死在那里了。

最后,這個帶參delayms 應該是計算過的,看上去是12T的單片機 配合前面的while 延時1ms 就需要 for 120 次。所以就算你要改也不應該改 i 這里,而應該改 Delayms() 括號里的數字才對。
回復

使用道具 舉報

6#
ID:678280 發表于 2021-11-3 20:35 | 只看該作者
既然是仿真,那么在P1.0接示波器看看一個波形的時間是多少。
回復

使用道具 舉報

7#
ID:578842 發表于 2021-11-3 20:42 | 只看該作者
溢出了,改成unsigned int i 就行了。那個i意思就是讓CPU在for循環里面轉圈圈,i就是記了多少圈,超過了范圍就出去了。依次來達到延時目的
回復

使用道具 舉報

8#
ID:668004 發表于 2021-11-4 17:04 | 只看該作者
謝謝網友熱線支持  對C不會
回復

使用道具 舉報

9#
ID:908826 發表于 2021-11-4 19:03 | 只看該作者
你的那個定義的變量i是無符號字符型,賦給i的值超出這個這個變量的取值范圍了。要在0~255之間進行選擇
回復

使用道具 舉報

10#
ID:977940 發表于 2021-11-4 19:59 | 只看該作者
i的值為255最大,超過之后,數值無法確定
回復

使用道具 舉報

11#
ID:960619 發表于 2021-11-4 21:54 來自觸屏版 | 只看該作者
跟我一樣,一開始看不懂拿程序來改數值看效果
回復

使用道具 舉報

12#
ID:977357 發表于 2021-11-5 02:30 來自觸屏版 | 只看該作者
unsigned char最大數值255,改成500后會一直循環,將unsigned char改為unsigned int,就可以了,這是C語言里數據類型,建議看一下
回復

使用道具 舉報

13#
ID:668004 發表于 2021-11-6 17:22 | 只看該作者
這個變量i用的<120,為什么是120這個數字?
回復

使用道具 舉報

14#
ID:668004 發表于 2021-11-6 17:22 | 只看該作者
這個變量i用的<120,為什么是120這個數字?
回復

使用道具 舉報

15#
ID:883242 發表于 2021-11-6 18:57 | 只看該作者
QWE4562012 發表于 2021-11-6 17:22
這個變量i用的<120,為什么是120這個數字?

你改成60跑一下就知道了。
回復

使用道具 舉報

16#
ID:624769 發表于 2021-11-6 22:34 | 只看該作者
QWE4562012 發表于 2021-11-6 17:22
這個變量i用的<120,為什么是120這個數字?

說明你雖然上論壇求助, 也只是問問而以。 連答復都懶得看……

在5樓已經跟你說過為什么是120這個數字了,你居然還問……
回復

使用道具 舉報

17#
ID:88256 發表于 2021-11-6 22:43 | 只看該作者
188610329 發表于 2021-11-6 22:34
說明你雖然上論壇求助, 也只是問問而以。 連答復都懶得看……

在5樓已經跟你說過為什么是120這個數字 ...

論壇很多提問的都是這樣,有時候真的懶得回復。這個帖子很早就看到了,一直沒有回復的興趣。
回復

使用道具 舉報

18#
ID:166475 發表于 2021-11-6 22:45 來自觸屏版 | 只看該作者
188610329 發表于 2021-11-3 16:54
因為,i++ 到255之后又變回0,所以, 你的  i 永遠小于500,因此,for(i=0;i

寫法屬實有問題,如果這個delayms是一個延時固定毫秒級函數的話,調用處應該是改寫傳入參數(括號里的數值),而不是改這個for循環,如果多處調用delayms函數,按樓主的改法,到處都得改了,費時費力了,僅僅是測試的話,無所謂
回復

使用道具 舉報

19#
ID:517951 發表于 2021-11-7 17:17 | 只看該作者
i 被定義為unchar, 變化范圍在0-255, i<150 ,i增加到151后就退出循環了. i<500, i增加到255后就不能再增加了條件式一直滿足,所以就是死循環. i 定義改為unsigned int ,就又能愉快的玩耍了.
回復

使用道具 舉報

20#
ID:965189 發表于 2021-11-7 21:56 | 只看該作者
我也曾經遇到過同樣的問題,不能大于255。
回復

使用道具 舉報

21#
ID:979200 發表于 2021-11-8 17:39 | 只看該作者
unchar最大值255,要改為int類型,這是一個延時函數,參數要選對!
回復

使用道具 舉報

22#
ID:313854 發表于 2021-11-8 18:53 | 只看該作者
i定義的uchar型,程序執行LED=~LED后,就一直在delay中,調不出來了
回復

使用道具 舉報

23#
ID:883242 發表于 2021-11-8 20:00 | 只看該作者
樓主不光是不懂不同類型都有多大范圍,函數調用也完全理解錯誤。想把延遲增加3倍,把Delay里面的參數增加3倍就可以了,而不要去瞎改已經寫好的Delay函數。
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 91精品国产综合久久久亚洲 | 99成人 | 亚洲国产精品va在线看黑人 | 91豆花视频 | 久久亚洲一区二区三 | 久久爆操 | 国产99久久精品一区二区300 | 欧美成人不卡 | 婷婷去俺也去 | 伊人狠狠干 | 男人的天堂久久 | 久久精品91久久久久久再现 | 欧美精品第一页 | 狠狠操狠狠干 | 女人牲交视频一级毛片 | 久久精品视频网站 | 欧美一区二区在线观看 | 妹子干综合 | 久久成人免费视频 | 大学生a级毛片免费视频 | 国产激情一区二区三区 | 成人毛片视频在线播放 | 欧美日韩一区二区在线播放 | 99re在线视频免费观看 | 欧美一区二区在线观看 | 亚洲欧洲成人av每日更新 | 国产小视频在线看 | 亚洲国产精品久久久 | 一区二区激情 | 在线视频三区 | 国产亚洲www| 精精精精xxxx免费视频 | 天天摸天天干 | 国产欧美日韩在线 | 欧美一级片a | 一区二区三区视频在线观看 | 伊人色综合久久久天天蜜桃 | 欧美日韩一区二区视频在线观看 | 激情久久网 | 国产一区二区三区久久久久久久久 | 一区二区视频 |