头像-71440

999

  • 上海市上海市
  • 单片机 嵌入式
  • 计算机网络

个人成就

获得 67 次赞

帮助过40人

stm32 如何控制pwm脉冲数量 ?如何控制幅值?

本帖最后由 999 于 2016-8-2 17:45 编辑 看楼主的提问是: stm32 如何控制pwm脉冲数量 ? 如何控制幅值? 第一个问题,缩短STM32的PWM周期,即提高了单位时间内输出脉冲数量,反之减少。和占空比无关(不是0或者100%就行了)。如果非连续的控制脉冲数量,可使用另外的定时器预分频来控制PWM的定时器输出。第二个问题,PWM幅值和该IO口的高电平的电压值相同(或者说几乎相同),如果想输出更低、更高的幅值,就得借助其它电路了,比如简单的用电阻分压,或者三极管、mos管、光耦、继电器(低频)、等等,具体的方案一定要看你想要输出的幅值、频率、上升下降时间等要求。

学习嵌入式的几个软件工具有哪些啊?

学习嵌入式的软件有哪些?或者问嵌入式怎么学? 这样的问题,太过笼统,也很多人问,三言两语不易说清。这里我多啰嗦几句希望对需要的人有所帮助。 嵌入式粗略可分为由硬件载体和软件,是一个大的系统。(注意:嵌入式系统和嵌入式操作系统,概念不要弄混!) 无论硬件还是软件部分,相对应的工具、开发软件太多了。 详细的概念,百度一下估计有很多文章,我也不copy或者发链接了。 这里简单说一下自己的认识: 嵌入式硬件开发主要是以某种MCU、MPU、DSP、DSC、FPGA等为核心并加上应用模块、电路构成的系统。 这些硬件载体无论是相关EDA软件还是集成开发环境,都各有不同。最直接的方法就是到其官网查看datasheet、manual和开发工具。 嵌入式软件开发是基于硬件的(这并不是废话,如果想在51上跑linux那是不可能的): 可以裸机运行,也可以用嵌入式操作系统。嵌入式操作系统,额。。。好多,lz可自行百度一下。 简单复杂的都好多:freeRTOS、ucos、linux、wince、vxworks、Android、ios。。。。。。 每种操作系统的开发环境、编程语言可能都不一样,所以相关开发软件工具也很多。 基于某种操作系统的软件开发又分为底层驱动、内核、系统、应用层等等。。 可能一个计算机专业的没接触过硬件的,也能做嵌入式应用程序开发。 比如java开发Android、oc、swift开发ios。基于linux的直接进行c、python应用开发。不同的语言也有不同的开发环境、不同的软件工具。 开发不同的功能模块也有不同的软件工具,比如数据库、Qt、ble、wifi、图形图像处理等等等,相关工具软件多如牛毛 综上,希望帮助lz了解一些概念。根据自己的实际情况选好硬件和相应的软件再去搜索一下应该会得到很多具体的答案。

智能小车轨迹问题

相关的大学生比赛比如有 电脑鼠走迷宫 机器人游中国 早几届的飞思卡尔智能汽车竞赛(现在的恩智浦没人采用记忆算法了) 等等 去下载他们的技术报告,这东西百度一下就行了。 自己找资料也是一种锻炼,我要是发链接出来,能发百十来个,没啥意思。

智能小车轨迹问题

看lz的提问,不由得想起早几届的飞思卡智能汽车竞赛。那时试车时间有60s,某些参赛队伍比如清华就想利用试车来检测赛道,从而应用记忆算法。 这里的问题就是看你想要记录轨迹的精度,和你想要轨迹的维度。如果要求比较低,也就无所谓了。如果要求高那么要注意以下几点: 首先,光电码盘精度比较低,但即使使用分辨率高的高线旋转编码器也避免不了一个重要的问题:由码盘转换来的速度不是实际车对地的速度。 这一问题在有差速器的车模上更为突出。由于差速器的存在,在轮子阻力不一(通常如此),或需要差速时如转弯,每个轮子的速度都不一样。在轮子高阻力的时候,比如轮子抱死已经不动,但驱动电机仍在运行。或者遇到坑洼处单个轮子悬空,悬空轮子的速度和其它轮子都不一样。 使用码盘时,通常安装在轮子上。由以上可知轮子速度不等于车速。 当使用旋转编码器时,通常安装在驱动轮组上。这个只是测得电机的速度,做闭环PID控制。由以上可知,某些情况驱动电机的速度并不是实际车对地的速度。 假设你是四轮车,有一个方法是拖一个含避震器的第五轮在中间位置,用第五轮的速度来约等车实际对地的速度。虽然仍有很多问题,但至少要比处理多轮速度要来的简单。这第五轮类似轮式测距仪。 用第五轮测速的问题是,不知道方向。这里可参考轨迹球,类似老式机械鼠标中的球。可以拖一个轨迹球来测得x-y两轴方向上的速度。或者利用光电鼠标的原理,对比处理分析图像测速。 如果地面是有一定条件的的,如平整的、有围墙、或者有格子的这样可以不用码盘,可以使用其它传感器如超声波、光电对管等建立参考系。 如果说使用GPS那是瞎扯蛋,精度低,尤其在室内就废了。室内定位技术炒了好几年也没有啥突破,蓝牙zigbee什么的问题也很多。不过UWB测距精度较高,但成本也高。以上

FireBLE串口接收问题

seraph 发表于 2016-7-28 21:21 已经确定了,串口调试助手发送时没有进入UART0_RX_IRQHandler 但是我比较纳闷的是原厂的程序我都没有去改 ... 你按我上边说的,不用中断试试能不能收到。 如果能收到,至少说明连线、usb转ttl没问题。 然后再排查中断设置是否有问题。 主函数uart_read和 uart_write中,参数不要用10,写个1就行,这样只接收1个字符就会回调函数。

FireBLE串口接收问题

seraph 发表于 2016-7-28 12:08 感觉上没有进入这个中断 这不是感觉出来的,单片机这点很方便,直接设置断点调试。若进入中断就会停止。 你也可以试一下不使用中断接收: 默认的配置是使用中断的,在uart/src/driver_config.h 中把TRUE改为FALSE,则关闭串口接收中断。使用轮询方法读取串口接收的数据。 src/dirver/uart.c: 在该文件中就是用条件编译项来选择是否使用中断。由上边的配置文件配置。

FireBLE串口接收问题

你的理解是对的。 该例程中就是使用中断来接收数据, 当收到10个字符时,在中断中调用回调函数,在该函数中会设置rx_flag为1。 首先确保你的线或者板子上的usb转ttl没问题。 设置断点调试吧,在中断函数中开始的位置设置断点,jtag连接,进入debug模式运行,用串口助手连续发送字符,看是否能触发并进入中断。uart.c :

求LM5117数控恒压电路

本帖最后由 999 于 2016-7-26 21:52 编辑 官方滴应用电路不行吗?lm5117的恒压、恒流的应用电路都有: