问答

汇集网友智慧,解决技术难题

tianxj01

TA的家园币:1375  

  • 测试STC32G浮点计算性能

    本帖最后由tianxiongweitxw于2022-12-1513:11编辑为了测试STC32G的浮点运算性能,设计了下面一段代码:u16i=0;P24=1;//delay_ms(10);for(i=0;i

    单片机

    2022-12-15 4
  • MOS管做开关无法彻底关闭

    做一个无线温湿度传感器,使用AO3401,P沟道MOS管做开关,控制CC1310的电源和DHT11的电源。STM32F030进入待机模式,通过RTC定时唤醒,唤醒后读取温湿度,通过无线发送,再进入待机模式。问题是:没焊接DHT11,CC1310模组,其他都焊上,测试AO3401的打开、关闭,量电源正常,低电平打开,DHT11和CC1310电源处的电压是3.3V;高电平关闭AO3401,电压是0。当焊接上DHT11,CC1310的时候,CC1310的电源关闭时是2.3;DHT11一直是3.3。使用万用表量单片机IO脚,电平翻转正常,0和3.3V。后面将DHT11的数据脚、CC1310的串口那2个引脚都设为输入模式,DHT11的电源打开和关闭正常,CC1310在关闭时是1.3,还是不正常。现在不知道什么原因,向大家请教。图在楼下。

    stm32f030 低功耗 MOS管

    2022-10-12 20
  • 求多任务系统中步进减速电机平稳运行的思路

    调了好几天都没搞定,发现步进电机驱动起来很简单,但是要想电机转动平稳太难了,尤其是在多任务的系统中。用的是24BJY48步进减速电机,四相八拍方式,步距角是5.625°,用的是脉冲驱动方式。我的系统现在有多个任务,就是在while(1)循环中有好几个函数需要执行,步进电机驱动是其中一个,现在如果把步进电机测试函数单独放在while(1)中,如下intmain(void){while(1){motor_test();//步进电机驱动}}那么步进电机运转很丝滑,很平稳,我通过多次调试找到了延时设置为1500us时,电机运转最平稳,当然这只限于while(1)中只有这一个函数时,如果我同时运行其他任务,如下intmain(void){while(1){motor_test();//步进电机驱动read_sensor();status_update();}}voidmotor_test(){PAH;PBL;PCL;PDL;SysTick_delay_us(1500);PAH;PBH;PCL;PDL;SysTick_delay_us(1500);PAL;PBH;PCL;PDL;SysTick_delay_us(1500);PAL;PBH;PCH;PDL;SysTick_delay_us(1500);PAL;PBL;PCH;PDL;SysTick_delay_us(1500);PAL;PBL;PCH;PDH;SysTick_delay_us(1500);PAL;PBL;PCL;PDH;SysTick_delay_us(1500);PAH;PBL;PCL;PDH;SysTick_delay_us(1500);}那么,电机会转起来,但是会产生震动,怎么调整延时值都没用,1500上下的延时我都试过了,一样震动,可能有人会说,用定时器中断,我当然试过,而且调试了很长时间,一样的结果也是震动,我知道是其他程序影响了电机运转,但不至于对时间要求这么精确把?其他的程序执行会分掉时间,但不至于会影响到电机这么严重吧?实际项目中不可能只有电机控制这一个函数,肯定是多个函数一起运行的。我甚至把这两个函数read_sensor();和status_update();用时间片轮询的方法写了一遍,就是给他们分配更长的执行时间,让步进电机执行时间尽可能短,也还是不行,还是震动。真的没有思路了,大家有什么好的思路吗?可以解决震动问题

    2022-08-03 16
  • GD32F303VET6打开PWM, 严重影响中断的接收实时性

    GD32F303VET6打开PWM,改变频率,重复初始化TIMER3,改变ARR值,第2次调用以后严重影响中断的接收实时性,UART口的接收中断有时候无法触发,系统资源被PWM严重占用

    2022-07-04 5
  • 求时间校准的算法

    问题是:采用DS1302获取时间,可是长时间会有误差,想求一套时间校准的算法来校准误差

    DS1302 时间校准算法

    2022-05-21 14
  • 模拟开关切换音频信号

    本帖最后由slovef2199于2021-11-1612:56编辑系统输出音频通过两个喇叭,通过模拟开关切换音频信号出现问题,切换不完全,总是都有声音。比如COM---NO,那么NC接的喇叭也有声音,且声音不太正常,比较刺耳,同样切换到NC后,NO的喇叭也是比较刺耳的声音。模拟开关的寄生电容会导致这个现象吗》我查着好多音频切换都是模拟开关的。。电路如下,请大家帮忙分析,图上只贴出一路喇叭,另一路相同

  • 这个220转5V的降压电路,有认识的能讲解一下降压原理吗?

    本帖最后由kt98741于2021-9-1810:51编辑这个电路是220转5V电路,其中有一个sot23封装的元件百度不到,不知道是什么,降压原理也看不懂,有能看懂的兄弟能帮忙说一下原理吗?

    降压电路 AC 元件 封装

    2021-09-18 4
  • 点亮流水灯只能用延时函数吗?

    本人用delay函数可以成功完成流水灯,但是用for却失败了,问了C语言老师,他也不清楚,请问该如何修改呢?谢谢。/*成功*/。#include#include#defineuintunsignedint#defineucharunsignedcharuchartemp;voiddelay();voidmain(){temp=0xfe;P1=temp;while(1){temp=_crol_(temp,1);delay();P1=temp;}}voiddelay(){uintx,y;for(x=1000;x>0;x--)for(y=200;y>0;y--);}/*失败*/#include#includesbitp1_1=P1^0;#defineucharunsignedchar//宏定义#defineuint2unsignedintuchartemp;//字符型,要8位的,uchar是8位的unsignedinta;voiddelay(uint2);voidmain(){temp=0xfe;p1_1=temp;while(1){temp=_crol_(temp,1);uint2x,y;a=50000;p1_1=temp;while(a--);for(x=130;x>0;x--)for(y=452;y>0;y--);a=50000;p1_1=temp;while(a--);for(x=130;x>0;x--)for(y=452;y>0;y--);}}

  • 航顺单片机程序总是死

    程序死在了自带库的微秒延时voidBSP_SYSTEM_Delay_us(uint32_tusCnt){/*SysTickdefaultclocksource:HCLK/8=32MHz/8=4MHz*/SysTick->LOAD=4*usCnt;/*ClearSysTickcurrentcountervalue*/SysTick->VAL=0;/*EnableSysTickcounter*/SysTick->CTRL=SysTick_CTRL_ENABLE_Msk;/*WaitforSysTickcounterto0*/while(!(SysTick->CTRL&SysTick_CTRL_COUNTFLAG_Msk))//死在这一部{}/*DisableSysTickcounter*/SysTick->CTRL=~SysTick_CTRL_ENABLE_Msk;/*ClearSysTickcurrentcountervalue*/SysTick->VAL=0;}

    单片机程序 ck ST systick ic TI

    2021-09-08 4
  • 单片机C语言中有符号数如何向无符号数转换

    单片机C语言中有符号数如何向无符号数转换

  • 485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?

    485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?485通讯偶尔出现第一个字节或者前两个字节丢失怎么办?

    通讯

    2021-03-11 12
  • 有什么限流器件

    稳压二级管并联到负载两端,能够限制加到负载的电压,有没有什么器件串联或并联在负载上,限制通过负载的电流?

  • MINI58模拟比较器问题

    使用MINI58做了一款无刷马达控制器,使用到内部模拟比较器1,批量生产的时候出现了5%左右的马达驱动不顺畅。分析发现单独只配置好模拟比较器,转动马达检测过零信号,没问题的板子过零信号非常的准确,刚好在比较器的输入+和输入-电压相等的瞬间比较器翻转,但是有问题的板子,过零信号偏差比较多。请问模拟比较器除了按照数据手册上面配置好,对应的IO口设置为输入状态,配置成对应的功能。还有什么需要注意的地方吗?有没有校准功能?

  • 发现可控硅调光中斩波交流电的一个现象,求原理

    用可控硅调光器将交流电做部分切波,切过的波形如图波型1,给可控硅调光电源供电,连线如图所示。L1处的波形如“波形1”所示。这时如果用一条比较长的线,把它平铺在地板上,让线尽可能地紧贴地面,线的一头连到L1处,另一头悬空,整个导线的金属部分没有碰到地,这时发现交流电被斩波的地方,居然带电了。波形类似“波型2”我再三确认了电源部分的电路,交流电一进去就是一个整流桥,后面电路的电流不可能回流到电路中,那么红色部分的电压是从哪来的,怎样可以消除?

  • 如何使用一个GPIO管脚控制红灯和绿灯交替显示?

    想使用一个单片机GPIO口,5V电平,控制两个12V的灯(红灯和绿灯),实现高电平红灯亮,低电平绿灯亮,有什么简单低成本的实现途径?请大家给出出主意,谢谢!

123下一页