智能车制作

 找回密码
 注册

扫一扫,访问微社区

查看: 1805|回复: 6
打印 上一主题 下一主题

[采集类] 发到示波器的数值如何能达到4095?我只能到255....

[复制链接]

18

主题

301

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4946
威望
2641
贡献
1439
兑换币
1337
注册时间
2014-8-31
在线时间
433 小时
毕业学校
河海大学
跳转到指定楼层
1#
发表于 2015-3-11 21:57:48 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1贡献
采集陀螺仪AD显示至虚拟示波器,只有到200+的值而已。我觉得是我对各种数据类型和串口发送的函数还不够了解。我用的是野火的旧库,示波器用的是山外的多功能调试助手,希望大家能指点指点。void main()
{
...........省略之前琐碎
   while(1)
   {
      var=0;    //将采集的加速度值清零重新采集
      gyro=0;   //将采集的陀螺仪值清零重新采集
      for(i=0;i<20;i++)
      {
        var=var+ad_once (ADC1,SE7a,ADC_8bit); //在ADC1_SE6a上采样二十次8位精度加速度计
        gyro=gyro+ad_once (ADC1,SE6a,ADC_8bit); //在ADC1_SE7a上采样二十次8位精度陀螺仪
      }
      var=var/20;                           //AD值取20次取平均值
      gyro=gyro/20;
      vcan_sendware((uint8_t *)&var,(uint8_t *)&gyro,sizeof(var));

   }
}

void vcan_sendware(uint8 *addr1,uint8 *addr2 , uint32 waresize)    //发送一次数据(双通道)
{
#define CMD_WARE   3
  uint8 cmdf[2] = {CMD_WARE, ~CMD_WARE};    //串口调试 使用的前命令
  uint8 cmdr[2] = {~CMD_WARE, CMD_WARE};    //串口调试 使用的后命令

  uart_sendN(UART1,cmdf,sizeof(cmdf));      //先发送前命令
  uart_sendN(UART1,addr1,8);           //发送数据1
  time_delay_ms(10);
  uart_sendN(UART1,addr2,8);           //发送数据2
  uart_sendN(UART1,cmdr,sizeof(cmdr));      //发送后命令
}


回复

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
2#
发表于 2015-3-11 22:04:29 | 只看该作者
:L8位数据怎么来的好几千
回复

使用道具 举报

18

主题

301

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4946
威望
2641
贡献
1439
兑换币
1337
注册时间
2014-8-31
在线时间
433 小时
毕业学校
河海大学
3#
 楼主| 发表于 2015-3-11 22:08:19 | 只看该作者
zhou1994 发表于 2015-3-11 22:04
8位数据怎么来的好几千

说的是啊。。。可是换16位之后。。连显示都不显示了
回复

使用道具 举报

18

主题

301

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4946
威望
2641
贡献
1439
兑换币
1337
注册时间
2014-8-31
在线时间
433 小时
毕业学校
河海大学
4#
 楼主| 发表于 2015-3-11 22:10:10 | 只看该作者
zhou1994 发表于 2015-3-11 22:04
8位数据怎么来的好几千

呃。。补充一下。。。发送串口的函数。。只支持发送8位呃。。。有什么办法能让它发送16位的数据吗
回复

使用道具 举报

32

主题

3009

帖子

0

精华

杰出人士

学期班的来卖萌?

Rank: 12Rank: 12Rank: 12

积分
14832

在线王奖章活跃会员奖章优秀会员奖章论坛元老奖章资源大师奖章

威望
5952
贡献
3172
兑换币
4257
注册时间
2013-11-26
在线时间
2854 小时
5#
发表于 2015-3-11 22:20:20 | 只看该作者
zty562694497 发表于 2015-3-11 22:10
呃。。补充一下。。。发送串口的函数。。只支持发送8位呃。。。有什么办法能让它发送16位的数据吗

拆成两个8位然后再组成一个16位撒。不过你需要自己写上位机了估计
回复

使用道具 举报

18

主题

301

帖子

0

精华

常驻嘉宾

Rank: 8Rank: 8

积分
4946
威望
2641
贡献
1439
兑换币
1337
注册时间
2014-8-31
在线时间
433 小时
毕业学校
河海大学
6#
 楼主| 发表于 2015-3-12 10:38:48 | 只看该作者
zhou1994 发表于 2015-3-11 22:20
拆成两个8位然后再组成一个16位撒。不过你需要自己写上位机了估计

QAQ
回复

使用道具 举报

10

主题

1514

帖子

0

精华

金牌会员

智能车,首选泰庆

Rank: 6Rank: 6

积分
1715

活跃会员奖章在线王奖章

QQ
威望
427
贡献
400
兑换币
497
注册时间
2014-11-4
在线时间
444 小时
7#
发表于 2015-3-12 11:57:21 | 只看该作者
估计是上位机代码的限制。
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 22:29 , Processed in 0.073294 second(s), 27 queries , Gzip On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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