佳礼资讯网

 找回密码
 注册

ADVERTISEMENT

楼主: pikachew

请问RS232能显示BREADBOARD上的资料吗?

  [复制链接]
发表于 5-11-2011 09:45 AM | 显示全部楼层
我有用HYPER TERMINAL ,REAL TERM 试了才用VB 试的。
pikachew 发表于 5-11-2011 12:43 AM

1. PUTC/PRINTF都没问题

什么意思?这说明PIC MCU 能发。。 PC 能收?

2. LOOP BACK TEST有做过完全没反应。

没有反应? 那么你上面 1的是怎样做的?矛盾

RS232 要能够收RX, 能够发TX。。。
你loop back 都不成功了, 这代表什么呢?   

为什么要去试你朋友的电脑? 什么意义?
然道要做出有些电脑可以跑, 有些电脑不可以跑的东西?
感觉你还是没有开窍。。囧~
我不重复了。。谢谢。
回复

使用道具 举报


ADVERTISEMENT

 楼主| 发表于 5-11-2011 11:48 PM | 显示全部楼层
本帖最后由 pikachew 于 6-11-2011 12:26 AM 编辑
什么意思?这说明PIC MCU 能发。。 PC 能收?


没有反应? 那么你上面 1的是怎样做的?矛盾 :lol ...
pic 发表于 5-11-2011 09:45 AM


我的意思是指如果PRINTF/PUTC是没问题,这是有CONNECT PIC ,RS232去电脑的。
LOOP BACK TEST 之前不是说不用CONNECT 去PIC,就short PIN2 和PIN3?然后用REAL TERM / HYPERTERMINAL来SEND.
如果我CONSTRUCT的CIRCUIT在我电脑用不到,但是在我朋友电脑能用到(从电脑SEND character 去PIC) ,难道这也是CIRCUIT问提吗?
如果是CIRCUIT问题,为什么他的电脑能,我的电脑不能?
我也已经说过
1.一样的PROGRAM
2.一样的CIRCUIT
3.不一样的电脑而已。
谢谢。

图画来了。









Uploaded with ImageShack.us
回复

使用道具 举报

发表于 6-11-2011 09:45 AM | 显示全部楼层
本帖最后由 wkloh 于 6-11-2011 09:53 AM 编辑

这位同学,原来你的电脑RS232传输问题依旧么没有解决啊!

你的发问方式,造成我和PIC大大的错觉,还以为你就差那个最后阶段而已。(没有很好的报告测试结果)。

根据你的142楼报告,我怀疑你的USB to RS232 converter driver 和你电脑 不匹配了。
估计有2种个可能性:
1.可能是你以前有安装过这家牌子的其它device,造成 driver 记忆着之前的device。
2.你的电脑USB完全不能和这个牌子的USB to RS232 converter,换别家牌子的converter。

给你3个建议:

1. 就直接用你朋友电脑完成你的project.

2. uninstall 以前安装过的 usb device driver(现在没用的),再到windows 的system32目录底下找出 相关的 。sys 和 。ini 档,删除。接着才重新安装你的 converter driver。

3. 重新安装你的OS吧!

这三个都不能解决你的问题,我也没辙了。

祝你好运。。。

再补充一点,请整理好思绪,才发问问题。

解题的人会很累咯,需要重新爬楼,才了解你的状况。
回复

使用道具 举报

 楼主| 发表于 12-11-2011 10:38 AM | 显示全部楼层
这位同学,原来你的电脑RS232传输问题依旧么没有解决啊!

你的发问方式,造成我和PIC大大的错觉,还 ...
wkloh 发表于 6-11-2011 09:45 AM


