头像-125072

hehung

  • 23385
  • 单片机、嵌入式、传感器/MEMS
  • 汽车电子

个人成就

获得 334 次赞

帮助过788人

一个MCU按键如何实现 长按开机 和 长按关机?

如果实现按下2s才开机的话是需要唤醒之后做定时器操作的,唤醒之后计时2s并且在这个计时过程中判断中断引脚的IO口的状态,如果2s以内就松开了的话就再次进入休眠模式,2s之后都没有松开就执行唤醒之后的逻辑或者看门狗复位唤醒

codewarrior如何查看堆栈的使用率

已经知道了,可以通过程序运行的时候查看ARM使用情况就知道了

为什么要使用补码表示负数?

因为补码用来解决负数的问题,这样就可以方便计算

openmv可以用于人脸识别吗

可以进行人脸识别的,我记得正点原子就有例子的

这个单片机继电器的控制器程序实在是不知道怎么写了 求指点

你出这个程序实现起来不麻烦,重要的是高电平的捕获和时间计数,不知道你使用的是什么单片机,如果是51单片机的话,51单片机有定时器和外部中断,你可以使用定时器计时。1、初始化定时器中断,中断时间是每10ms(这是10ms是根据你的状态变化的精度来的额,可以自行设置进入定时器中断的时间)进入一次中断并设置2个变量counter1(用来记录60s)和counter2(用来记录10s)来记录状态改变之后的时间;2、设置两个变量记录IO口状态(触发信号的状态),一个变量兼做current_state另一个口叫做last_state,分别表示当前IO口的状态和上一次IO口的状态,并且每次进入定时器的时候判断这个IO口的状态伪代码如下:if(current_state ==1 && last_state == 0)   //收到触发信号{    counter1 = 1;   //清空之前的计数值,准备重新开始计数}else if(current_state ==1 && last_state == 1)  //触发信号保持{    counter1++;        //开始计数}else  if(current_state ==0 && last_state == 1) //触发信号关闭{    counter1 = 0;            //清空计数值    counter2 = 0;}else{    counter1 = 0;            //清空计数值    counter2 = 0;​}if(counter1 >= 6000)  //计数60s{    counter1 = 6000;   //数值不在继续变大,避免数据溢出    counter2 =1;   //10s即使开始}if(counter2 != 0)   //开始计数{    counter2 ++;    if(counter2 >= 1000)    {        counter2 = 1000;       关闭继电器    }}

请问电动伸缩杆这个应该怎么寻找芯片跟硬件(基于单片机控制)?

伸缩杆其实就是电机,需要电机驱动,如果是做项目的话,伸缩杆应该是可以在某宝上面没都买的,卖家都会提供资料的,i你可以根据资料购买相应的电机驱动进行驱动

加速度传感器怎么测量速度

对加速度进行积分就可以计算速度,但是一般情况下京都不会很高

程序中断里面嵌套程序中断会造成什么影响

现在的单片机时cortex-M3及以上框架的,是支持中断嵌套的,一般情况先只要程序写的逻辑正确就不会存在什么影响,注意不要在嵌套中断的时候操作中断,也就是再嵌套中断的时候修改中断优先级,使能/禁能中断等