o景天o

  • 2020-03-10
  • 回复了主题帖: 单片机中delay的问题

    sint27 发表于 2020-3-10 17:10 没错,实际上跟delay区别不大
    那想请教一下,像是按键检测里面,那个delay'(消抖)该怎么去掉呢。怎么去写呢。还有这个led我这样写是否会好一点? if ((vtimer_expired(&vt_led))                 //超时返回1 {        led_display();                                      //灯翻转程序        vtimer_set(&vt_led, 2000);                //设定间隔时间 }

  • 回复了主题帖: 单片机中delay的问题

    dcexpert 发表于 2020-3-10 15:23 delay采用单片机循环等待方式,是一种阻塞机制,系统在delay状态下不能处理其它任务,所以效率低。 &nbs ...
    那我这么写是不是还是就等于用的delay啊。灯亮了,等待时间,等时间到了才去执行下一步,灯翻转。。

  • 回复了主题帖: 51单片机数码管串口通信

    本帖最后由 o景天o 于 2020-3-10 15:14 编辑
     

  • 发表了主题帖: 单片机中delay的问题

    本人单片机小白一名,之前在写程序的时候,老师提到,我程序中的delay太多,无法放到实际中去运用。给我推荐了vt_time的方式,采用定时器去做计时。 我这边写了段亮灯程序 void main() {         system_init();         while(1)         {                 led_display();                                      //灯翻转程序                 vtimer_set(&vt_led, 2000);                //设定间隔时间                 while (!vtimer_expired(&vt_led));      //判断是否到时间         } }   请问这么写可以么,我感觉我写的思路和delay是一样的没区别,单片机在处理的时候会有什么不一样的地方么?单片机在处理该段定时的时候,仍处于空转的状态吧?

  • 2019-12-30
  • 回复了主题帖: 使用lis3dsh加速度传感器计算倾角

    littleshrimp 发表于 2019-12-30 16:15 你再检查一下你的通信是否正常,还有LIS3DSH的WHO_AM_I是多少,读到的和数据手册是否一致 我刚看了数 ...
    0.0  你这么一说,我倒是想起来了,3DH的WHO_AM_I是0x33...我在看下,他们这个芯片是不是错了

  • 回复了主题帖: 使用lis3dsh加速度传感器计算倾角

    littleshrimp 发表于 2019-12-27 17:43 代码里没有判断XDA标志,数据可能在没有准备好时被读出 你可以在每次读取时加大于10ms的延时,或者读 ...
    我这边修改了以后,感觉从寄存器里读回的数据还是不对呀。在我不动芯片的时候,高位数据一直能读到数据。但是我以前用ADX345的时候高位都是没数据回来的,是这芯片就这样的么? 我看你这边还有用i2c_read_n_byte去读7组数据,可是我连续读取的时候,只能读到X_L数据。(同样的函数,读取ADX345就没问题) 这句   ax = (buf[3] + (buf[4] << 8)) * 0.06 + 2;这里*0.06+2是为什么呢?

  • 2019-12-27
  • 回复了主题帖: 使用lis3dsh加速度传感器计算倾角

    littleshrimp 发表于 2019-12-25 18:17 检查供电和通信波形 自己焊的板子看看焊接是否正常
    多谢,已经可以正常通信了,可是我在读XYZ参数的时候,模块没有移动,却跳变的很厉害,应该是不正常的,可能是什么原因呢。我这里读了下X的数据信息。

  • 2019-12-25
  • 回复了主题帖: 使用lis3dsh加速度传感器计算倾角

    大佬,为什么我用的例程调试的时候,一直读不到模块的应答呢。

最近访客

现在还没有访客

< 1/0 >

统计信息

已有--人来访过

  • 芯币:18
  • 好友:--
  • 主题:1
  • 回复:7
  • 课时:--
  • 资源:--

留言

你需要登录后才可以留言 登录 | 注册


现在还没有留言