谢谢大大的帮忙。换了UART来SEND 和 RECIEVE data,没有用DB9了,所以问题解决了。
不过还有一个小问题想问的是
  1.     #include "16f877a.h"
  2.     #fuses XT,PROTECT,NoWDT,put,brownout
  3.     #use delay(clock=4000000)
  4.     #use rs232(baud=9600, xmit=PIN_C6, rcv=PIN_C7,ERRORS)
  5. #include "lcd.c"

  6.     int1 fiA0=0; // Flag
  7.     int1 fiA1=0;
  8.         int1 fiA2=0;




  9.                
  10.     void main()
  11.     {
  12.       lcd_init();       
  13.       lcd_putc("\fCar Park Sys");
  14.      
  15.       delay_ms(2000);
  16.       lcd_putc("\f"); // clear LCD screen
  17.                
  18.       fiA0=input(pin_a0); // initialize
  19.       fiA1=input(pin_a1); // initialize
  20.           fiA2=input(pin_a2); // initialize
  21.                
  22.        while(1)
  23.        {
  24.                
  25.           if(fiA0!=input(pin_a0)) // Test if Flag is change status
  26.           {
  27.              fiA0=input(pin_a0); // lock Flag
  28.           delay_ms(100); // debounce
  29.              if(input(pin_a0)==1)
  30.              {
  31.                                
  32.                 output_low(pin_d7);
  33.                 printf("\nPARKING LOT 1- OCCUPIED\r");
  34.                                 lcd_putc("\fPL1-occupied");
  35.                                                        
  36.                       
  37.              }
  38.              else
  39.              {
  40.                 output_high(pin_d7);
  41.                 printf("\nPARKING LOT1- EMPTY\r");
  42.          
  43.             lcd_putc("\fPL1-empty");

  44.              }
  45.                        
  46.           }      
  47.          
  48.           if(fiA1!=input(pin_a1)) // Test Flag
  49.           {
  50.              fiA1=input(pin_a1); // lock Flag
  51.             delay_ms(100); // debounce
  52.              if(input(pin_a1)==1)
  53.              {
  54.                 output_low(pin_d6);
  55.                 printf("\nPARKING LOT2-OCCUPIED\r");

  56.             lcd_putc("\fPL2-occupied");
  57.                        

  58.                

  59.              }
  60.              else
  61.              {
  62.                 output_high(pin_d6);
  63.                 printf("\nPARKING LOT2-EMPTY\r");
  64.    
  65.             lcd_putc("\fPL2-empty");


  66.                 }
  67.           }


  68.                     if(fiA2!=input(pin_a2)) // Test Flag
  69.           {
  70.              fiA2=input(pin_a2); // lock Flag
  71.             delay_ms(100); // debounce
  72.              if(input(pin_a2)==1)
  73.              {
  74.                 output_low(pin_d5);
  75.                 printf("\nPARKING LOT3-OCCUPIED\r");

  76.             lcd_putc("\fPL3-occupied");

  77.                

  78.              }
  79.              else
  80.              {
  81.                 output_high(pin_d5);
  82.                 printf("\nPARKING LOT3-EMPTY\r");
  83.    
  84.             lcd_putc("\fPL3-empty");


  85.                 }
  86.           }

  87.        
  88.                 if((input(pin_a0)==1) && (input(pin_a1)==1) && (input(pin_a2)==1))
  89.                         {
  90.                                 delay_ms(1000);
  91.                                 lcd_putc("\fPL available:0");
  92.                                 delay_ms(1000);
  93.                                 
  94.                        
  95.                                 printf("\fPL available:0");
  96.                         delay_ms(1000);                                         
  97.                                                 }
  98.                                
  99.                 else if((input(pin_a0)==0) && (input(pin_a1)==0) && (input(pin_a2)==0))
  100.                                 {
  101.                                 delay_ms(1000);
  102.                                 lcd_putc("\fPL available:3");
  103.                                 delay_ms(2000);
  104.                                 lcd_putc("\fPL1-empty");
  105.                                 lcd_putc("\nPL2-empty");
  106.                                 delay_ms(1000);
  107.                                 lcd_putc("\fPL3-empty");
  108.                                 delay_ms(1000);
  109.                        
  110.                                         printf("\fPL available:3");
  111.                         delay_ms(1000);
  112.                                                 }

  113.                                 else if((input(pin_a0)==0) && (input(pin_a1)==0) && (input(pin_a2)==1))
  114.                 {
  115.                                 delay_ms(1000);
  116.                                 lcd_putc("\fPL available:2/3");
  117.                                 delay_ms(1000);
  118.                                 lcd_putc("\fPL1:empty");
  119.                                 lcd_putc("\nPL2:empty");
  120.                        
  121.                                         printf("\fPL available:2");
  122.                         delay_ms(1000);
  123.                                         }       
  124.                
  125.                         else if((input(pin_a0)==0) && (input(pin_a1)==1) && (input(pin_a2)==0))
  126.                 {
  127.                                 delay_ms(1000);
  128.                                 lcd_putc("\fPL available:2/3");
  129.                                 delay_ms(1000);
  130.                                
  131.                                 lcd_putc("\fPL1:empty");
  132.                                 lcd_putc("\nPL3:empty");
  133.                                
  134.                                 printf("\fPL available:2");
  135.                        
  136.                         delay_ms(1000);
  137.                                
  138.                                         }       
  139.                        
  140.                                 else if((input(pin_a0)==0) && (input(pin_a1)==1) && (input(pin_a2)==1))
  141.                 {
  142.                                 delay_ms(1000);
  143.                                 lcd_putc("\fPL available:1/3");
  144.                
  145.                                 lcd_putc("\nPL1:empty");
  146.                        
  147.                                 printf("\fPL available:1");
  148.                        
  149.                         delay_ms(1000);
  150.                                
  151.                                         }       
  152.                        
  153.                                 else if((input(pin_a0)==1) && (input(pin_a1)==0) && (input(pin_a2)==0))
  154.                 {
  155.                                 delay_ms(1000);
  156.                                 lcd_putc("\fPL available:2/3");
  157.                         delay_ms(1000);
  158.                         lcd_putc("\fPL2:empty");
  159.                
  160.                         lcd_putc("\nPL3:empty");
  161.                                
  162.                                         printf("\fPL available:2");
  163.                         delay_ms(1000);
  164.                                
  165.                                 }       


  166.                                 else if((input(pin_a0)==1) && (input(pin_a1)==0) && (input(pin_a2)==1))
  167.                 {
  168.                         delay_ms(1000);
  169.                                 lcd_putc("\fPL available:1/3");
  170.                        
  171.                                 lcd_putc("\nPL2:empty");
  172.                
  173.                                 printf("\fPL available:1");
  174.         delay_ms(1000);
  175.                                
  176.                                         }       


  177.                                 else if((input(pin_a0)==1) && (input(pin_a1)==1) && (input(pin_a2)==0))
  178.                 {
  179.                                
  180.                                 delay_ms(1000);
  181.                                 lcd_putc("\fPL available:1/3");
  182.                        
  183.                                 lcd_putc("\nPL3:empty");
  184.                                
  185.                                 printf("\fPL available:1");
  186.                         delay_ms(1000);
  187.                                        
  188.                                         }       
  189.                
  190.         }       

  191. }

