看板 C_and_CPP 關於我們 聯絡資訊
程式碼: https://ideone.com/kP8qHo 結果: https://imgur.com/a/WMdUccR 與結果不符之預期: 程式不應該停止,因為我用while(1)迴圈整個包住了,而且並沒有 printf出"should not be here"。 然後我用debug mode一行一行跑的時候,發現count=2 (也就是第二次進入isr)且執行到第87行的時候(也就是在60行,把LEDS丟進去function print_byte),出現segment fault。 這就是為什麼程式會在這邊停止的原因吧! 但從C語言來看這一行本身沒什麼問題,我又看 不太懂x86的組語...Orz,所以來這邊請教一下各位大大。 (ps: 原本想給各位大大看組語,但不曉得為什麼我的dev c++開啟視窗後就不能動了,導 致沒辦法把整個片段給大家看。) 截圖: https://imgur.com/a/0ZoYrgi 我是不是直接換個環境比較快阿??? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.42.52.32 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1537961751.A.913.html
james732: 你的i沒有初始值會出事 09/26 19:46
Schottky: printf 寫錯了,%d 要對應 int 你卻給 unsigned char 09/26 19:47
Schottky: 後面會 Segmentation fault 也不意外 09/26 19:47
Schottky: 對喔,i 也沒給初值就使用 09/26 19:49
cphe: 你的i每次進來都是garbage,你應該是想設成static吧 另外 09/26 20:03
cphe: 如果要練習寫timer interrupt不該用這種模擬方式,你怎麼跑 09/26 20:03
cphe: 都只是user process~直接寫一隻driver不就好了 09/26 20:03
感恩,是i沒給到初始值,導致取到array以外的值了~ 回c大,目前手邊沒開發板,只能用這樣子模擬QQ ※ 編輯: zzss2003 (114.42.52.32), 09/26/2018 20:23:55
MOONRAKER: 你繼續用看的看C語言就好,用看的,不要寫code。 09/26 22:49
Schottky: 置底十三誡之第一誡。那十三誡值得一看 09/27 13:42
segment: 因為你打錯字 09/28 19:40
Killercat: er..是時候該拋棄dev c++跟學學debugger了 09/28 20:19
sunneo: vscode 比較棒 09/28 23:00
dces4212: eclipse好像有開發版模擬plugin 10/02 12:05