[問題] 用Keil c寫PWM

看板ASM (組合語言)作者 (錦衣)時間13年前 (2011/10/25 08:59), 編輯推噓3(305)
留言8則, 3人參與, 最新討論串1/1
我目前自己摸索一台自走車,從完全新手(C語言白吃XD) 到自己用Keil C寫完遙控模式 接下來要寫自動循軌,但是卡在PWM 有想說用delay的寫法,但是問過人之後還是用pwm的方式比較好 我想問的是 我在程式中加上 #define PWM_Period 4610 void UART_Set(void) { SCON = 0x50; TMOD = 0x20; TH0= 0xFD; TR1 = 1; } void PWM_Set(void) { TCON = 0x50; TH1 = (65536-PWM_Period)/256; TL1 = (65536-PWM_Period)%256; TF1 = 0; ET1 = 1; } //主程式區 UART_Set(); PWM_Set(); EA = 1; ES = 1; 之後,在我想要的動作裡面加入 PWM_DCount = (數字); 這樣對嗎? XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 163.29.225.103

11/22 23:05, , 1F
C 語法 #define 一般方便記憶變數用,你若要改變數字,
11/22 23:05, 1F

11/22 23:06, , 2F
建議宣告變數 int,再用&傳遞給函數。比較煩,但是好習慣
11/22 23:06, 2F

11/22 23:08, , 3F
或你可以宣告 static 變數,好像這裡不用&也可以 XD
11/22 23:08, 3F

11/27 19:28, , 4F
pwm用算的 在單位時間內的CPU的工作會變多 如果你的工作很
11/27 19:28, 4F

11/27 19:29, , 5F
多 那反應會拉慢 思考一下這個問題 其實很easy
11/27 19:29, 5F

11/27 19:33, , 6F
當然 若你的程式很單純 那其實也沒很大的影響
11/27 19:33, 6F

12/05 08:30, , 7F
感謝解答,問題是出在我沒用int,自走車也可上路了 XD
12/05 08:30, 7F

12/05 08:31, , 8F
不過走的歪七扭八,看來現在車體問題比較大 XDDD
12/05 08:31, 8F
文章代碼(AID): #1EfWdj3S (ASM)
文章代碼(AID): #1EfWdj3S (ASM)