复制代码

如何把在这里的”PRINTF“ 只会PRINTF一次就停了,就不会再一直PRINT.

   

  1. if((input(pin_a0)==1) && (input(pin_a1)==1) && (input(pin_a2)==1))
  2. {
  3. delay_ms(1000);
  4. lcd_putc("\fPL available:0");
  5. delay_ms(1000);


  6. printf("\fPL available:0");
  7. delay_ms(1000);
  8. }

  9. else if((input(pin_a0)==0) && (input(pin_a1)==0) && (input(pin_a2)==0))
  10. {
  11. delay_ms(1000);
  12. lcd_putc("\fPL available:3");
  13. delay_ms(2000);
  14. lcd_putc("\fPL1-empty");
  15. lcd_putc("\nPL2-empty");
  16. delay_ms(1000);
  17. lcd_putc("\fPL3-empty");
  18. delay_ms(1000);

  19. printf("\fPL available:3");
  20. delay_ms(1000);
  21. }

  22. else if((input(pin_a0)==0) && (input(pin_a1)==0) && (input(pin_a2)==1))
  23. {
  24. delay_ms(1000);
  25. lcd_putc("\fPL available:2/3");
  26. delay_ms(1000);
  27. lcd_putc("\fPL1:empty");
  28. lcd_putc("\nPL2:empty");

  29. printf("\fPL available:2");
  30. delay_ms(1000);
  31. }

  32. else if((input(pin_a0)==0) && (input(pin_a1)==1) && (input(pin_a2)==0))
  33. {
  34. delay_ms(1000);
  35. lcd_putc("\fPL available:2/3");
  36. delay_ms(1000);

  37. lcd_putc("\fPL1:empty");
  38. lcd_putc("\nPL3:empty");

  39. printf("\fPL available:2");

  40. delay_ms(1000);

  41. }

  42. else if((input(pin_a0)==0) && (input(pin_a1)==1) && (input(pin_a2)==1))
  43. {
  44. delay_ms(1000);
  45. lcd_putc("\fPL available:1/3");

  46. lcd_putc("\nPL1:empty");

  47. printf("\fPL available:1");

  48. delay_ms(1000);

  49. }

  50. else if((input(pin_a0)==1) && (input(pin_a1)==0) && (input(pin_a2)==0))
  51. {
  52. delay_ms(1000);
  53. lcd_putc("\fPL available:2/3");
  54. delay_ms(1000);
  55. lcd_putc("\fPL2:empty");

  56. lcd_putc("\nPL3:empty");

  57. printf("\fPL available:2");
  58. delay_ms(1000);

  59. }


  60. else if((input(pin_a0)==1) && (input(pin_a1)==0) && (input(pin_a2)==1))
  61. {
  62. delay_ms(1000);
  63. lcd_putc("\fPL available:1/3");

  64. lcd_putc("\nPL2:empty");

  65. printf("\fPL available:1");
  66. delay_ms(1000);

  67. }


  68. else if((input(pin_a0)==1) && (input(pin_a1)==1) && (input(pin_a2)==0))
  69. {

  70. delay_ms(1000);
  71. lcd_putc("\fPL available:1/3");

  72. lcd_putc("\nPL3:empty");

  73. printf("\fPL available:1");
  74. delay_ms(1000);
复制代码

有试过用FOR LOOP, IF ELSE , BREAK都不能解决。如果不把这些放在WHILE(1)里,又不可以。

谢谢。
回复

使用道具 举报

发表于 13-11-2011 08:26 PM | 显示全部楼层
换了UART来SEND 和 RECIEVE data,没有用DB9了,所以问题解决了。
pikachew 发表于 12-11-2011 10:38 AM

什么是换了UART? 为什么没有用DB9了?


如何把在这里的”PRINTF“ 只会PRINTF一次就停了,就不会再一直PRINT.
pikachew 发表于 12-11-2011 10:38 AM

这个问题你问过, 也给过答案了。
回复

使用道具 举报

 楼主| 发表于 3-12-2011 11:48 AM | 显示全部楼层
本帖最后由 pikachew 于 3-12-2011 12:08 PM 编辑
什么是换了UART? 为什么没有用DB9了?
[url=redirect.php?goto=findpost&pid=94260905&ptid=2371419]/url][quote]

