智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 4117|回复: 3
打印 上一主题 下一主题

[咨询] visual scope的使用

[复制链接]

9

主题

82

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1789
威望
678
贡献
379
兑换币
179
注册时间
2012-8-27
在线时间
366 小时
毕业学校
重庆交通大学
跳转到指定楼层
1#
发表于 2012-11-22 13:13:38 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
咨询下大家,在K60上如何写visual scope这个的协议呢,是不是和在XS128一样的啊,但是我在串口上怎么也得不到数据,求指导
附带从XS128上直接拷贝过来的协议
  1. #include "common.h"
  2. #include "HAL_UART.h"
  3. #include "SCI.h"

  4. char UART_Recv_Data;
  5. /*
  6. ****************************************************************
  7. *  串口初始化 默认是串口0,也就是说你的一个串口txd0 rxd0 波特率9600
  8. *****************************************************************
  9. */
  10. void UART_Init (void)
  11. {
  12.   LPLD_UART_Init(UART2_BASE_PTR,9600);      //设置串口0,TX:PTB17,RX:PTB16
  13. // LPLD_UART_Init(UART1_BASE_PTR,9600);      //设置串口1,TX:PTC4,RX:PTC3
  14. // LPLD_UART_Init(UART2_BASE_PTR,9600);      //设置串口2,TX:PTD3,RX:PTD2
  15. // LPLD_UART_Init(UART3_BASE_PTR,9600);      //设置串口3,TX:PTC17,RX:PTC16
  16.   UART_Recv_Data = LPLD_UART_GetChar(UART2_BASE_PTR);
  17. //返回中断接收到的字节
  18. }

  19. /*
  20. ****************************************************************
  21. *  配合串口示波器的校验协议
  22. *****************************************************************
  23. */
  24. unsigned short CRC_CHECK(unsigned char *Buf, unsigned char CRC_CNT)
  25. {
  26.     unsigned short CRC_Temp;
  27.     unsigned char i,j;
  28.     CRC_Temp = 0xffff;

  29.     for (i=0;i<CRC_CNT; i++){      
  30.         CRC_Temp ^= Buf[i];
  31.         for (j=0;j<8;j++) {
  32.             if (CRC_Temp & 0x01)
  33.                 CRC_Temp = (CRC_Temp >>1 ) ^ 0xa001;
  34.             else
  35.                 CRC_Temp = CRC_Temp >> 1;
  36.         }
  37.     }
  38.     return(CRC_Temp);
  39. }
  40. /*
  41. ****************************************************************
  42. *    配合串口示波器的输出协议,float 字长设为16位!!!注意工程
  43. *    设置有的是32位!
  44. *  1  可以输出4路信息,每路数据长度是16位。
  45. *  2  每次输出字节总数10个,最后两个字节为校验
  46. *****************************************************************
  47. */
  48. //void OutPut_Data(float  OutData[4])
  49. void OutPut_Data(void)
  50. {
  51.     int           temp[4] = {0};
  52.     unsigned int  temp1[4] = {0};
  53.     unsigned char databuf[10] = {0};
  54.     unsigned char i;
  55.     unsigned short CRC16 = 0;
  56.     for(i=0;i<4;i++)
  57.     {
  58.           temp[i] = (int)OutData[i];
  59.           temp1[i] = (unsigned int)temp[i];
  60.      }
  61.     for(i=0;i<4;i++)
  62.     {
  63.           databuf[i*2] = (unsigned char)(temp1[i]%256);
  64.           databuf[i*2+1] = (unsigned char)(temp1[i]/256);
  65.      }
  66.      CRC16 = CRC_CHECK(databuf,8);
  67.      databuf[8] = CRC16%256;
  68.      databuf[9] = CRC16/256;
  69.      for(i=0;i<10;i++)
  70.         LPLD_UART_PutChar(UART2_BASE_PTR,databuf[i]);
  71. }
复制代码


2

主题

16

帖子

0

精华

高级会员

Rank: 4

积分
520
威望
268
贡献
164
兑换币
165
注册时间
2012-11-23
在线时间
44 小时
毕业学校
临沂大学
2#
发表于 2013-1-23 09:20:38 | 只看该作者
建议你在主函数里,每隔10毫秒就串口发送一次,用示波器观察波形
,就知道对与否了
回复 支持 反对

使用道具 举报

0

主题

2

帖子

0

精华

注册会员

Rank: 2

积分
45
威望
36
贡献
5
兑换币
11
注册时间
2012-12-25
在线时间
2 小时
毕业学校
山东理工大学
3#
发表于 2013-8-18 19:55:24 | 只看该作者
文圣利 发表于 2013-1-23 09:20
建议你在主函数里,每隔10毫秒就串口发送一次,用示波器观察波形
,就知道对与否了

大神  有visual scope的程序么?谢谢239281552@qq.com
回复 支持 反对

使用道具 举报

4

主题

359

帖子

0

精华

金牌会员

Rank: 6Rank: 6

积分
1729
QQ
威望
871
贡献
508
兑换币
553
注册时间
2014-2-26
在线时间
175 小时
4#
发表于 2014-4-26 21:22:46 | 只看该作者
求#include "common.h"
回复 支持 反对

使用道具 举报

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

本版积分规则

关于我们|联系我们|小黑屋|智能车制作 ( 黑ICP备2022002344号

GMT+8, 2024-12-26 16:28 , Processed in 0.203247 second(s), 36 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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