• slider image 442
  • slider image 483
  • slider image 484
  • slider image 485
  • slider image 486
  • slider image 487
:::


Browsing this Thread:   1 Anonymous Users






Re: 請教各位一個 Code的問題. 跟一個C語言問題
#4
高級會員
高級會員


查看用戶資訊
你的七段顯示器顯示的段數是直接驅動還是透過7447?
既然你可以在超級終端機上秀出字,那表示你也有ASCII CODE轉HEX,所以應該沒問題!
至於E是七段顯示器顯示E,代表ERROR!
就不用0->9->0!!!

另外那是回答你第二個問題啦!!!
呵!!

發表於: 2008/8/28 14:58
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教各位一個 Code的問題. 跟一個C語言問題
#3
初級會員
初級會員


查看用戶資訊
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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


Re: 請教各位一個 Code的問題. 跟一個C語言問題
#2
高級會員
高級會員


查看用戶資訊
你要做無線傳輸,有沒有使用編解碼IC啊?
還是你是用紅外線或藍芽傳輸,才會用USART,如果是RF就須編解碼IC,一次需8個I/O PORT.
你也沒提到?所以不清楚你為收到資料無法正確顯示!
你可以錯誤的時候改顯示E,這樣就可以避免出現誤判情形!

假如你要的時是10H,那就判斷值等於10H,才做副程式即可啊!

發表於: 2008/8/28 8:55
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部


請教各位一個 Code的問題. 跟一個C語言問題
#1
初級會員
初級會員


查看用戶資訊
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
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong 頂部







You can view topic.
不可以 發起新主題
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create PDF files.
You cannot get print page.

[進階搜尋]


:::

Microchip連結

https://www.facebook.com/microchiptechnologytaiwan/
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=13
https://mu.microchip.com/page/tmu
http://elearning.microchip.com.tw/modules/tad_link/index.php?cate_sn=1
https://page.microchip.com/APAC-PrefCenters-TW.html
http://www.microchip.com/
http://www.microchip.com/treelink
http://www.microchipdirect.com/
http://www.microchip.com.cn/newcommunity/index.php?m=Video&a=index&id=103
http://www.microchip.com.tw/modules/tad_uploader/index.php?of_cat_sn=2
http://www.microchip.com.tw/Data_CD/eLearning/index.html
http://www.microchip.com.tw/RTC/RTC_DVD/
https://www.microchip.com/development-tools/
https://www.youtube.com/user/MicrochipTechnology
[ more... ]

教育訓練中心

!開發工具購買
辦法說明 [業界客戶] [教育單位]
----------------------------------
!校園樣品申請
辦法說明 [教師資格] [學生資格]
----------------------------------