还有用DB9, 是另外一个CIRCUIT是用UART TO USB CONVERTER(CYTRON自己制作的)
现在已经SOLDER进PCB 了,现在这CIRCUIT 还是用DB9. 可是就是PRINTF 不到 PIC 的资料去电脑。
之前在BREADBOARD都没这问题。。
CHECK了没有SHORT CIRCUIT.
电路也没安装错。
安装了DB9 lcdputc 的速度变慢了。



[quote]
这个问题你问过, 也给过答案了。
pic 发表于 13-11-2011 08:26 PM


解决了。
回复

使用道具 举报

Follow Us
发表于 4-12-2011 11:07 AM | 显示全部楼层
回复 146# pikachew


    怎样解决?
回复

使用道具 举报

 楼主| 发表于 4-12-2011 11:29 PM | 显示全部楼层
回复  pikachew


    怎样解决?
fritlizt 发表于 4-12-2011 11:07 AM



     换去其它COM PORT就解决了。
回复

使用道具 举报


ADVERTISEMENT

您需要登录后才可以回帖 登录 | 注册

本版积分规则

 

ADVERTISEMENT



ADVERTISEMENT



ADVERTISEMENT

ADVERTISEMENT


版权所有 © 1996-2023 Cari Internet Sdn Bhd (483575-W)|IPSERVERONE 提供云主机|广告刊登|关于我们|私隐权|免控|投诉|联络|脸书|佳礼资讯网

GMT+8, 20-4-2024 06:50 PM , Processed in 0.052905 second(s), 21 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表