Re: 想請教各位高手關於PWM 與 L298N 的線路問題
|
||||
---|---|---|---|---|
初級會員
|
Hello mickeys_wu,
謝謝你的回覆. 小弟資質駑鈍呀,我看了那張圖,我還是不了解該在哪裡把PWM當作input放進去. 還是你指的是在PIN_10,PIN_12的部分呢? 如果是這樣,這兩個不是控制motor正反轉方向的嗎? 那怎麼控制他的速度呢? 麻煩你只點一下迷津. 也希望有經驗的人能提點一下. 非常感激 菜鳥
發表於: 2008/11/23 1:32
|
|||
|
想請教各位高手關於PWM 與 L298N 的線路問題
|
||||
---|---|---|---|---|
初級會員
|
各位高手大家好,
菜鳥又來請教一個問題了. 我想請問一下關於PWM與L298N的線路問題. 我使用的是PIC 16F877, 它在PIN_C1,C2有PWM,我不了解的是,我把這兩個都當作Input的話去控制DC motors的速度, 我該連接L298N的哪一個接腳呢? 我看了L298N的 datasheet,還是不了解,我該接到兩個腳位. 請有經驗的高手能給點提示跟指點. 非常感激抽空看文章. 菜鳥
發表於: 2008/11/22 14:56
|
|||
|
Re: 請問版大,關於C語言的Bootloader
|
||||
---|---|---|---|---|
初級會員
|
Dear 版大,
我也想要學一下如何使用Bootloader in C雖然我是使用的是CCS, 可以麻煩你也寄一份範例給我嗎????? 非常,非常感謝版大的幫忙. 菜鳥
發表於: 2008/11/22 14:07
|
|||
|
Re: 請教各位一個 Code的問題. 跟一個C語言問題
|
||||
---|---|---|---|---|
初級會員
|
Hello Mark,
謝謝你的回覆. 我用無線傳輸, 基本上我做了一些基本的測試, 就是在PIC B 用 while(1) 去秀"Hello" 這個字. 它可以很成功的傳輸到A然後秀到 Hyper terminal 上面. 但是問題是, 我把它改成上面那個程式時, 它就無法顯示我要的 1, 3 ,5 的數字在我的七段顯示器上面. 我compile 有過,所以我猜應該是邏輯上的錯誤. 我自己不曉得哪邊錯了. 在無線傳輸的燈號亮(燈號亮表示進兩個PIC有建立連線)之後沒多久,七段顯示器就直接顯示"9"-->"0"-->"9" 顯然我的PIC B 好像沒有收到 PIC A 一開始給她的"1". 還有你說的顯示"E"是指上我的七段顯示器顯示E是嗎? 還有你說的==> ""假如你要的時是10H,那就判斷值等於10H,才做副程式即可啊! "" 這句話的意思是什麼意思呢?? 因為我要我的七段顯示器要顯示1, 3, 5 所以我在 IF 的判斷式裡面就用了希望她等於1, 3, 5. 你的意思是說我這樣寫不對嗎? 請Mark幫我解釋一下. 請知道的高手能解惑指點一下. 感謝各位的抽空看文章. 菜鳥.
發表於: 2008/8/28 14:20
|
|||
|
請教各位一個 Code的問題. 跟一個C語言問題
|
||||
---|---|---|---|---|
初級會員
|
Hello 高手們日安,
首先,想請教code的問題. 我用的是兩個PIC 16F877 我要做無線傳輸的測試, 兩個PIC 彼此之間是沒有任何RS232 連結. 我想要做的是從PIC A 傳送 1 給PIC B, 然後 PIC B收到之後,在將所收到的數字+1 之後回傳回去給PIC A 然後PIC A收到之後再 +1 再傳給PIC B . 然後我用七段顯示器,去顯示PIC B 都到的數字.如果沒收到數字我設定七段顯示器顯示 "0"-->''9"-->"0"表示沒有收到PIC A 的數字 這兩個通過compile,但是我想我犯了邏輯上的錯誤,因為在七段顯示器上面,它顯示就是"0"-->''9"-->"0" 始終沒有出現我希望它顯示的 1, 3 ,5. 麻煩高手們 或是 明眼人指點一下. 第二個問題是,菜鳥想請教,如果我想要某一段指令,等到給定一個值才執行該怎麼寫呢? 我的意思是說,如果我想要printf 出某一個值,但是我要收到一個數字之後在執行這個部分,我該怎麼寫呢? 你們的指點一定可以讓蔡鳥學到很多知識跟技巧. 也感激你們抽空看文章 菜鳥 PIC A : #include<16F877.h> #use delay(clock=10000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) int c,d,g,h; void main() { delay_ms(1000); puts("1"); delay_ms(1030); c=getc(); if(c==2) { delay_ms(100); d=c+1; delay_ms(30); puts("d"); delay_ms(100); } g=getc(); if(c==4) { delay_ms(100); h=g+1; puts("h"); delay_ms(100); } } PIC B: #include<16F877.h> #use delay(clock=10000000) #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7) int a,b,e,f,i; void main() { set_tris_b(0xFF); set_tris_d(0x00); while(1) { //我把硬體連結的Code忽略, 這樣看起來比較不會 //亂. a=getc(); if(a==1) { output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_low(PIN_D3); } else { output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); delay_ms(1000); output_low(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_low(PIN_D3); delay_ms(1000); output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); } delay_ms(100); b=a+1; delay_ms(30); puts("b"); delay_ms(100); e=getc(); if(e==3) { output_high(PIN_D0); output_high(PIN_D1); output_low(PIN_D2); output_low(PIN_D3); } else { output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); delay_ms(1000); output_low(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_low(PIN_D3); delay_ms(1000); output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); delay_ms(1000); } delay_ms(100); f=e+1; delay_ms(3); puts("f"); i=getc(); if(i==5) { output_high(PIN_D0); output_low(PIN_D1); output_high(PIN_D2); output_low(PIN_D3); } else { output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); delay_ms(1000); output_low(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_low(PIN_D3); delay_ms(1000); output_high(PIN_D0); output_low(PIN_D1); output_low(PIN_D2); output_high(PIN_D3); delay_ms(1000); } } }
發表於: 2008/8/27 17:20
|
|||
|
Re: 請教版主或各位能人異士一個不知屬於硬體還是軟體的問題
|
||||
---|---|---|---|---|
初級會員
|
Hello Mark,
謝謝你詳細的解說,我目前使用的是CCS C compiler, 所以我只需要用 #asm ...... #endasm 是嗎??? 還是您知道在C方面該怎麼處理這一段呢??? 十分感激Mark的指導. 謝謝你. 菜鳥
發表於: 2008/8/9 6:17
|
|||
|
Re: 請教版主或各位能人異士一個不知屬於硬體還是軟體的問題
|
||||
---|---|---|---|---|
初級會員
|
Hello 大家日安,
首先,十分感激大家的回文,尤其是Mark跟版主的指點跟建議. 因為我是剛起步,所以Mark你所提到的方式,說坦白的我還是不能完全體會,不過我會細細體會想一下的意思跟方法. 還有謝謝nicecookie這麼細心的看我的文章,基本上你提到的那段話是我的語病,我不能說"一般來說". 我不知道是否有其他方式,但是基本上我就是都這麼燒程式的,至於程式內容,因為我只是用了幾個馬達跟幾個infrared,所以沒什麼複雜的東西,所以程式也不用寫到幾行.至於rs232的線,就去今華買的囉.程式update就是我自己了呀.就像現在我想要學的,如果我學會了那我那幾行簡單的程式就update成功了,所以我就上來請教各位高手,看有沒有剛好有這方面的經驗. 再此十分感激大家的看文章回文,感謝Mark熱心的指點.我會努力試試看,有問題還得請教大家. 菜鳥
發表於: 2008/8/7 15:35
|
|||
|
Re: 請教版主或各位能人異士一個不知屬於硬體還是軟體的問題
|
||||
---|---|---|---|---|
初級會員
|
Hello 各位高手日安,
謝謝Mark, nicecookie和Master抽空回文章. 我可能沒有表達好我的問題,就是我已經可以控制我的玩具其實她是一台小船,而且它吃的是電池的電而且我已經把程式燒進去了,但是問題是我每次要讓它跑的時候,我得先打開電源,然後插著rs232的線,再經由PC裡面的 Hyper terminal 視窗裡去key in "g !" 去啟動我的單晶片裡面的程式,然後再把rs232 拔掉, 再把它放到水上面去跑. 因為我上面裝有紅外線測距,所以它在我放進水面上之前就會開始空轉. 我現在想要做的事情是,可不可能直接先把它放到水面上,然後我打開電源開關之後,它就開始自己跑程式呢?我想市面上的那些玩具好像都是這樣,像是那個玩具小狗,它也是一開電源,它所有的裝置都啟動,所以我想要知道這該怎麼做,或是可不可行這樣. Mark 兄說,可以偵測電源開關,那這個部分,小弟沒概念.你的意思是說我把程式寫好,然後電源開關一打開它就會自動去偵測開關?還是這個部分是寫在程式一般的程式裡面? 那如果是寫在一般的程式裡面,那我是不是還是需要在Hyper terminal 裡面下達跑程式的這個指令呢? 請大家指導一下菜鳥,十分十分感激. 再次感激大家的看文章,及抽空回文. 菜鳥
發表於: 2008/8/6 14:13
|
|||
|
請教版主或各位能人異士一個不知屬於硬體還是軟體的問題
|
||||
---|---|---|---|---|
初級會員
|
Hello 大家日安,
今天菜鳥又來請教問題. 首先,我使用的是 PIC 16F877, MPLAB v8.0, 和 Hyper terminal. 我想請教的是,如果今天我想要做一輛玩具車,然後想要讓他打開電源之後,他就可以開始跑我給它的程式,這個我該怎麼用CCS C compilere 去達到呢??? 因為一般來說,我會將程式經由rs232燒進去 PIC 裡面,然後再由Hyper terminal 的視窗,按下 "g!" 透過rs232去讓pic開始跑這個程式,可是如果今天我完全不想要透過 rs232 去傳送這個 "g!" 我只想要一打開電源 他就開始跑程式,然後這個完全就會自己動,這該怎麼去實現他? 這是屬於硬體還是軟體的部分呢? 像市面上有很多玩具,尤其是 Woowee 系列她們好像都是開電源,就開始跑晶片裡面的程式去執行想做的事情. 煩請知道的高手能指點菜鳥一下,或是給各方向我該怎麼做. 有人說這很簡單可以瓣到,可是菜鳥我卻毫無頭緒,煩請各位高手指導一下. 在此我先感謝大家抽空看文章,也煩請知道的高手們,能指點一下. 菜鳥十分十分的感激. 菜鳥
發表於: 2008/8/4 16:51
|
|||
|