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

 找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 1968|回復: 15
收起左側

這單片機程序如果第二個for里面b>0改為>=0就無法正常實現LED的閃爍?

[復制鏈接]
ID:1052650 發表于 2022-11-18 15:37 來自觸屏版 | 顯示全部樓層 |閱讀模式
新手菜鳥,大佬勿噴。
請問下面這串代碼如果第二個for里面b>0改為>=0就無法正常實現LED的閃爍是什么原因?麻煩各位大佬給個提示。謝謝了
51hei.png
回復

使用道具 舉報

ID:883242 發表于 2022-11-18 19:42 | 顯示全部樓層
b是unsigned char,永遠大于等于0,這似乎是小學數學問題。
回復

使用道具 舉報

ID:1051394 發表于 2022-11-18 19:59 | 顯示全部樓層
修改a和b的類型為整數就可以了
回復

使用道具 舉報

ID:1052694 發表于 2022-11-18 20:07 | 顯示全部樓層
unsigned char表示0~255,永遠大于等于0
回復

使用道具 舉報

ID:1044091 發表于 2022-11-18 20:22 | 顯示全部樓層
unsigned char b,當最后一步b=0時,0=0,for條件一直為真,但b-1又不存在,所以進入死循環跳不出來了。
回復

使用道具 舉報

ID:883242 發表于 2022-11-18 20:52 | 顯示全部樓層
ningsy 發表于 2022-11-18 20:22
unsigned char b,當最后一步b=0時,0=0,for條件一直為真,但b-1又不存在,所以進入死循環跳不出來了。

誰告訴你b-1不存在?b-1=255這么簡單的問題都不知道嗎?
回復

使用道具 舉報

ID:1052650 發表于 2022-11-18 20:56 | 顯示全部樓層
好了,迷糊了我
回復

使用道具 舉報

ID:824490 發表于 2022-11-19 14:07 | 顯示全部樓層

別迷糊~~6樓道 出真相了:

不就是要數組逆向嗎?
for(b=0;b<8;b++)
{
P2=~S[7-b];
delay();
}
這就逆向了。就這么簡單的。
回復

使用道具 舉報

ID:1052650 發表于 2022-11-20 00:51 來自觸屏版 | 顯示全部樓層
名字不是重點 發表于 2022-11-19 14:07
別迷糊~~6樓道 出真相了:

不就是要數組逆向嗎?

感謝你
回復

使用道具 舉報

ID:624769 發表于 2022-11-20 01:17 | 顯示全部樓層
名字不是重點 發表于 2022-11-19 14:07
別迷糊~~6樓道 出真相了:

不就是要數組逆向嗎?

暈啊…… 有必要繞路走么?

  1. for(b=8;b>0;)
  2. {
  3. b--;
  4. P2=~S[b];
  5. delay();
  6. }
復制代碼

不就好了? 何必一頭 做加法 一頭還要 再去減?
回復

使用道具 舉報

ID:227393 發表于 2022-11-20 01:43 來自觸屏版 | 顯示全部樓層
因為unsignrd char 包括0-255,所以等于0是肯定成立的,所以永遠不會結束for循環,也就是變成死循環了!
回復

使用道具 舉報

ID:883242 發表于 2022-11-20 03:04 | 顯示全部樓層
本帖最后由 Hephaestus 于 2022-11-20 18:19 編輯
188610329 發表于 2022-11-20 01:17
暈啊…… 有必要繞路走么?

for(b=8;b>0;)

這個論壇真奇怪,10樓偷偷改了自己的帖子居然沒有顯示編輯時間。
回復

使用道具 舉報

ID:624769 發表于 2022-11-20 16:19 | 顯示全部樓層
Hephaestus 發表于 2022-11-20 03:04
敲黑板!
你的代碼缺[]

這東西你敲黑板沒用, 要去敲管理員,

為什么  你[]  里缺個 b 可以發出來.
為什么人家  [7-b]  也可以發出來.
唯獨 []  里面只放一個字母 不管是 i 或者 b 都發不出來?

你要是真的在用心逛論壇,就會見怪不怪,或者,就算要敲也不是敲黑板了。
回復

使用道具 舉報

ID:77589 發表于 2022-11-21 10:03 | 顯示全部樓層
你b的類型是unsigned char,如果結束條件是b>=0,在b==0時條件成立,當b再減1時,告訴你此時b就變成了255了,b>=0這個條件還是成立,但是此時再繼續操作,數組就已經越界了,這是一個致命的錯誤!!!!
回復

使用道具 舉報

ID:77589 發表于 2022-11-21 10:06 | 顯示全部樓層
sgq657785 發表于 2022-11-20 01:43
因為unsignrd char 包括0-255,所以等于0是肯定成立的,所以永遠不會結束for循環,也就是變成死循環了!

如果是死循環,LED還是要閃爍啊!
所以不是死循環,是出現了數組越界的致使錯誤!
回復

使用道具 舉報

ID:77589 發表于 2022-11-21 10:09 | 顯示全部樓層
ningsy 發表于 2022-11-18 20:22
unsigned char b,當最后一步b=0時,0=0,for條件一直為真,但b-1又不存在,所以進入死循環跳不出來了。

b的類型是unsigned char,如果結束條件是b>=0,在b==0時條件成立,當b再減1時,告訴你此時b就變成了255了,b>=0這個條件還是成立,但是此時再繼續操作,數組就已經越界了,這是一個致命的錯誤!!!!
回復

使用道具 舉報

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

本版積分規則

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

Powered by 單片機教程網

快速回復 返回頂部 返回列表
主站蜘蛛池模板: 国产91久久久久久久免费 | 在线日韩精品视频 | 成人在线免费观看 | 中文字幕乱码亚洲精品一区 | 在线观看中文字幕 | 国产激情视频在线免费观看 | 97操操 | 伊人手机在线视频 | 国产精品网址 | 中文字幕国产精品 | 国产精品国产三级国产aⅴ无密码 | a黄在线观看 | 国产婷婷色综合av蜜臀av | 伊人春色在线 | 一级黄色绿像片 | 欧美乱做爰xxxⅹ久久久 | 曰韩三级 | 99re6在线视频精品免费 | 9191av| 国产精品久久久久久久毛片 | 中文字幕第十一页 | 成人网视频| 91中文在线观看 | 亚洲一区免费在线 | 亚洲精品久久久一区二区三区 | 91久久国产综合久久 | 国产精品网址 | 草久久 | 亚洲视频中文字幕 | 91av视频在线观看 | 黑人巨大精品欧美一区二区免费 | 一级在线视频 | 久草免费在线视频 | 91精品国产麻豆 | 久草久草久草 | 青青草原综合久久大伊人精品 | 午夜一区二区三区在线观看 | 综合一区二区三区 | 中文字幕亚洲精品 | 久久精品中文字幕 | 国产精品美女www爽爽爽视频 |